예제 #1
0
    def test_write_image_Imageio(self):
        """
        Tests :func:`colour.io.image.write_image_Imageio` definition.
        """

        source_image_path = os.path.join(RESOURCES_DIRECTORY,
                                         'CMS_Test_Pattern.exr')
        target_image_path = os.path.join(self._temporary_directory,
                                         'CMS_Test_Pattern.exr')
        image = read_image_Imageio(source_image_path)
        write_image_Imageio(image, target_image_path)
        image = read_image_Imageio(target_image_path)
        self.assertTupleEqual(image.shape, (1267, 1274, 3))
        self.assertIs(image.dtype, np.dtype('float32'))
예제 #2
0
    def test_write_image_Imageio(self):
        """Test :func:`colour.io.image.write_image_Imageio` definition."""

        source_image_path = os.path.join(RESOURCES_DIRECTORY,
                                         "Overflowing_Gradient.png")
        target_image_path = os.path.join(self._temporary_directory,
                                         "Overflowing_Gradient.png")
        RGB = np.arange(0, 256, 1, dtype=np.uint8)[np.newaxis] * 2
        write_image_Imageio(RGB, target_image_path, bit_depth="uint8")
        image = read_image_Imageio(source_image_path, bit_depth="uint8")
        np.testing.assert_equal(np.squeeze(RGB), image)

        source_image_path = os.path.join(RESOURCES_DIRECTORY,
                                         "CMS_Test_Pattern.exr")
        target_image_path = os.path.join(self._temporary_directory,
                                         "CMS_Test_Pattern.exr")
        image = read_image_Imageio(source_image_path)
        write_image_Imageio(image, target_image_path)
        image = read_image_Imageio(target_image_path)
        self.assertTupleEqual(image.shape, (1267, 1274, 3))
        self.assertIs(image.dtype, np.dtype("float32"))
예제 #3
0
    def test_read_image_Imageio(self):
        """
        Tests :func:`colour.io.image.read_image_Imageio` definition.
        """

        image = read_image_Imageio(
            os.path.join(RESOURCES_DIRECTORY, 'CMS_Test_Pattern.exr'))
        self.assertTupleEqual(image.shape, (1267, 1274, 3))
        self.assertIs(image.dtype, np.dtype('float32'))

        image = read_image_Imageio(
            os.path.join(RESOURCES_DIRECTORY, 'CMS_Test_Pattern.exr'),
            'float16')
        self.assertTupleEqual(image.shape, (1267, 1274, 3))
        self.assertIs(image.dtype, np.dtype('float16'))

        image = read_image_Imageio(
            os.path.join(RESOURCES_DIRECTORY, 'Single_Channel.exr'))
        self.assertTupleEqual(image.shape, (256, 256))

        image = read_image_Imageio(
            os.path.join(RESOURCES_DIRECTORY, 'Colour_Logo.png'), 'uint8')
        self.assertTupleEqual(image.shape, (128, 256, 4))
        self.assertIs(image.dtype, np.dtype('uint8'))
        self.assertEqual(np.min(image), 0)
        self.assertEqual(np.max(image), 255)

        image = read_image_Imageio(
            os.path.join(RESOURCES_DIRECTORY, 'Colour_Logo.png'), 'uint16')
        self.assertTupleEqual(image.shape, (128, 256, 4))
        self.assertIs(image.dtype, np.dtype('uint16'))
        self.assertEqual(np.min(image), 0)
        self.assertEqual(np.max(image), 65535)

        image = read_image_Imageio(
            os.path.join(RESOURCES_DIRECTORY, 'Colour_Logo.png'), 'float16')
        self.assertIs(image.dtype, np.dtype('float16'))
        self.assertEqual(np.min(image), 0.0)
        self.assertEqual(np.max(image), 1.0)

        image = read_image_Imageio(
            os.path.join(RESOURCES_DIRECTORY, 'Colour_Logo.png'), 'float32')
        self.assertIs(image.dtype, np.dtype('float32'))
        self.assertEqual(np.min(image), 0.0)
        self.assertEqual(np.max(image), 1.0)