Ejemplo n.º 1
0
    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]))
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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]))
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
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",
Ejemplo n.º 11
0
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,