Coverage for colour/models/rgb/datasets/smpte_240m.py: 100%
24 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"""
2SMPTE 240M Colourspace
3======================
5Define the *SMPTE 240M* colourspace:
7- :attr:`colour.models.RGB_COLOURSPACE_SMPTE_240M`.
9References
10----------
11- :cite:`SocietyofMotionPictureandTelevisionEngineers1999b` : Society of
12 Motion Picture and Television Engineers. (1999). ANSI/SMPTE 240M-1995 -
13 Signal Parameters - 1125-Line High-Definition Production Systems (pp. 1-7).
14 http://car.france3.mars.free.fr/HD/INA-%2026%20jan%2006/\
15SMPTE%20normes%20et%20confs/s240m.pdf
16"""
18from __future__ import annotations
20import typing
22import numpy as np
24from colour.colorimetry import CCS_ILLUMINANTS
26if typing.TYPE_CHECKING:
27 from colour.hints import NDArrayFloat
29from colour.models.rgb import (
30 RGB_Colourspace,
31 eotf_SMPTE240M,
32 normalised_primary_matrix,
33 oetf_SMPTE240M,
34)
36__author__ = "Colour Developers"
37__copyright__ = "Copyright 2013 Colour Developers"
38__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause"
39__maintainer__ = "Colour Developers"
40__email__ = "colour-developers@colour-science.org"
41__status__ = "Production"
43__all__ = [
44 "PRIMARIES_SMPTE_240M",
45 "WHITEPOINT_NAME_SMPTE_240M",
46 "CCS_WHITEPOINT_SMPTE_240M",
47 "MATRIX_SMPTE_240M_TO_XYZ",
48 "MATRIX_XYZ_TO_SMPTE_240M",
49 "RGB_COLOURSPACE_SMPTE_240M",
50]
52PRIMARIES_SMPTE_240M: NDArrayFloat = np.array(
53 [
54 [0.6300, 0.3400],
55 [0.3100, 0.5950],
56 [0.1550, 0.0700],
57 ]
58)
59"""*SMPTE 240M* colourspace primaries."""
61WHITEPOINT_NAME_SMPTE_240M: str = "D65"
62"""*SMPTE 240M* colourspace whitepoint name."""
64CCS_WHITEPOINT_SMPTE_240M: NDArrayFloat = CCS_ILLUMINANTS[
65 "CIE 1931 2 Degree Standard Observer"
66][WHITEPOINT_NAME_SMPTE_240M]
67"""*SMPTE 240M* colourspace whitepoint chromaticity coordinates."""
69MATRIX_SMPTE_240M_TO_XYZ: NDArrayFloat = normalised_primary_matrix(
70 PRIMARIES_SMPTE_240M, CCS_WHITEPOINT_SMPTE_240M
71)
72"""*SMPTE 240M* colourspace to *CIE XYZ* tristimulus values matrix."""
74MATRIX_XYZ_TO_SMPTE_240M: NDArrayFloat = np.linalg.inv(MATRIX_SMPTE_240M_TO_XYZ)
75"""*CIE XYZ* tristimulus values to *SMPTE 240M* colourspace matrix."""
77RGB_COLOURSPACE_SMPTE_240M: RGB_Colourspace = RGB_Colourspace(
78 "SMPTE 240M",
79 PRIMARIES_SMPTE_240M,
80 CCS_WHITEPOINT_SMPTE_240M,
81 WHITEPOINT_NAME_SMPTE_240M,
82 MATRIX_SMPTE_240M_TO_XYZ,
83 MATRIX_XYZ_TO_SMPTE_240M,
84 oetf_SMPTE240M,
85 eotf_SMPTE240M,
86)
87RGB_COLOURSPACE_SMPTE_240M.__doc__ = """
88*SMPTE 240M* colourspace.
90References
91----------
92:cite:`SocietyofMotionPictureandTelevisionEngineers1999b`,
93"""