def test_nan_lightness_1976(self): """ Tests :func:`colour.colorimetry.lightness.lightness_1976` definition nan support. """ lightness_1976(np.array([-1.0, 0.0, 1.0, -np.inf, np.inf, np.nan]))
def test_n_dimensional_lightness_1976(self): """ Tests :func:`colour.colorimetry.lightness.lightness_1976` definition n-dimensional arrays support. """ Y = 10.08 Lstar = 37.98562909765304 np.testing.assert_almost_equal( lightness_1976(Y), Lstar, decimal=7) Y = np.tile(Y, 6) Lstar = np.tile(Lstar, 6) np.testing.assert_almost_equal( lightness_1976(Y), Lstar, decimal=7) Y = np.reshape(Y, (2, 3)) Lstar = np.reshape(Lstar, (2, 3)) np.testing.assert_almost_equal( lightness_1976(Y), Lstar, decimal=7) Y = np.reshape(Y, (2, 3, 1)) Lstar = np.reshape(Lstar, (2, 3, 1)) np.testing.assert_almost_equal( lightness_1976(Y), Lstar, decimal=7)
def test_nan_lightness_1976(self): """ Tests :func:`colour.colorimetry.lightness.lightness_1976` definition nan support. """ lightness_1976( np.array([-1.0, 0.0, 1.0, -np.inf, np.inf, np.nan]))
def test_n_dimensional_lightness_1976(self): """ Tests :func:`colour.colorimetry.lightness.lightness_1976` definition n-dimensional arrays support. """ Y = 10.08 Lstar = 37.98562909765304 np.testing.assert_almost_equal(lightness_1976(Y), Lstar, decimal=7) Y = np.tile(Y, 6) Lstar = np.tile(Lstar, 6) np.testing.assert_almost_equal(lightness_1976(Y), Lstar, decimal=7) Y = np.reshape(Y, (2, 3)) Lstar = np.reshape(Lstar, (2, 3)) np.testing.assert_almost_equal(lightness_1976(Y), Lstar, decimal=7) Y = np.reshape(Y, (2, 3, 1)) Lstar = np.reshape(Lstar, (2, 3, 1)) np.testing.assert_almost_equal(lightness_1976(Y), Lstar, decimal=7)
def test_lightness_1976(self): """ Tests :func:`colour.colorimetry.lightness.lightness_1976` definition. """ self.assertAlmostEqual( lightness_1976(10.08), 37.9856290977, places=7) self.assertAlmostEqual( lightness_1976(56.76), 80.0444155585, places=7) self.assertAlmostEqual( lightness_1976(98.32), 99.3467279026, places=7) self.assertAlmostEqual( lightness_1976(10.08, 50), 52.01763049195023, places=7) self.assertAlmostEqual( lightness_1976(10.08, 75), 43.41887325541973, places=7) self.assertAlmostEqual( lightness_1976(10.08, 95), 38.91659875709282, places=7)
def _eci_rgb_v2_transfer_function(value): """ Defines the *ECI RGB v2* colourspace transfer function. Parameters ---------- value : numeric or array_like Value. Returns ------- numeric or ndarray Companded value. """ return lightness_1976(value * 100) / 100
def _eci_rgb_v2_OECF(value): """ Defines the *ECI RGB v2* colourspace opto-electronic conversion function. Parameters ---------- value : numeric or array_like Value. Returns ------- numeric or ndarray Companded value. """ return lightness_1976(value * 100) / 100
def test_lightness_1976(self): """ Tests :func:`colour.colorimetry.lightness.lightness_1976` definition. """ self.assertAlmostEqual(lightness_1976(10.08), 37.9856290977, places=7) self.assertAlmostEqual(lightness_1976(56.76), 80.0444155585, places=7) self.assertAlmostEqual(lightness_1976(98.32), 99.3467279026, places=7) self.assertAlmostEqual(lightness_1976(10.08, 50), 52.01763049195023, places=7) self.assertAlmostEqual(lightness_1976(10.08, 75), 43.41887325541973, places=7) self.assertAlmostEqual(lightness_1976(10.08, 95), 38.91659875709282, places=7)
ECI_RGB_V2_TO_XYZ_MATRIX = normalised_primary_matrix(ECI_RGB_V2_PRIMARIES, ECI_RGB_V2_WHITEPOINT) """ *ECI RGB v2* colourspace to *CIE XYZ* colourspace matrix. ECI_RGB_V2_TO_XYZ_MATRIX : array_like, (3, 3) """ XYZ_TO_ECI_RGB_V2_MATRIX = np.linalg.inv(ECI_RGB_V2_TO_XYZ_MATRIX) """ *CIE XYZ* colourspace to *ECI RGB v2* colourspace matrix. XYZ_TO_ECI_RGB_V2_MATRIX : array_like, (3, 3) """ ECI_RGB_V2_TRANSFER_FUNCTION = lambda x: lightness_1976(x * 100) / 100 """ Transfer function from linear to *ECI RGB v2* colourspace. ECI_RGB_V2_TRANSFER_FUNCTION : object """ ECI_RGB_V2_INVERSE_TRANSFER_FUNCTION = lambda x: (luminance_1976(x * 100) / 100) """ Inverse transfer function from *ECI RGB v2* colourspace to linear. ECI_RGB_V2_INVERSE_TRANSFER_FUNCTION : object """ ECI_RGB_V2_COLOURSPACE = RGB_Colourspace( "ECI RGB v2",
ECI_RGB_V2_TO_XYZ_MATRIX = normalised_primary_matrix(ECI_RGB_V2_PRIMARIES, ECI_RGB_V2_WHITEPOINT) """ *ECI RGB v2* colourspace to *CIE XYZ* colourspace matrix. ECI_RGB_V2_TO_XYZ_MATRIX : array_like, (3, 3) """ XYZ_TO_ECI_RGB_V2_MATRIX = np.linalg.inv(ECI_RGB_V2_TO_XYZ_MATRIX) """ *CIE XYZ* colourspace to *ECI RGB v2* colourspace matrix. XYZ_TO_ECI_RGB_V2_MATRIX : array_like, (3, 3) """ ECI_RGB_V2_TRANSFER_FUNCTION = lambda x: lightness_1976(x * 100) / 100 """ Transfer function from linear to *ECI RGB v2* colourspace. ECI_RGB_V2_TRANSFER_FUNCTION : object """ ECI_RGB_V2_INVERSE_TRANSFER_FUNCTION = lambda x: (luminance_1976(x * 100) / 100 ) """ Inverse transfer function from *ECI RGB v2* colourspace to linear. ECI_RGB_V2_INVERSE_TRANSFER_FUNCTION : object """ ECI_RGB_V2_COLOURSPACE = RGB_Colourspace('ECI RGB v2', ECI_RGB_V2_PRIMARIES,