def test_n_dimensional_RGB_to_YCoCg(self): """ Tests :func:`colour.models.rgb.ycocg.RGB_to_YCoCg` definition n-dimensional arrays support. """ RGB = np.array([0.75, 0.75, 0.0]) YCoCg = np.array([0.5625, 0.375, 0.1875]) np.testing.assert_array_equal(RGB_to_YCoCg(RGB), YCoCg) RGB = np.tile(RGB, 4) RGB = np.reshape(RGB, (4, 3)) YCoCg = np.tile(YCoCg, 4) YCoCg = np.reshape(YCoCg, (4, 3)) np.testing.assert_array_equal(RGB_to_YCoCg(RGB), YCoCg) RGB = np.tile(RGB, 4) RGB = np.reshape(RGB, (4, 4, 3)) YCoCg = np.tile(YCoCg, 4) YCoCg = np.reshape(YCoCg, (4, 4, 3)) np.testing.assert_array_equal(RGB_to_YCoCg(RGB), YCoCg) RGB = np.tile(RGB, 4) RGB = np.reshape(RGB, (4, 4, 4, 3)) YCoCg = np.tile(YCoCg, 4) YCoCg = np.reshape(YCoCg, (4, 4, 4, 3)) np.testing.assert_array_equal(RGB_to_YCoCg(RGB), YCoCg)
def test_RGB_to_YCoCg(self): """ Tests :func:`colour.models.rgb.ycocg.RGB_to_YCoCg` definition. """ np.testing.assert_array_equal( RGB_to_YCoCg(np.array([0.75, 0.75, 0.0])), np.array([0.5625, 0.375, 0.1875])) np.testing.assert_array_equal( RGB_to_YCoCg(np.array([0.25, 0.5, 0.75])), np.array([0.5, -0.25, 0.0])) np.testing.assert_array_equal( RGB_to_YCoCg(np.array([0.0, 0.75, 0.75])), np.array([0.5625, -0.375, 0.1875]))
def test_nan_RGB_to_YCoCg(self): """ Tests :func:`colour.models.rgb.ycocg.RGB_to_YCoCg` definition nan support. """ cases = [-1.0, 0.0, 1.0, -np.inf, np.inf, np.nan] cases = set(permutations(cases * 3, r=3)) for case in cases: RGB = np.array(case) RGB_to_YCoCg(RGB)