コード例 #1
0
ファイル: test_image.py プロジェクト: vanthaiunghoa/kwiver
        def _test_numpy(dtype_name, nchannels, order='c'):
            if nchannels is None:
                shape = (5, 4)
            else:
                shape = (5, 4, nchannels)
            size = np.prod(shape)

            dtype = np.dtype(dtype_name)

            if dtype_name == 'bool':
                np_img = np.zeros(size, dtype=dtype).reshape(shape)
                np_img[0::2] = 1
            else:
                np_img = np.arange(size, dtype=dtype).reshape(shape)

            if order.startswith('c'):
                np_img = np.ascontiguousarray(np_img)
            elif order.startswith('fortran'):
                np_img = np.asfortranarray(np_img)
            else:
                raise KeyError(order)
            if order.endswith('-reverse'):
                np_img = np_img[::-1, ::-1]

            vital_img = Image(np_img)
            recast = vital_img.asarray()

            if nchannels is None:
                # asarray always returns 3 channels
                np_img = np_img[..., None]

            pixel_type_name = vital_img.pixel_type_name()

            if dtype_name == 'float16':
                want = 'float16'
            if dtype_name == 'float32':
                want = 'float'
            elif dtype_name == 'float64':
                want = 'double'
            else:
                want = dtype_name

            assert pixel_type_name == want, 'want={} but got={}'.format(
                want, pixel_type_name)

            if not np.all(np_img == recast):
                raise AssertionError(
                    'Failed dtype={}, nchannels={}, order={}'.format(
                        dtype_name, nchannels, order))
コード例 #2
0
ファイル: test_image.py プロジェクト: Kitware/kwiver
        def _test_numpy(dtype_name, nchannels, order='c'):
            if nchannels is None:
                shape = (5, 4)
            else:
                shape = (5, 4, nchannels)
            size = np.prod(shape)

            dtype = np.dtype(dtype_name)

            if dtype_name == 'bool':
                np_img = np.zeros(size, dtype=dtype).reshape(shape)
                np_img[0::2] = 1
            else:
                np_img = np.arange(size, dtype=dtype).reshape(shape)

            if order.startswith('c'):
                np_img = np.ascontiguousarray(np_img)
            elif order.startswith('fortran'):
                np_img = np.asfortranarray(np_img)
            else:
                raise KeyError(order)
            if order.endswith('-reverse'):
                np_img = np_img[::-1, ::-1]

            vital_img = Image(np_img)
            recast = vital_img.asarray()

            if nchannels is None:
                # asarray always returns 3 channels
                np_img = np_img[..., None]

            pixel_type_name = vital_img.pixel_type_name()

            if dtype_name == 'float16':
                want = 'float16'
            if dtype_name == 'float32':
                want = 'float'
            elif dtype_name == 'float64':
                want = 'double'
            else:
                want = dtype_name

            assert pixel_type_name == want, 'want={} but got={}'.format(
                want, pixel_type_name)

            if not np.all(np_img == recast):
                raise AssertionError(
                    'Failed dtype={}, nchannels={}, order={}'.format(
                        dtype_name, nchannels, order))
コード例 #3
0
        def _test_numpy(dtype_name, nchannels, order='c'):
            np_img = create_numpy_image(dtype_name, nchannels, order)
            vital_img = Image(np_img)
            recast = vital_img.asarray()
            # asarray always returns 3 channels
            np_img = np.atleast_3d(np_img)
            pixel_type_name = vital_img.pixel_type_name()
            want = map_dtype_name_to_pixel_type(dtype_name)

            assert pixel_type_name == want, 'want={} but got={}'.format(
                want, pixel_type_name)

            if not np.all(np_img == recast):
                raise AssertionError(
                    'Failed dtype={}, nchannels={}, order={}'.format(
                        dtype_name, nchannels, order))
コード例 #4
0
 def test_getitem_bool(self):
     img = Image(720, 480, 1, True, Image.PIXEL_BOOL, 1)
     nose.tools.assert_equal(img.pixel_type_name(), "bool")
     val1 = img[0,0]
     val2 = img[0,0,0]
     nose.tools.assert_equal(val1, val2)
コード例 #5
0
 def test_getitem_double(self):
     img = Image(720, 480, 3, True, Image.PIXEL_FLOAT, 8)
     nose.tools.assert_equal(img.pixel_type_name(), "double")
     val1 = img[0,0]
     val2 = img[0,0,0]
     nose.tools.assert_equal(val1, val2)
コード例 #6
0
 def test_getitem_int32(self):
     img = Image(720, 480, 3, True, Image.PIXEL_SIGNED, 4)
     nose.tools.assert_equal(img.pixel_type_name(), "int32")
     val1 = img[0,0]
     val2 = img[0,0,0]
     nose.tools.assert_equal(val1, val2)
コード例 #7
0
 def test_getitem_uint8(self):
     img = Image(720, 480)
     nose.tools.assert_equal(img.pixel_type_name(), "uint8")
     val1 = img[0,0]
     val2 = img[0,0,0]
     nose.tools.assert_equal(val1, val2)
コード例 #8
0
ファイル: test_image.py プロジェクト: Kitware/kwiver
 def test_getitem_bool(self):
     img = Image(720, 480, 1, True, Image.PIXEL_BOOL, 1)
     nose.tools.assert_equal(img.pixel_type_name(), "bool")
     val1 = img[0,0]
     val2 = img[0,0,0]
     nose.tools.assert_equal(val1, val2)
コード例 #9
0
ファイル: test_image.py プロジェクト: Kitware/kwiver
 def test_getitem_double(self):
     img = Image(720, 480, 3, True, Image.PIXEL_FLOAT, 8)
     nose.tools.assert_equal(img.pixel_type_name(), "double")
     val1 = img[0,0]
     val2 = img[0,0,0]
     nose.tools.assert_equal(val1, val2)
コード例 #10
0
ファイル: test_image.py プロジェクト: Kitware/kwiver
 def test_getitem_int32(self):
     img = Image(720, 480, 3, True, Image.PIXEL_SIGNED, 4)
     nose.tools.assert_equal(img.pixel_type_name(), "int32")
     val1 = img[0,0]
     val2 = img[0,0,0]
     nose.tools.assert_equal(val1, val2)
コード例 #11
0
ファイル: test_image.py プロジェクト: Kitware/kwiver
 def test_getitem_uint8(self):
     img = Image(720, 480)
     nose.tools.assert_equal(img.pixel_type_name(), "uint8")
     val1 = img[0,0]
     val2 = img[0,0,0]
     nose.tools.assert_equal(val1, val2)