def test_Prismatic_to_RGB(self): """ Tests :func:`colour.models.rgb.prismatic.Prismatic_to_RGB` definition. """ np.testing.assert_almost_equal(Prismatic_to_RGB( np.array([0.0, 0.0, 0.0, 0.0])), np.array([0.0, 0.0, 0.0]), decimal=7) np.testing.assert_almost_equal(Prismatic_to_RGB( np.array([0.7500000, 0.1666667, 0.3333333, 0.5000000])), np.array([0.25, 0.50, 0.75]), decimal=7)
def test_domain_range_scale_Prismatic_to_RGB(self): """ Tests :func:`colour.models.rgb.prismatic.Prismatic_to_RGB` definition domain and range scale support. """ Lrgb = np.array([0.7500000, 0.1666667, 0.3333333, 0.5000000]) RGB = Prismatic_to_RGB(Lrgb) d_r = (('reference', 1), (1, 1), (100, 100)) for scale, factor in d_r: with domain_range_scale(scale): np.testing.assert_almost_equal( Prismatic_to_RGB(Lrgb * factor), RGB * factor, decimal=7)
def test_n_dimensional_Prismatic_to_RGB(self): """ Tests :func:`colour.models.rgb.prismatic.Prismatic_to_RGB` definition n-dimensional support. """ Lrgb = np.array([0.7500000, 0.1666667, 0.3333333, 0.5000000]) RGB = Prismatic_to_RGB(Lrgb) Lrgb = np.tile(Lrgb, (6, 1)) RGB = np.tile(RGB, (6, 1)) np.testing.assert_almost_equal(Prismatic_to_RGB(Lrgb), RGB, decimal=7) Lrgb = np.reshape(Lrgb, (2, 3, 4)) RGB = np.reshape(RGB, (2, 3, 3)) np.testing.assert_almost_equal(Prismatic_to_RGB(Lrgb), RGB, decimal=7)
def test_nan_Prismatic_to_RGB(self): """ Tests :func:`colour.models.rgb.prismatic.Prismatic_to_RGB` 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: Prismatic = np.array(case) Prismatic_to_RGB(Prismatic)