Coverage for colour/models/rgb/datasets/p3_d65.py: 100%
25 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-15 19:01 +1300
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-15 19:01 +1300
1"""
2P3-D65 Colourspace
3==================
5Define the *P3-D65* colourspace:
7- :attr:`colour.models.RGB_COLOURSPACE_P3_D65`.
8"""
10from __future__ import annotations
12import typing
13from functools import partial
15import numpy as np
17from colour.colorimetry import CCS_ILLUMINANTS
19if typing.TYPE_CHECKING:
20 from colour.hints import NDArrayFloat
22from colour.models.rgb import RGB_Colourspace, gamma_function, normalised_primary_matrix
24__author__ = "Colour Developers"
25__copyright__ = "Copyright 2013 Colour Developers"
26__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause"
27__maintainer__ = "Colour Developers"
28__email__ = "colour-developers@colour-science.org"
29__status__ = "Production"
31__all__ = [
32 "PRIMARIES_P3_D65",
33 "WHITEPOINT_NAME_P3_D65",
34 "CCS_WHITEPOINT_P3_D65",
35 "MATRIX_P3_D65_TO_XYZ",
36 "MATRIX_XYZ_TO_P3_D65",
37 "RGB_COLOURSPACE_P3_D65",
38]
40PRIMARIES_P3_D65: NDArrayFloat = np.array(
41 [
42 [0.6800, 0.3200],
43 [0.2650, 0.6900],
44 [0.1500, 0.0600],
45 ]
46)
47"""*P3-D65* colourspace primaries."""
49WHITEPOINT_NAME_P3_D65: str = "D65"
50"""*P3-D65* colourspace whitepoint name."""
52CCS_WHITEPOINT_P3_D65: NDArrayFloat = CCS_ILLUMINANTS[
53 "CIE 1931 2 Degree Standard Observer"
54][WHITEPOINT_NAME_P3_D65]
55"""*P3-D65* colourspace whitepoint chromaticity coordinates."""
57MATRIX_P3_D65_TO_XYZ: NDArrayFloat = normalised_primary_matrix(
58 PRIMARIES_P3_D65, CCS_WHITEPOINT_P3_D65
59)
60"""*P3-D65* colourspace to *CIE XYZ* tristimulus values matrix."""
62MATRIX_XYZ_TO_P3_D65: NDArrayFloat = np.linalg.inv(MATRIX_P3_D65_TO_XYZ)
63"""*CIE XYZ* tristimulus values to *P3-D65* colourspace matrix."""
65RGB_COLOURSPACE_P3_D65: RGB_Colourspace = RGB_Colourspace(
66 "P3-D65",
67 PRIMARIES_P3_D65,
68 CCS_WHITEPOINT_P3_D65,
69 WHITEPOINT_NAME_P3_D65,
70 MATRIX_P3_D65_TO_XYZ,
71 MATRIX_XYZ_TO_P3_D65,
72 partial(gamma_function, exponent=1 / 2.6),
73 partial(gamma_function, exponent=2.6),
74)
75RGB_COLOURSPACE_P3_D65.__doc__ = """
76*P3-D65* colourspace.
77"""