Coverage for models/rgb/datasets/itur_bt_709.py: 0%
24 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-16 22:49 +1300
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-16 22:49 +1300
1"""
2Recommendation ITU-R BT.709 Colourspace
3=======================================
5Define the *Recommendation ITU-R BT.709* colourspace:
7- :attr:`colour.models.RGB_COLOURSPACE_BT709`.
9References
10----------
11- :cite:`InternationalTelecommunicationUnion2015i` : International
12 Telecommunication Union. (2015). Recommendation ITU-R BT.709-6 - Parameter
13 values for the HDTV standards for production and international programme
14 exchange BT Series Broadcasting service (pp. 1-32).
15 https://www.itu.int/dms_pubrec/itu-r/rec/bt/\
16R-REC-BT.709-6-201506-I!!PDF-E.pdf
17"""
19from __future__ import annotations
21import typing
23import numpy as np
25from colour.colorimetry import CCS_ILLUMINANTS
27if typing.TYPE_CHECKING:
28 from colour.hints import NDArrayFloat
30from colour.models.rgb import (
31 RGB_Colourspace,
32 normalised_primary_matrix,
33 oetf_BT709,
34 oetf_inverse_BT709,
35)
37__author__ = "Colour Developers"
38__copyright__ = "Copyright 2013 Colour Developers"
39__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause"
40__maintainer__ = "Colour Developers"
41__email__ = "colour-developers@colour-science.org"
42__status__ = "Production"
44__all__ = [
45 "PRIMARIES_BT709",
46 "CCS_WHITEPOINT_BT709",
47 "WHITEPOINT_NAME_BT709",
48 "MATRIX_BT709_TO_XYZ",
49 "MATRIX_XYZ_TO_BT709",
50 "RGB_COLOURSPACE_BT709",
51]
53PRIMARIES_BT709: NDArrayFloat = np.array(
54 [
55 [0.6400, 0.3300],
56 [0.3000, 0.6000],
57 [0.1500, 0.0600],
58 ]
59)
60"""*Recommendation ITU-R BT.709* colourspace primaries."""
62WHITEPOINT_NAME_BT709: str = "D65"
63"""*Recommendation ITU-R BT.709* colourspace whitepoint name."""
65CCS_WHITEPOINT_BT709: NDArrayFloat = CCS_ILLUMINANTS[
66 "CIE 1931 2 Degree Standard Observer"
67][WHITEPOINT_NAME_BT709]
68"""
69*Recommendation ITU-R BT.709* colourspace whitepoint chromaticity coordinates.
70"""
72MATRIX_BT709_TO_XYZ: NDArrayFloat = normalised_primary_matrix(
73 PRIMARIES_BT709, CCS_WHITEPOINT_BT709
74)
75"""
76*Recommendation ITU-R BT.709* colourspace to *CIE XYZ* tristimulus values
77matrix.
78"""
80MATRIX_XYZ_TO_BT709: NDArrayFloat = np.linalg.inv(MATRIX_BT709_TO_XYZ)
81"""
82*CIE XYZ* tristimulus values to *Recommendation ITU-R BT.709* colourspace
83matrix.
84"""
86RGB_COLOURSPACE_BT709: RGB_Colourspace = RGB_Colourspace(
87 "ITU-R BT.709",
88 PRIMARIES_BT709,
89 CCS_WHITEPOINT_BT709,
90 WHITEPOINT_NAME_BT709,
91 MATRIX_BT709_TO_XYZ,
92 MATRIX_XYZ_TO_BT709,
93 oetf_BT709,
94 oetf_inverse_BT709,
95)
96RGB_COLOURSPACE_BT709.__doc__ = """
97*Recommendation ITU-R BT.709* colourspace.
99References
100----------
101:cite:`InternationalTelecommunicationUnion2015i`
102"""