Пример #1
0
][WHITEPOINT_NAME_FILMLIGHT_E_GAMUT]
"""*FilmLight E-Gamut* colourspace whitepoint chromaticity coordinates."""

MATRIX_FILMLIGHT_E_GAMUT_TO_XYZ: NDArray = normalised_primary_matrix(
    PRIMARIES_FILMLIGHT_E_GAMUT, CCS_WHITEPOINT_FILMLIGHT_E_GAMUT
)
"""*FilmLight E-Gamut* colourspace to *CIE XYZ* tristimulus values matrix."""

MATRIX_XYZ_TO_FILMLIGHT_E_GAMUT: NDArray = np.linalg.inv(
    MATRIX_FILMLIGHT_E_GAMUT_TO_XYZ
)
"""*CIE XYZ* tristimulus values to *FilmLight E-Gamut* colourspace matrix."""

RGB_COLOURSPACE_FILMLIGHT_E_GAMUT: RGB_Colourspace = RGB_Colourspace(
    "FilmLight E-Gamut",
    PRIMARIES_FILMLIGHT_E_GAMUT,
    CCS_WHITEPOINT_FILMLIGHT_E_GAMUT,
    WHITEPOINT_NAME_FILMLIGHT_E_GAMUT,
    MATRIX_FILMLIGHT_E_GAMUT_TO_XYZ,
    MATRIX_XYZ_TO_FILMLIGHT_E_GAMUT,
    log_encoding_FilmLightTLog,
    log_decoding_FilmLightTLog,
)
RGB_COLOURSPACE_FILMLIGHT_E_GAMUT.__doc__ = """
*FilmLight E-Gamut* colourspace.

References
----------
:cite:`Siragusano2018a`
"""
Пример #2
0
RUSSELL_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_RUSSELL_RGB_MATRIX = np.linalg.inv(RUSSELL_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Russell RGB* colourspace matrix.

XYZ_TO_RUSSELL_RGB_MATRIX : array_like, (3, 3)
"""

RUSSELL_RGB_COLOURSPACE = RGB_Colourspace(
    'Russell RGB',
    RUSSELL_RGB_PRIMARIES,
    RUSSELL_RGB_WHITEPOINT,
    RUSSELL_RGB_WHITEPOINT_NAME,
    RUSSELL_RGB_TO_XYZ_MATRIX,
    XYZ_TO_RUSSELL_RGB_MATRIX,
    partial(gamma_function, exponent=1 / 2.2),
    partial(gamma_function, exponent=2.2),
)
RUSSELL_RGB_COLOURSPACE.__doc__ = """
*Russell RGB* colourspace.

References
----------
:cite:`Cottrella`

RUSSELL_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #3
0
"""
*Cinema Gamut* colourspace whitepoint.

CINEMA_GAMUT_WHITEPOINT : tuple
"""

CINEMA_GAMUT_TO_XYZ_MATRIX = normalised_primary_matrix(
    CINEMA_GAMUT_PRIMARIES, CINEMA_GAMUT_WHITEPOINT)
"""
*Cinema Gamut* colourspace to *CIE XYZ* tristimulus values matrix.

CINEMA_GAMUT_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_CINEMA_GAMUT_MATRIX = np.linalg.inv(CINEMA_GAMUT_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Cinema Gamut* colourspace matrix.

XYZ_TO_CINEMA_GAMUT_MATRIX : array_like, (3, 3)
"""

CINEMA_GAMUT_COLOURSPACE = RGB_Colourspace(
    'Cinema Gamut', CINEMA_GAMUT_PRIMARIES, CINEMA_GAMUT_WHITEPOINT,
    CINEMA_GAMUT_ILLUMINANT, CINEMA_GAMUT_TO_XYZ_MATRIX,
    XYZ_TO_CINEMA_GAMUT_MATRIX, linear_function, linear_function)
"""
*Cinema Gamut* colourspace.

CINEMA_GAMUT_COLOURSPACE : RGB_Colourspace
"""
Пример #4
0
PAL_SECAM_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_PAL_SECAM_MATRIX = XYZ_TO_BT470_625_MATRIX
"""
*CIE XYZ* tristimulus values to *Pal/Secam* colourspace matrix.

XYZ_TO_PAL_SECAM_MATRIX : array_like, (3, 3)
"""

PAL_SECAM_COLOURSPACE = RGB_Colourspace(
    'Pal/Secam',
    PAL_SECAM_PRIMARIES,
    PAL_SECAM_WHITEPOINT,
    PAL_SECAM_WHITEPOINT_NAME,
    PAL_SECAM_TO_XYZ_MATRIX,
    XYZ_TO_PAL_SECAM_MATRIX,
    BT470_625_COLOURSPACE.encoding_cctf,
    BT470_625_COLOURSPACE.decoding_cctf,
)
PAL_SECAM_COLOURSPACE.__doc__ = """
*Pal/Secam* colourspace.

References
----------
:cite:`InternationalTelecommunicationUnion1998a`

PAL_SECAM_COLOURSPACE : RGB_Colourspace
"""
Пример #5
0
XYZ_TO_ADOBE_RGB_1998_MATRIX = np.array([
    [2.04159, -0.56501, -0.34473],
    [-0.96924, 1.87597, 0.04156],
    [0.01344, -0.11836, 1.01517],
])
"""
*CIE XYZ* tristimulus values to *Adobe RGB (1998)* colourspace matrix.

XYZ_TO_ADOBE_RGB_1998_MATRIX : array_like, (3, 3)
"""

ADOBE_RGB_1998_COLOURSPACE = RGB_Colourspace(
    'Adobe RGB (1998)',
    ADOBE_RGB_1998_PRIMARIES,
    ADOBE_RGB_1998_WHITEPOINT,
    ADOBE_RGB_1998_WHITEPOINT_NAME,
    ADOBE_RGB_1998_TO_XYZ_MATRIX,
    XYZ_TO_ADOBE_RGB_1998_MATRIX,
    partial(gamma_function, exponent=1 / (563 / 256)),
    partial(gamma_function, exponent=563 / 256),
)
ADOBE_RGB_1998_COLOURSPACE.__doc__ = """
*Adobe RGB (1998)* colourspace.

References
----------
:cite:`AdobeSystems2005a`

ADOBE_RGB_1998_COLOURSPACE : RGB_Colourspace
"""
Пример #6
0
SHARP_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_SHARP_RGB_MATRIX = np.linalg.inv(SHARP_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Sharp RGB* colourspace matrix.

XYZ_TO_SHARP_RGB_MATRIX : array_like, (3, 3)
"""

SHARP_RGB_COLOURSPACE = RGB_Colourspace(
    'Sharp RGB',
    SHARP_RGB_PRIMARIES,
    SHARP_RGB_WHITEPOINT,
    SHARP_RGB_WHITEPOINT_NAME,
    SHARP_RGB_TO_XYZ_MATRIX,
    XYZ_TO_SHARP_RGB_MATRIX,
    linear_function,
    linear_function,
)
SHARP_RGB_COLOURSPACE.__doc__ = """
*Sharp RGB* colourspace.

References
----------
:cite:`Susstrunk2000`, :cite:`Ward2002`, :cite:`Ward2016`

SHARP_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #7
0
    Returns
    -------
    numeric or ndarray
        Scaled *luminance* :math:`Y` or *Lightness* :math:`L^*` array.
    """

    a = as_float_array(a)

    return callable_(a * 100, Y_n=100) / 100


ECI_RGB_V2_COLOURSPACE = RGB_Colourspace(
    'ECI RGB v2',
    ECI_RGB_V2_PRIMARIES,
    ECI_RGB_V2_WHITEPOINT,
    ECI_RGB_V_WHITEPOINT_NAME,
    ECI_RGB_V2_TO_XYZ_MATRIX,
    XYZ_TO_ECI_RGB_V2_MATRIX,
    partial(_scale_domain_0_100_range_0_1, callable_=lightness_CIE1976),
    partial(_scale_domain_0_100_range_0_1, callable_=luminance_CIE1976),
)
ECI_RGB_V2_COLOURSPACE.__doc__ = """
*ECI RGB v2* colourspace.

References
----------
:cite:`EuropeanColorInitiative2002a`

ECI_RGB_V2_COLOURSPACE : RGB_Colourspace
"""
Пример #8
0
ADOBE_WIDE_GAMUT_RGB_TO_XYZ_MATRIX = normalised_primary_matrix(
    ADOBE_WIDE_GAMUT_RGB_PRIMARIES, ADOBE_WIDE_GAMUT_RGB_WHITEPOINT)
"""
*Adobe Wide Gamut RGB* colourspace to *CIE XYZ* tristimulus values matrix.

ADOBE_WIDE_GAMUT_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_ADOBE_WIDE_GAMUT_RGB_MATRIX = np.linalg.inv(
    ADOBE_WIDE_GAMUT_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Adobe Wide Gamut RGB* colourspace matrix.

XYZ_TO_ADOBE_WIDE_GAMUT_RGB_MATRIX : array_like, (3, 3)
"""

ADOBE_WIDE_GAMUT_RGB_COLOURSPACE = RGB_Colourspace(
    'Adobe Wide Gamut RGB',
    ADOBE_WIDE_GAMUT_RGB_PRIMARIES,
    ADOBE_WIDE_GAMUT_RGB_WHITEPOINT,
    ADOBE_WIDE_GAMUT_RGB_ILLUMINANT,
    ADOBE_WIDE_GAMUT_RGB_TO_XYZ_MATRIX,
    XYZ_TO_ADOBE_WIDE_GAMUT_RGB_MATRIX,
    partial(gamma_function, exponent=1 / (563 / 256)),
    partial(gamma_function, exponent=563 / 256))
"""
*Adobe Wide Gamut RGB* colourspace.

ADOBE_WIDE_GAMUT_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #9
0
XYZ_TO_S_GAMUT_MATRIX = np.array(
    [[1.5073998991, -0.2458221374, -0.1716116808],
     [-0.5181517271, 1.3553912409, 0.1258786682],
     [0.0155116982, -0.0078727714, 0.9119163656]])  # yapf: disable
"""
*CIE XYZ* tristimulus values to *S-Gamut* colourspace matrix.

XYZ_TO_S_GAMUT_MATRIX : array_like, (3, 3)
"""

S_GAMUT_COLOURSPACE = RGB_Colourspace(
    'S-Gamut',
    S_GAMUT_PRIMARIES,
    S_GAMUT_WHITEPOINT,
    S_GAMUT_ILLUMINANT,
    S_GAMUT_TO_XYZ_MATRIX,
    XYZ_TO_S_GAMUT_MATRIX,
    log_encoding_SLog2,
    log_decoding_SLog2)  # yapf: disable
"""
*S-Gamut* colourspace.

S_GAMUT_COLOURSPACE : RGB_Colourspace
"""

S_GAMUT3_COLOURSPACE = RGB_Colourspace(
    'S-Gamut3',
    S_GAMUT_PRIMARIES,
    S_GAMUT_WHITEPOINT,
    S_GAMUT_ILLUMINANT,
Пример #10
0
CCS_WHITEPOINT_BT2020: NDArray = CCS_ILLUMINANTS[
    "CIE 1931 2 Degree Standard Observer"][WHITEPOINT_NAME_BT2020]
"""*ITU-R BT.2020* colourspace whitepoint chromaticity coordinates."""

MATRIX_BT2020_TO_XYZ: NDArray = normalised_primary_matrix(
    PRIMARIES_BT2020, CCS_WHITEPOINT_BT2020)
"""*ITU-R BT.2020* colourspace to *CIE XYZ* tristimulus values matrix."""

MATRIX_XYZ_TO_BT2020: NDArray = np.linalg.inv(MATRIX_BT2020_TO_XYZ)
"""*CIE XYZ* tristimulus values to *ITU-R BT.2020* colourspace matrix."""

RGB_COLOURSPACE_BT2020: RGB_Colourspace = RGB_Colourspace(
    "ITU-R BT.2020",
    PRIMARIES_BT2020,
    CCS_WHITEPOINT_BT2020,
    WHITEPOINT_NAME_BT2020,
    MATRIX_BT2020_TO_XYZ,
    MATRIX_XYZ_TO_BT2020,
    eotf_inverse_BT2020,
    eotf_BT2020,
)
RGB_COLOURSPACE_BT2020.__doc__ = """
*ITU-R BT.2020* colourspace.

The wavelength of the *ITU-R BT.2020* primary colours are:

-   630nm for the red primary colour
-   532nm for the green primary colour
-   467nm for the blue primary colour.

References
----------
Пример #11
0
RUSSELL_RGB_TO_XYZ_MATRIX = normalised_primary_matrix(RUSSELL_RGB_PRIMARIES,
                                                      RUSSELL_RGB_WHITEPOINT)
"""
*Russell RGB* colourspace to *CIE XYZ* tristimulus values matrix.

RUSSELL_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_RUSSELL_RGB_MATRIX = np.linalg.inv(RUSSELL_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Russell RGB* colourspace matrix.

XYZ_TO_RUSSELL_RGB_MATRIX : array_like, (3, 3)
"""

RUSSELL_RGB_COLOURSPACE = RGB_Colourspace(
    'Russell RGB',
    RUSSELL_RGB_PRIMARIES,
    RUSSELL_RGB_WHITEPOINT,
    RUSSELL_RGB_ILLUMINANT,
    RUSSELL_RGB_TO_XYZ_MATRIX,
    XYZ_TO_RUSSELL_RGB_MATRIX,
    partial(function_gamma, exponent=1 / 2.2),
    partial(function_gamma, exponent=2.2))  # yapf: disable
"""
*Russell RGB* colourspace.

RUSSELL_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #12
0
XYZ_TO_ALEXA_WIDE_GAMUT_MATRIX = np.array([
    [1.789066, -0.482534, -0.200076],
    [-0.639849, 1.396400, 0.194432],
    [-0.041532, 0.082335, 0.878868],
])
"""
*CIE XYZ* tristimulus values to *ALEXA Wide Gamut* colourspace matrix.

XYZ_TO_ALEXA_WIDE_GAMUT_MATRIX : array_like, (3, 3)
"""

ALEXA_WIDE_GAMUT_COLOURSPACE = RGB_Colourspace(
    'ALEXA Wide Gamut',
    ALEXA_WIDE_GAMUT_PRIMARIES,
    ALEXA_WIDE_GAMUT_WHITEPOINT,
    ALEXA_WIDE_GAMUT_WHITEPOINT_NAME,
    ALEXA_WIDE_GAMUT_TO_XYZ_MATRIX,
    XYZ_TO_ALEXA_WIDE_GAMUT_MATRIX,
    log_encoding_ALEXALogC,
    log_decoding_ALEXALogC,
)
ALEXA_WIDE_GAMUT_COLOURSPACE.__doc__ = """
*ALEXA Wide Gamut* colourspace.

References
----------
:cite:`ARRI2012a`

ALEXA_WIDE_GAMUT_COLOURSPACE : RGB_Colourspace
"""
Пример #13
0
ADOBE_WIDE_GAMUT_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_ADOBE_WIDE_GAMUT_RGB_MATRIX = np.linalg.inv(
    ADOBE_WIDE_GAMUT_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Adobe Wide Gamut RGB* colourspace matrix.

XYZ_TO_ADOBE_WIDE_GAMUT_RGB_MATRIX : array_like, (3, 3)
"""

ADOBE_WIDE_GAMUT_RGB_COLOURSPACE = RGB_Colourspace(
    'Adobe Wide Gamut RGB',
    ADOBE_WIDE_GAMUT_RGB_PRIMARIES,
    ADOBE_WIDE_GAMUT_RGB_WHITEPOINT,
    ADOBE_WIDE_GAMUT_RGB_WHITEPOINT_NAME,
    ADOBE_WIDE_GAMUT_RGB_TO_XYZ_MATRIX,
    XYZ_TO_ADOBE_WIDE_GAMUT_RGB_MATRIX,
    partial(gamma_function, exponent=1 / (563 / 256)),
    partial(gamma_function, exponent=563 / 256),
)
ADOBE_WIDE_GAMUT_RGB_COLOURSPACE.__doc__ = """
*Adobe Wide Gamut RGB* colourspace.

References
----------
:cite:`Wikipedia2004c`

ADOBE_WIDE_GAMUT_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #14
0
DCDM_XYZ_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_DCDM_XYZ_MATRIX = np.linalg.inv(DCDM_XYZ_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *DCDM XYZ* colourspace matrix.

XYZ_TO_DCDM_XYZ_MATRIX : array_like, (3, 3)
"""

DCDM_XYZ_COLOURSPACE = RGB_Colourspace(
    'DCDM XYZ',
    DCDM_XYZ_PRIMARIES,
    DCDM_XYZ_WHITEPOINT,
    DCDM_XYZ_WHITEPOINT_NAME,
    DCDM_XYZ_TO_XYZ_MATRIX,
    XYZ_TO_DCDM_XYZ_MATRIX,
    eotf_reverse_DCDM,
    eotf_DCDM,
)
DCDM_XYZ_COLOURSPACE.__doc__ = """
*DCDM XYZ* colourspace.

References
----------
:cite:`DigitalCinemaInitiatives2007b`

DCDM_XYZ_COLOURSPACE : RGB_Colourspace
"""
Пример #15
0
MATRIX_PROTUNE_NATIVE_TO_XYZ : array_like, (3, 3)
"""

MATRIX_XYZ_TO_PROTUNE_NATIVE = np.linalg.inv(MATRIX_PROTUNE_NATIVE_TO_XYZ)
"""
*CIE XYZ* tristimulus values to *Protune Native* colourspace matrix.

MATRIX_XYZ_TO_PROTUNE_NATIVE : array_like, (3, 3)
"""

RGB_COLOURSPACE_PROTUNE_NATIVE = RGB_Colourspace(
    'Protune Native',
    PRIMARIES_PROTUNE_NATIVE,
    CCS_WHITEPOINT_PROTUNE_NATIVE,
    WHITEPOINT_NAME_PROTUNE_NATIVE,
    MATRIX_PROTUNE_NATIVE_TO_XYZ,
    MATRIX_XYZ_TO_PROTUNE_NATIVE,
    log_encoding_Protune,
    log_decoding_Protune,
)
RGB_COLOURSPACE_PROTUNE_NATIVE.__doc__ = """
*Protune Native* colourspace.

References
----------
:cite:`GoPro2016a`, :cite:`Mansencal2015d`

RGB_COLOURSPACE_PROTUNE_NATIVE : RGB_Colourspace
"""
Пример #16
0
"""

ALEXA_WIDE_GAMUT_RGB_TO_XYZ_MATRIX = np.array([[0.638008, 0.214704, 0.097744],
                                               [0.291954, 0.823841, -0.115795],
                                               [0.002798, -0.067034,
                                                1.153294]])
"""
*ALEXA Wide Gamut RGB* colourspace to *CIE XYZ* tristimulus values matrix.

ALEXA_WIDE_GAMUT_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_ALEXA_WIDE_GAMUT_RGB_MATRIX = np.linalg.inv(
    ALEXA_WIDE_GAMUT_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *ALEXA Wide Gamut RGB* colourspace matrix.

XYZ_TO_ALEXA_WIDE_GAMUT_RGB_MATRIX : array_like, (3, 3)
"""

ALEXA_WIDE_GAMUT_RGB_COLOURSPACE = RGB_Colourspace(
    'ALEXA Wide Gamut RGB', ALEXA_WIDE_GAMUT_RGB_PRIMARIES,
    ALEXA_WIDE_GAMUT_RGB_WHITEPOINT, ALEXA_WIDE_GAMUT_RGB_ILLUMINANT,
    ALEXA_WIDE_GAMUT_RGB_TO_XYZ_MATRIX, XYZ_TO_ALEXA_WIDE_GAMUT_RGB_MATRIX,
    log_encoding_ALEXALogC, log_decoding_ALEXALogC)
"""
*ALEXA Wide Gamut RGB* colourspace.

ALEXA_WIDE_GAMUT_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #17
0
*NTSC RGB* colourspace whitepoint.

NTSC_RGB_WHITEPOINT : tuple
"""

NTSC_RGB_TO_XYZ_MATRIX = normalised_primary_matrix(NTSC_RGB_PRIMARIES,
                                                   NTSC_RGB_WHITEPOINT)
"""
*NTSC RGB* colourspace to *CIE XYZ* tristimulus values matrix.

NTSC_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_NTSC_RGB_MATRIX = np.linalg.inv(NTSC_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *NTSC RGB* colourspace matrix.

XYZ_TO_NTSC_RGB_MATRIX : array_like, (3, 3)
"""

NTSC_RGB_COLOURSPACE = RGB_Colourspace(
    'NTSC RGB', NTSC_RGB_PRIMARIES, NTSC_RGB_WHITEPOINT, NTSC_RGB_ILLUMINANT,
    NTSC_RGB_TO_XYZ_MATRIX, XYZ_TO_NTSC_RGB_MATRIX,
    partial(gamma_function, exponent=1 / 2.2),
    partial(gamma_function, exponent=2.2))
"""
*NTSC RGB* colourspace.

NTSC_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #18
0
MATRIX_DCI_P3_P_TO_XYZ : array_like, (3, 3)
"""

MATRIX_XYZ_TO_DCI_P3_P = np.linalg.inv(MATRIX_DCI_P3_P_TO_XYZ)
"""
*CIE XYZ* tristimulus values to *DCI-P3+* colourspace matrix.

MATRIX_XYZ_TO_DCI_P3_P : array_like, (3, 3)
"""

RGB_COLOURSPACE_DCI_P3 = RGB_Colourspace(
    'DCI-P3',
    PRIMARIES_DCI_P3,
    CCS_WHITEPOINT_DCI_P3,
    WHITEPOINT_NAME_DCI_P3,
    MATRIX_DCI_P3_TO_XYZ,
    MATRIX_XYZ_TO_DCI_P3,
    partial(gamma_function, exponent=1 / 2.6),
    partial(gamma_function, exponent=2.6),
)
RGB_COLOURSPACE_DCI_P3.__doc__ = """
*DCI-P3* colourspace.

References
----------
:cite:`DigitalCinemaInitiatives2007b`,
:cite:`Hewlett-PackardDevelopmentCompany2009a`

RGB_COLOURSPACE_DCI_P3 : RGB_Colourspace
"""
Пример #19
0
FILMLIGHT_E_GAMUT_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_FILMLIGHT_E_GAMUT_MATRIX = (
    np.linalg.inv(FILMLIGHT_E_GAMUT_TO_XYZ_MATRIX))
"""
*CIE XYZ* tristimulus values to *FilmLight E-Gamut* colourspace matrix.

XYZ_TO_FILMLIGHT_E_GAMUT_MATRIX : array_like, (3, 3)
"""

FILMLIGHT_E_GAMUT_COLOURSPACE = RGB_Colourspace(
    'FilmLight E-Gamut',
    FILMLIGHT_E_GAMUT_PRIMARIES,
    FILMLIGHT_E_GAMUT_WHITEPOINT,
    FILMLIGHT_E_GAMUT_WHITEPOINT_NAME,
    FILMLIGHT_E_GAMUT_TO_XYZ_MATRIX,
    XYZ_TO_FILMLIGHT_E_GAMUT_MATRIX,
    log_encoding_FilmLightTLog,
    log_decoding_FilmLightTLog,
)
FILMLIGHT_E_GAMUT_COLOURSPACE.__doc__ = """
*FilmLight E-Gamut* colourspace.

    References
    ----------
    :cite:`Siragusano2018a`

FILMLIGHT_E_GAMUT_COLOURSPACE : RGB_Colourspace
"""
Пример #20
0
P3_D65_TO_XYZ_MATRIX = normalised_primary_matrix(P3_D65_PRIMARIES,
                                                 P3_D65_WHITEPOINT)
"""
*P3-D65* colourspace to *CIE XYZ* tristimulus values matrix.

P3_D65_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_P3_D65_MATRIX = np.linalg.inv(P3_D65_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *P3-D65* colourspace matrix.

XYZ_TO_P3_D65_MATRIX : array_like, (3, 3)
"""

P3_D65_COLOURSPACE = RGB_Colourspace(
    'P3-D65',
    P3_D65_PRIMARIES,
    P3_D65_WHITEPOINT,
    P3_D65_WHITEPOINT_NAME,
    P3_D65_TO_XYZ_MATRIX,
    XYZ_TO_P3_D65_MATRIX,
    partial(gamma_function, exponent=1 / 2.6),
    partial(gamma_function, exponent=2.6),
)
P3_D65_COLOURSPACE.__doc__ = """
*P3-D65* colourspace.

P3_D65_COLOURSPACE : RGB_Colourspace
"""
Пример #21
0
COLOR_MATCH_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_COLOR_MATCH_RGB_MATRIX = np.linalg.inv(COLOR_MATCH_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *ColorMatch RGB* colourspace matrix.

XYZ_TO_COLOR_MATCH_RGB_MATRIX : array_like, (3, 3)
"""

COLOR_MATCH_RGB_COLOURSPACE = RGB_Colourspace(
    'ColorMatch RGB',
    COLOR_MATCH_RGB_PRIMARIES,
    COLOR_MATCH_RGB_WHITEPOINT,
    COLOR_MATCH_RGB_WHITEPOINT_NAME,
    COLOR_MATCH_RGB_TO_XYZ_MATRIX,
    XYZ_TO_COLOR_MATCH_RGB_MATRIX,
    partial(gamma_function, exponent=1 / 1.8),
    partial(gamma_function, exponent=1.8),
)
COLOR_MATCH_RGB_COLOURSPACE.__doc__ = """
*ColorMatch RGB* colourspace.

References
----------
:cite:`Lindbloom2014a`

COLOR_MATCH_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #22
0
ROMM_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_ROMM_RGB_MATRIX = np.linalg.inv(ROMM_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *ROMM RGB* colourspace matrix.

XYZ_TO_ROMM_RGB_MATRIX : array_like, (3, 3)
"""

ROMM_RGB_COLOURSPACE = RGB_Colourspace(
    'ROMM RGB',
    ROMM_RGB_PRIMARIES,
    ROMM_RGB_WHITEPOINT,
    ROMM_RGB_ILLUMINANT,
    ROMM_RGB_TO_XYZ_MATRIX,
    XYZ_TO_ROMM_RGB_MATRIX,
    oetf_ROMMRGB,
    eotf_ROMMRGB)
"""
*ROMM RGB* colourspace.

ROMM_RGB_COLOURSPACE : RGB_Colourspace
"""

RIMM_RGB_PRIMARIES = ROMM_RGB_PRIMARIES
"""
*RIMM RGB* colourspace primaries.

RIMM_RGB_PRIMARIES : ndarray, (3, 2)
Пример #23
0
PROTUNE_NATIVE_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_PROTUNE_NATIVE_MATRIX = np.linalg.inv(PROTUNE_NATIVE_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Protune Native* colourspace matrix.

XYZ_TO_PROTUNE_NATIVE_MATRIX : array_like, (3, 3)
"""

PROTUNE_NATIVE_COLOURSPACE = RGB_Colourspace(
    'Protune Native',
    PROTUNE_NATIVE_PRIMARIES,
    PROTUNE_NATIVE_WHITEPOINT,
    PROTUNE_NATIVE_WHITEPOINT_NAME,
    PROTUNE_NATIVE_TO_XYZ_MATRIX,
    XYZ_TO_PROTUNE_NATIVE_MATRIX,
    log_encoding_Protune,
    log_decoding_Protune,
)
PROTUNE_NATIVE_COLOURSPACE.__doc__ = """
*Protune Native* colourspace.

References
----------
:cite:`GoPro2016a`, :cite:`Mansencal2015d`

PROTUNE_NATIVE_COLOURSPACE : RGB_Colourspace
"""
Пример #24
0
MATRIX_XYZ_TO_V_GAMUT = np.array([
    [1.589012, -0.313204, -0.180965],
    [-0.534053, 1.396011, 0.102458],
    [0.011179, 0.003194, 0.905535],
])
"""
*CIE XYZ* tristimulus values to *Panasonic V-Gamut* colourspace matrix.

MATRIX_XYZ_TO_V_GAMUT : array_like, (3, 3)
"""

RGB_COLOURSPACE_V_GAMUT = RGB_Colourspace(
    'V-Gamut',
    PRIMARIES_V_GAMUT,
    CCS_WHITEPOINT_V_GAMUT,
    WHITEPOINT_NAME_V_GAMUT,
    MATRIX_V_GAMUT_TO_XYZ,
    MATRIX_XYZ_TO_V_GAMUT,
    log_encoding_VLog,
    log_decoding_VLog,
)
RGB_COLOURSPACE_V_GAMUT.__doc__ = """
*Panasonic V-Gamut* colourspace.

References
----------
:cite:`Panasonic2014a`

RGB_COLOURSPACE_V_GAMUT : RGB_Colourspace
"""
Пример #25
0
NTSC_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_NTSC_MATRIX = XYZ_TO_BT470_525_MATRIX
"""
*CIE XYZ* tristimulus values to *NTSC* colourspace matrix.

XYZ_TO_NTSC_MATRIX : array_like, (3, 3)
"""

NTSC_COLOURSPACE = RGB_Colourspace(
    'NTSC',
    NTSC_PRIMARIES,
    NTSC_WHITEPOINT,
    NTSC_WHITEPOINT_NAME,
    NTSC_TO_XYZ_MATRIX,
    XYZ_TO_NTSC_MATRIX,
    BT470_525_COLOURSPACE.encoding_cctf,
    BT470_525_COLOURSPACE.decoding_cctf,
)
NTSC_COLOURSPACE.__doc__ = """
*NTSC* colourspace.

References
----------
:cite:`InternationalTelecommunicationUnion1998a`

NTSC_COLOURSPACE : RGB_Colourspace
"""
Пример #26
0
"""*Fujifilm F-Gamut* colourspace whitepoint name."""

CCS_WHITEPOINT_F_GAMUT: NDArray = CCS_ILLUMINANTS[
    "CIE 1931 2 Degree Standard Observer"][WHITEPOINT_NAME_F_GAMUT]
"""*Fujifilm F-Gamut* colourspace whitepoint chromaticity coordinates."""

MATRIX_F_GAMUT_TO_XYZ: NDArray = normalised_primary_matrix(
    PRIMARIES_F_GAMUT, CCS_WHITEPOINT_F_GAMUT)
"""*Fujifilm F-Gamut* colourspace to *CIE XYZ* tristimulus values matrix."""

MATRIX_XYZ_TO_F_GAMUT: NDArray = np.linalg.inv(MATRIX_F_GAMUT_TO_XYZ)
"""*CIE XYZ* tristimulus values to *Fujifilm F-Gamut* colourspace matrix."""

RGB_COLOURSPACE_F_GAMUT: RGB_Colourspace = RGB_Colourspace(
    "F-Gamut",
    PRIMARIES_F_GAMUT,
    CCS_WHITEPOINT_F_GAMUT,
    WHITEPOINT_NAME_F_GAMUT,
    MATRIX_F_GAMUT_TO_XYZ,
    MATRIX_XYZ_TO_F_GAMUT,
    log_encoding_FLog,
    log_decoding_FLog,
)
RGB_COLOURSPACE_F_GAMUT.__doc__ = """
*Fujifilm F-Gamut* colourspace.

References
----------
:cite:`Fujifilm2016`
"""
Пример #27
0
DISPLAY_P3_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_DISPLAY_P3_MATRIX = np.linalg.inv(DISPLAY_P3_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Display P3* colourspace matrix.

XYZ_TO_DISPLAY_P3_MATRIX : array_like, (3, 3)
"""

DISPLAY_P3_COLOURSPACE = RGB_Colourspace(
    'Display P3',
    DISPLAY_P3_PRIMARIES,
    DISPLAY_P3_WHITEPOINT,
    DISPLAY_P3_WHITEPOINT_NAME,
    DISPLAY_P3_TO_XYZ_MATRIX,
    XYZ_TO_DISPLAY_P3_MATRIX,
    eotf_inverse_sRGB,
    eotf_sRGB,
)
DISPLAY_P3_COLOURSPACE.__doc__ = """
*Display P3* colourspace.

References
----------
:cite:`AppleInc.2019`

DISPLAY_P3_COLOURSPACE : RGB_Colourspace
"""
Пример #28
0
DCI_P3_P_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_DCI_P3_P_MATRIX = np.linalg.inv(DCI_P3_P_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *DCI-P3+* colourspace matrix.

XYZ_TO_DCI_P3_P_MATRIX : array_like, (3, 3)
"""

DCI_P3_COLOURSPACE = RGB_Colourspace(
    'DCI-P3',
    DCI_P3_PRIMARIES,
    DCI_P3_WHITEPOINT,
    DCI_P3_ILLUMINANT,
    DCI_P3_TO_XYZ_MATRIX,
    XYZ_TO_DCI_P3_MATRIX,
    oetf_DCIP3,
    eotf_DCIP3, )
DCI_P3_COLOURSPACE.__doc__ = """
*DCI-P3* colourspace.

References
----------
-   :cite:`DigitalCinemaInitiatives2007b`
-   :cite:`Hewlett-PackardDevelopmentCompany2009a`

DCI_P3_COLOURSPACE : RGB_Colourspace
"""
Пример #29
0
XYZ_TO_ALEXA_WIDE_GAMUT_MATRIX = np.array([
    [1.789066, -0.482534, -0.200076],
    [-0.639849, 1.396400, 0.194432],
    [-0.041532, 0.082335, 0.878868],
])
"""
*CIE XYZ* tristimulus values to *ALEXA Wide Gamut* colourspace matrix.

XYZ_TO_ALEXA_WIDE_GAMUT_MATRIX : array_like, (3, 3)
"""

ALEXA_WIDE_GAMUT_COLOURSPACE = RGB_Colourspace(
    'ALEXA Wide Gamut',
    ALEXA_WIDE_GAMUT_PRIMARIES,
    ALEXA_WIDE_GAMUT_WHITEPOINT,
    ALEXA_WIDE_GAMUT_WHITEPOINT_NAME,
    ALEXA_WIDE_GAMUT_TO_XYZ_MATRIX,
    XYZ_TO_ALEXA_WIDE_GAMUT_MATRIX,
    log_encoding_ALEXALogC,
    log_decoding_ALEXALogC,
)
ALEXA_WIDE_GAMUT_COLOURSPACE.__doc__ = """
*ALEXA Wide Gamut* colourspace.

References
----------
:cite:`ARRI2012a`

ALEXA_WIDE_GAMUT_COLOURSPACE : RGB_Colourspace
"""
Пример #30
0
XYZ_TO_S_GAMUT_MATRIX = np.array([
    [1.5073998991, -0.2458221374, -0.1716116808],
    [-0.5181517271, 1.3553912409, 0.1258786682],
    [0.0155116982, -0.0078727714, 0.9119163656],
])
"""
*CIE XYZ* tristimulus values to *S-Gamut* colourspace matrix.

XYZ_TO_S_GAMUT_MATRIX : array_like, (3, 3)
"""

S_GAMUT_COLOURSPACE = RGB_Colourspace(
    'S-Gamut',
    S_GAMUT_PRIMARIES,
    S_GAMUT_WHITEPOINT,
    S_GAMUT_WHITEPOINT_NAME,
    S_GAMUT_TO_XYZ_MATRIX,
    XYZ_TO_S_GAMUT_MATRIX,
    log_encoding_SLog2,
    log_decoding_SLog2,
)
S_GAMUT_COLOURSPACE.__doc__ = """
*S-Gamut* colourspace.

References
----------
:cite:`Gaggioni`, :cite:`SonyCorporation`

S_GAMUT_COLOURSPACE : RGB_Colourspace
"""

S_GAMUT3_COLOURSPACE = RGB_Colourspace(
Пример #31
0
"""

XYZ_TO_DJI_D_GAMUT_MATRIX = np.array([[1.7257, -0.4314, -0.1917],
                                      [-0.6025, 1.3906, 0.1671],
                                      [-0.0156, 0.0905, 0.8489]])
"""
*CIE XYZ* tristimulus values to *DJI D-Gamut* colourspace matrix.

XYZ_TO_DJI_D_GAMUT_MATRIX : array_like, (3, 3)
"""

DJI_D_GAMUT_COLOURSPACE = RGB_Colourspace(
    'DJI D-Gamut',
    DJI_D_GAMUT_PRIMARIES,
    DJI_D_GAMUT_WHITEPOINT,
    DJI_D_GAMUT_WHITEPOINT_NAME,
    DJI_D_GAMUT_TO_XYZ_MATRIX,
    XYZ_TO_DJI_D_GAMUT_MATRIX,
    log_encoding_DJIDLog,
    log_decoding_DJIDLog,
)
DJI_D_GAMUT_COLOURSPACE.__doc__ = """
*DJI_D-Gamut* colourspace.

    References
    ----------
    :cite:`DJI2017`

DJI_D_GAMUT_COLOURSPACE : RGB_Colourspace
"""
Пример #32
0
FILMLIGHT_E_GAMUT_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_FILMLIGHT_E_GAMUT_MATRIX = (
    np.linalg.inv(FILMLIGHT_E_GAMUT_TO_XYZ_MATRIX))
"""
*CIE XYZ* tristimulus values to *FilmLight E-Gamut* colourspace matrix.

XYZ_TO_FILMLIGHT_E_GAMUT_MATRIX : array_like, (3, 3)
"""

FILMLIGHT_E_GAMUT_COLOURSPACE = RGB_Colourspace(
    'FilmLight E-Gamut',
    FILMLIGHT_E_GAMUT_PRIMARIES,
    FILMLIGHT_E_GAMUT_WHITEPOINT,
    FILMLIGHT_E_GAMUT_WHITEPOINT_NAME,
    FILMLIGHT_E_GAMUT_TO_XYZ_MATRIX,
    XYZ_TO_FILMLIGHT_E_GAMUT_MATRIX,
    log_encoding_FilmLightTLog,
    log_decoding_FilmLightTLog,
)
FILMLIGHT_E_GAMUT_COLOURSPACE.__doc__ = """
*FilmLight E-Gamut* colourspace.

    References
    ----------
    :cite:`Siragusano2018a`

FILMLIGHT_E_GAMUT_COLOURSPACE : RGB_Colourspace
"""
Пример #33
0
*Pal/Secam RGB* colourspace whitepoint.

PAL_SECAM_RGB_WHITEPOINT : tuple
"""

PAL_SECAM_RGB_TO_XYZ_MATRIX = normalised_primary_matrix(
    PAL_SECAM_RGB_PRIMARIES, PAL_SECAM_RGB_WHITEPOINT)
"""
*Pal/Secam RGB* colourspace to *CIE XYZ* tristimulus values matrix.

PAL_SECAM_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_PAL_SECAM_RGB_MATRIX = np.linalg.inv(PAL_SECAM_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Pal/Secam RGB* colourspace matrix.

XYZ_TO_PAL_SECAM_RGB_MATRIX : array_like, (3, 3)
"""

PAL_SECAM_RGB_COLOURSPACE = RGB_Colourspace(
    'Pal/Secam RGB', PAL_SECAM_RGB_PRIMARIES, PAL_SECAM_RGB_WHITEPOINT,
    PAL_SECAM_RGB_ILLUMINANT, PAL_SECAM_RGB_TO_XYZ_MATRIX,
    XYZ_TO_PAL_SECAM_RGB_MATRIX, partial(gamma_function, exponent=1 / 2.8),
    partial(gamma_function, exponent=2.8))
"""
*Pal/Secam RGB* colourspace.

PAL_SECAM_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #34
0
CIE_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_CIE_RGB_MATRIX = np.linalg.inv(CIE_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *CIE RGB* colourspace matrix.

XYZ_TO_CIE_RGB_MATRIX : array_like, (3, 3)
"""

CIE_RGB_COLOURSPACE = RGB_Colourspace(
    'CIE RGB',
    CIE_RGB_PRIMARIES,
    CIE_RGB_WHITEPOINT,
    CIE_RGB_WHITEPOINT_NAME,
    CIE_RGB_TO_XYZ_MATRIX,
    XYZ_TO_CIE_RGB_MATRIX,
    partial(gamma_function, exponent=1 / 2.2),
    partial(gamma_function, exponent=2.2),
)
CIE_RGB_COLOURSPACE.__doc__ = """
*CIE RGB* colourspace.

References
----------
:cite:`Fairman1997`

CIE_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #35
0
EKTA_SPACE_PS_5_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_EKTA_SPACE_PS_5_MATRIX = np.linalg.inv(EKTA_SPACE_PS_5_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Ekta Space PS 5* colourspace matrix.

XYZ_TO_EKTA_SPACE_PS_5_MATRIX : array_like, (3, 3)
"""

EKTA_SPACE_PS_5_COLOURSPACE = RGB_Colourspace(
    'Ekta Space PS 5',
    EKTA_SPACE_PS_5_PRIMARIES,
    EKTA_SPACE_PS_5_WHITEPOINT,
    EKTA_SPACE_PS_5_V_WHITEPOINT_NAME,
    EKTA_SPACE_PS_5_TO_XYZ_MATRIX,
    XYZ_TO_EKTA_SPACE_PS_5_MATRIX,
    partial(gamma_function, exponent=1 / 2.2),
    partial(gamma_function, exponent=2.2),
)
EKTA_SPACE_PS_5_COLOURSPACE.__doc__ = """
*Ekta Space PS 5* colourspace.

References
----------
:cite:`Holmesa`

EKTA_SPACE_PS_5_COLOURSPACE : RGB_Colourspace
"""
Пример #36
0
BT2020_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_BT2020_MATRIX = np.linalg.inv(BT2020_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *ITU-R BT.2020* colourspace matrix.

XYZ_TO_BT2020_MATRIX : array_like, (3, 3)
"""

BT2020_COLOURSPACE = RGB_Colourspace(
    'ITU-R BT.2020',
    BT2020_PRIMARIES,
    BT2020_WHITEPOINT,
    BT2020_WHITEPOINT_NAME,
    BT2020_TO_XYZ_MATRIX,
    XYZ_TO_BT2020_MATRIX,
    oetf_BT2020,
    eotf_BT2020,
)
BT2020_COLOURSPACE.__doc__ = """
*ITU-R BT.2020* colourspace.

References
----------
:cite:`InternationalTelecommunicationUnion2015h`

BT2020_COLOURSPACE : RGB_Colourspace
"""
Пример #37
0
XYZ_TO_S_GAMUT_MATRIX = np.array([
    [1.5073998991, -0.2458221374, -0.1716116808],
    [-0.5181517271, 1.3553912409, 0.1258786682],
    [0.0155116982, -0.0078727714, 0.9119163656],
])
"""
*CIE XYZ* tristimulus values to *S-Gamut* colourspace matrix.

XYZ_TO_S_GAMUT_MATRIX : array_like, (3, 3)
"""

S_GAMUT_COLOURSPACE = RGB_Colourspace(
    'S-Gamut',
    S_GAMUT_PRIMARIES,
    S_GAMUT_WHITEPOINT,
    S_GAMUT_WHITEPOINT_NAME,
    S_GAMUT_TO_XYZ_MATRIX,
    XYZ_TO_S_GAMUT_MATRIX,
    log_encoding_SLog2,
    log_decoding_SLog2,
)
S_GAMUT_COLOURSPACE.__doc__ = """
*S-Gamut* colourspace.

References
----------
:cite:`Gaggioni`, :cite:`SonyCorporation`

S_GAMUT_COLOURSPACE : RGB_Colourspace
"""

S_GAMUT3_COLOURSPACE = RGB_Colourspace(
Пример #38
0
BT709_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_BT709_MATRIX = np.linalg.inv(BT709_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *ITU-R BT.709* colourspace matrix.

XYZ_TO_BT709_MATRIX : array_like, (3, 3)
"""

BT709_COLOURSPACE = RGB_Colourspace(
    'ITU-R BT.709',
    BT709_PRIMARIES,
    BT709_WHITEPOINT,
    BT709_WHITEPOINT_NAME,
    BT709_TO_XYZ_MATRIX,
    XYZ_TO_BT709_MATRIX,
    oetf_BT709,
    oetf_reverse_BT709,
)
BT709_COLOURSPACE.__doc__ = """
*ITU-R BT.709* colourspace.

References
----------
:cite:`InternationalTelecommunicationUnion2015i`

BT709_COLOURSPACE : RGB_Colourspace
"""
Пример #39
0
XYZ_TO_ROMM_RGB_MATRIX = np.array([
    [1.3460, -0.2556, -0.0511],
    [-0.5446, 1.5082, 0.0205],
    [0.0000, 0.0000, 1.2123],
])
"""
*CIE XYZ* tristimulus values to *ROMM RGB* colourspace matrix.

XYZ_TO_ROMM_RGB_MATRIX : array_like, (3, 3)
"""

ROMM_RGB_COLOURSPACE = RGB_Colourspace(
    'ROMM RGB',
    ROMM_RGB_PRIMARIES,
    ROMM_RGB_WHITEPOINT,
    ROMM_RGB_WHITEPOINT_NAME,
    ROMM_RGB_TO_XYZ_MATRIX,
    XYZ_TO_ROMM_RGB_MATRIX,
    oetf_ROMMRGB,
    eotf_ROMMRGB,
)
ROMM_RGB_COLOURSPACE.__doc__ = """
*ROMM RGB* colourspace.

References
----------
:cite:`ANSI2003a`, :cite:`Spaulding2000b`

ROMM_RGB_COLOURSPACE : RGB_Colourspace
"""

RIMM_RGB_PRIMARIES = ROMM_RGB_PRIMARIES
Пример #40
0
BETA_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_BETA_RGB_MATRIX = np.linalg.inv(BETA_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Beta RGB* colourspace matrix.

XYZ_TO_BETA_RGB_MATRIX : array_like, (3, 3)
"""

BETA_RGB_COLOURSPACE = RGB_Colourspace(
    'Beta RGB',
    BETA_RGB_PRIMARIES,
    BETA_RGB_WHITEPOINT,
    BETA_RGB_WHITEPOINT_NAME,
    BETA_RGB_TO_XYZ_MATRIX,
    XYZ_TO_BETA_RGB_MATRIX,
    partial(gamma_function, exponent=1 / 2.2),
    partial(gamma_function, exponent=2.2),
)
BETA_RGB_COLOURSPACE.__doc__ = """
*Beta RGB* colourspace.

References
----------
:cite:`Lindbloom2014a`

BETA_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #41
0
"""

XYZ_TO_DJI_D_GAMUT_MATRIX = np.array([[1.7257, -0.4314,
                                       -0.1917], [-0.6025, 1.3906, 0.1671],
                                      [-0.0156, 0.0905, 0.8489]])
"""
*CIE XYZ* tristimulus values to *DJI D-Gamut* colourspace matrix.

XYZ_TO_DJI_D_GAMUT_MATRIX : array_like, (3, 3)
"""

DJI_D_GAMUT_COLOURSPACE = RGB_Colourspace(
    'DJI D-Gamut',
    DJI_D_GAMUT_PRIMARIES,
    DJI_D_GAMUT_WHITEPOINT,
    DJI_D_GAMUT_WHITEPOINT_NAME,
    DJI_D_GAMUT_TO_XYZ_MATRIX,
    XYZ_TO_DJI_D_GAMUT_MATRIX,
    log_encoding_DJIDLog,
    log_decoding_DJIDLog,
)
DJI_D_GAMUT_COLOURSPACE.__doc__ = """
*DJI_D-Gamut* colourspace.

    References
    ----------
    :cite:`DJI2017`

DJI_D_GAMUT_COLOURSPACE : RGB_Colourspace
"""
Пример #42
0
MATRIX_DAVINCI_WIDE_GAMUT_TO_XYZ : array_like, (3, 3)
"""

MATRIX_XYZ_TO_DAVINCI_WIDE_GAMUT = np.linalg.inv(
    MATRIX_DAVINCI_WIDE_GAMUT_TO_XYZ)
"""
*CIE XYZ* tristimulus values to *DaVinci Wide Gamut* colourspace matrix.

MATRIX_XYZ_TO_DAVINCI_WIDE_GAMUT : array_like, (3, 3)
"""

RGB_COLOURSPACE_DAVINCI_WIDE_GAMUT = RGB_Colourspace(
    'DaVinci Wide Gamut',
    PRIMARIES_DAVINCI_WIDE_GAMUT,
    CCS_WHITEPOINT_DAVINCI_WIDE_GAMUT,
    WHITEPOINT_NAME_DAVINCI_WIDE_GAMUT,
    MATRIX_DAVINCI_WIDE_GAMUT_TO_XYZ,
    MATRIX_XYZ_TO_DAVINCI_WIDE_GAMUT,
    linear_function,
    linear_function,
)
RGB_COLOURSPACE_DAVINCI_WIDE_GAMUT.__doc__ = """
*DaVinci Wide Gamut* colourspace.

References
----------
:cite:`BlackmagicDesign2020`

RGB_COLOURSPACE_DAVINCI_WIDE_GAMUT : RGB_Colourspace
"""
Пример #43
0
DON_RGB_4_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_DON_RGB_4_MATRIX = np.linalg.inv(DON_RGB_4_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Don RGB 4* colourspace matrix.

XYZ_TO_DON_RGB_4_MATRIX : array_like, (3, 3)
"""

DON_RGB_4_COLOURSPACE = RGB_Colourspace(
    'Don RGB 4',
    DON_RGB_4_PRIMARIES,
    DON_RGB_4_WHITEPOINT,
    DON_RGB_4_WHITEPOINT_NAME,
    DON_RGB_4_TO_XYZ_MATRIX,
    XYZ_TO_DON_RGB_4_MATRIX,
    partial(gamma_function, exponent=1 / 2.2),
    partial(gamma_function, exponent=2.2),
)
DON_RGB_4_COLOURSPACE.__doc__ = """
*Don RGB 4* colourspace.

References
----------
:cite:`HutchColorg`

DON_RGB_4_COLOURSPACE : RGB_Colourspace
"""
Пример #44
0
MATRIX_SHARP_RGB_TO_XYZ : array_like, (3, 3)
"""

MATRIX_XYZ_TO_SHARP_RGB = np.linalg.inv(MATRIX_SHARP_RGB_TO_XYZ)
"""
*CIE XYZ* tristimulus values to *Sharp RGB* colourspace matrix.

MATRIX_XYZ_TO_SHARP_RGB : array_like, (3, 3)
"""

RGB_COLOURSPACE_SHARP_RGB = RGB_Colourspace(
    'Sharp RGB',
    PRIMARIES_SHARP_RGB,
    CCS_WHITEPOINT_SHARP_RGB,
    WHITEPOINT_NAME_SHARP_RGB,
    MATRIX_SHARP_RGB_TO_XYZ,
    MATRIX_XYZ_TO_SHARP_RGB,
    linear_function,
    linear_function,
)
RGB_COLOURSPACE_SHARP_RGB.__doc__ = """
*Sharp RGB* colourspace.

References
----------
:cite:`Susstrunk2000`, :cite:`Ward2002`, :cite:`Ward2016`

RGB_COLOURSPACE_SHARP_RGB : RGB_Colourspace
"""
Пример #45
0
AP1_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_AP1_MATRIX = np.linalg.inv(AP1_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *ACES Primaries 1* matrix.

XYZ_TO_AP1_MATRIX : array_like, (3, 3)
"""

ACES_2065_1_COLOURSPACE = RGB_Colourspace(
    'ACES2065-1',
    AP0,
    ACES_WHITEPOINT,
    ACES_WHITEPOINT_NAME,
    AP0_TO_XYZ_MATRIX,
    XYZ_TO_AP0_MATRIX,
    linear_function,
    linear_function,
)
ACES_2065_1_COLOURSPACE.__doc__ = """
*ACES2065-1* colourspace, base encoding, used for exchange of full fidelity
images and archiving.

References
----------
:cite:`TheAcademyofMotionPictureArtsandSciences2014q`,
:cite:`TheAcademyofMotionPictureArtsandSciences2014r`,
:cite:`TheAcademyofMotionPictureArtsandSciencese`

ACES_2065_1_COLOURSPACE : RGB_Colourspace
Пример #46
0
BT470_525_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_BT470_525_MATRIX = np.linalg.inv(BT470_525_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *ITU-R BT.470 - 525* colourspace matrix.

XYZ_TO_BT470_525_MATRIX : array_like, (3, 3)
"""

BT470_525_COLOURSPACE = RGB_Colourspace(
    'ITU-R BT.470 - 525',
    BT470_525_PRIMARIES,
    BT470_525_WHITEPOINT,
    BT470_525_WHITEPOINT_NAME,
    BT470_525_TO_XYZ_MATRIX,
    XYZ_TO_BT470_525_MATRIX,
    partial(gamma_function, exponent=1 / 2.8),
    partial(gamma_function, exponent=2.8),
)
BT470_525_COLOURSPACE.__doc__ = """
*ITU-R BT.470 - 525* colourspace.

References
----------
:cite:`InternationalTelecommunicationUnion1998a`

BT470_525_COLOURSPACE : RGB_Colourspace
"""

BT470_625_PRIMARIES = np.array([[0.64, 0.33], [0.29, 0.60], [0.15, 0.06]], )
Пример #47
0
SMPTE_240M_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_SMPTE_240M_MATRIX = np.linalg.inv(SMPTE_240M_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *SMPTE 240M* colourspace matrix.

XYZ_TO_SMPTE_240M_MATRIX : array_like, (3, 3)
"""

SMPTE_240M_COLOURSPACE = RGB_Colourspace(
    'SMPTE 240M',
    SMPTE_240M_PRIMARIES,
    SMPTE_240M_WHITEPOINT,
    SMPTE_240M_WHITEPOINT_NAME,
    SMPTE_240M_TO_XYZ_MATRIX,
    XYZ_TO_SMPTE_240M_MATRIX,
    oetf_SMPTE240M,
    eotf_SMPTE240M,
)
SMPTE_240M_COLOURSPACE.__doc__ = """
*SMPTE 240M* colourspace.

References
----------
:cite:`SocietyofMotionPictureandTelevisionEngineers1999b`,
:cite:`SocietyofMotionPictureandTelevisionEngineers2004a`

SMPTE_240M_COLOURSPACE : RGB_Colourspace
"""
Пример #48
0
REC_2020_TO_XYZ_MATRIX = normalised_primary_matrix(REC_2020_PRIMARIES,
                                                   REC_2020_WHITEPOINT)
"""
*Rec. 2020* colourspace to *CIE XYZ* tristimulus values matrix.

REC_2020_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_REC_2020_MATRIX = np.linalg.inv(REC_2020_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Rec. 2020* colourspace matrix.

XYZ_TO_REC_2020_MATRIX : array_like, (3, 3)
"""

REC_2020_COLOURSPACE = RGB_Colourspace(
    'Rec. 2020',
    REC_2020_PRIMARIES,
    REC_2020_WHITEPOINT,
    REC_2020_ILLUMINANT,
    REC_2020_TO_XYZ_MATRIX,
    XYZ_TO_REC_2020_MATRIX,
    oetf_BT2020,
    eotf_BT2020)  # yapf: disable
"""
*Rec. 2020* colourspace.

REC_2020_COLOURSPACE : RGB_Colourspace
"""
Пример #49
0
XTREME_RGB_TO_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_XTREME_RGB_MATRIX = np.linalg.inv(XTREME_RGB_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *Xtreme RGB* colourspace matrix.

XYZ_TO_XTREME_RGB_MATRIX : array_like, (3, 3)
"""

XTREME_RGB_COLOURSPACE = RGB_Colourspace(
    'Xtreme RGB',
    XTREME_RGB_PRIMARIES,
    XTREME_RGB_WHITEPOINT,
    XTREME_RGB_WHITEPOINT_NAME,
    XTREME_RGB_TO_XYZ_MATRIX,
    XYZ_TO_XTREME_RGB_MATRIX,
    partial(gamma_function, exponent=1 / 2.2),
    partial(gamma_function, exponent=2.2),
)
XTREME_RGB_COLOURSPACE.__doc__ = """
*Xtreme RGB* colourspace.

References
----------
:cite:`HutchColore`

XTREME_RGB_COLOURSPACE : RGB_Colourspace
"""
Пример #50
0
MATRIX_P3_D65_TO_XYZ = normalised_primary_matrix(PRIMARIES_P3_D65,
                                                 CCS_WHITEPOINT_P3_D65)
"""
*P3-D65* colourspace to *CIE XYZ* tristimulus values matrix.

MATRIX_P3_D65_TO_XYZ : array_like, (3, 3)
"""

MATRIX_XYZ_TO_P3_D65 = np.linalg.inv(MATRIX_P3_D65_TO_XYZ)
"""
*CIE XYZ* tristimulus values to *P3-D65* colourspace matrix.

MATRIX_XYZ_TO_P3_D65 : array_like, (3, 3)
"""

RGB_COLOURSPACE_P3_D65 = RGB_Colourspace(
    'P3-D65',
    PRIMARIES_P3_D65,
    CCS_WHITEPOINT_P3_D65,
    WHITEPOINT_NAME_P3_D65,
    MATRIX_P3_D65_TO_XYZ,
    MATRIX_XYZ_TO_P3_D65,
    partial(gamma_function, exponent=1 / 2.6),
    partial(gamma_function, exponent=2.6),
)
RGB_COLOURSPACE_P3_D65.__doc__ = """
*P3-D65* colourspace.

RGB_COLOURSPACE_P3_D65 : RGB_Colourspace
"""
Пример #51
0
XYZ_TO_sRGB_MATRIX = np.array([
    [3.2406, -1.5372, -0.4986],
    [-0.9689, 1.8758, 0.0415],
    [0.0557, -0.2040, 1.0570],
])
"""
*CIE XYZ* tristimulus values to *sRGB* colourspace matrix.

XYZ_TO_sRGB_MATRIX : array_like, (3, 3)
"""

sRGB_COLOURSPACE = RGB_Colourspace(
    'sRGB',
    sRGB_PRIMARIES,
    sRGB_WHITEPOINT,
    sRGB_WHITEPOINT_NAME,
    sRGB_TO_XYZ_MATRIX,
    XYZ_TO_sRGB_MATRIX,
    oetf_sRGB,
    oetf_reverse_sRGB,
)
sRGB_COLOURSPACE.__doc__ = """
*sRGB* colourspace.

References
----------
:cite:`InternationalElectrotechnicalCommission1999a`,
:cite:`InternationalTelecommunicationUnion2015i`

sRGB_COLOURSPACE : RGB_Colourspace
"""
Пример #52
0
RED_COLOR_XYZ_MATRIX : array_like, (3, 3)
"""

XYZ_TO_RED_COLOR_MATRIX = np.linalg.inv(RED_COLOR_TO_XYZ_MATRIX)
"""
*CIE XYZ* tristimulus values to *REDcolor* colourspace matrix.

XYZ_TO_RED_COLOR_MATRIX : array_like, (3, 3)
"""

RED_COLOR_COLOURSPACE = RGB_Colourspace(
    'REDcolor',
    RED_COLOR_PRIMARIES,
    RED_COLOR_WHITEPOINT,
    RED_COLOR_WHITEPOINT_NAME,
    RED_COLOR_TO_XYZ_MATRIX,
    XYZ_TO_RED_COLOR_MATRIX,
    log_encoding_REDLogFilm,
    log_decoding_REDLogFilm,
)
RED_COLOR_COLOURSPACE.__doc__ = """
*REDcolor* colourspace.

References
----------
:cite:`Mansencal2015d`, :cite:`SonyImageworks2012a`

RED_COLOR_COLOURSPACE : RGB_Colourspace
"""

RED_COLOR_2_PRIMARIES = np.array([