Error testing SciPy

When testing scipy using the nose package using scipy.test() , the test passes under Ubuntu 12.04 with vanilla packages installed. Should I worry, and if so, how can I fix it?

 In [8]: scipy.test() Running unit tests for scipy NumPy version 1.5.1 NumPy is installed in /usr/lib/python2.7/dist-packages/numpy SciPy version 0.9.0 SciPy is installed in /usr/lib/python2.7/dist-packages/scipy Python version 2.7.2+ (default, Jan 21 2012, 23:31:34) [GCC 4.6.2] nose version 1.1.2 [................] ====================================================================== FAIL: test_io.test_imread ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest self.test(*self.arg) File "/usr/lib/python2.7/dist-packages/numpy/testing/decorators.py", line 146, in skipper_func return f(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/scipy/ndimage/tests/test_io.py", line 16, in test_imread assert_array_equal(img.shape, (300, 420, 3)) File "/usr/lib/python2.7/dist-packages/numpy/testing/utils.py", line 686, in assert_array_equal verbose=verbose, header='Arrays are not equal') File "/usr/lib/python2.7/dist-packages/numpy/testing/utils.py", line 579, in assert_array_compare raise AssertionError(msg) AssertionError: Arrays are not equal (shapes (2,), (3,) mismatch) x: array([300, 420]) y: array([300, 420, 3]) ---------------------------------------------------------------------- Ran 3780 tests in 32.328s FAILED (KNOWNFAIL=11, SKIP=20, failures=1) 
+6
source share
1 answer

If you look inside /usr/lib/python2.7/dist-packages/scipy/ndimage/tests/test_io.py , you should see:

 def test_imread(): lp = os.path.join(os.path.dirname(__file__), 'dots.png') img = ndi.imread(lp) assert_array_equal(img.shape, (300, 420, 3)) img = ndi.imread(lp, flatten=True) assert_array_equal(img.shape, (300, 420)) 

This test seems to test if flatten=True converts an RGB image to a 1-bit grayscale image.

On my Ubuntu 11.10 system, however, dots.png is already a 1-bit image file:

 % file /usr/share/pyshared/scipy/ndimage/tests/dots.png /usr/share/pyshared/scipy/ndimage/tests/dots.png: PNG image data, 420 x 300, 1-bit colormap, non-interlaced 

If I perform a test (manually) on an RGBA image, then the test works:

 In [18]: z = ndi.imread('image.png') In [20]: z.shape Out[20]: (250, 250, 4) In [24]: w = ndi.imread('image.png', flatten = True) In [25]: w.shape Out[25]: (250, 250) 

Therefore, I don’t think that there is anything serious here, it’s just possible that the dots.png file that was sent should have been an RGB image instead of a shade of gray.

+11
source

Source: https://habr.com/ru/post/908206/


All Articles