Coverage for models/rgb/datasets/dcdm_xyz.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"""
2Digital Cinema Distribution Master (DCDM) XYZ Colourspace
3=========================================================
5Define the *DCDM XYZ* colourspace:
7- :attr:`colour.models.RGB_COLOURSPACE_DCDM_XYZ`.
9References
10----------
11- :cite:`DigitalCinemaInitiatives2007b` : Digital Cinema Initiatives. (2007).
12 Digital Cinema System Specification - Version 1.1.
13 http://www.dcimovies.com/archives/spec_v1_1/\
14DCI_DCinema_System_Spec_v1_1.pdf
15"""
17from __future__ import annotations
19import typing
21import numpy as np
23from colour.colorimetry import CCS_ILLUMINANTS
25if typing.TYPE_CHECKING:
26 from colour.hints import NDArrayFloat
28from colour.models.rgb import (
29 RGB_Colourspace,
30 eotf_DCDM,
31 eotf_inverse_DCDM,
32 normalised_primary_matrix,
33)
35__author__ = "Colour Developers"
36__copyright__ = "Copyright 2013 Colour Developers"
37__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause"
38__maintainer__ = "Colour Developers"
39__email__ = "colour-developers@colour-science.org"
40__status__ = "Production"
42__all__ = [
43 "PRIMARIES_DCDM_XYZ",
44 "WHITEPOINT_NAME_DCDM_XYZ",
45 "CCS_WHITEPOINT_DCDM_XYZ",
46 "MATRIX_DCDM_XYZ_TO_XYZ",
47 "MATRIX_XYZ_TO_DCDM_XYZ",
48 "RGB_COLOURSPACE_DCDM_XYZ",
49]
51PRIMARIES_DCDM_XYZ: NDArrayFloat = np.array(
52 [
53 [1.0, 0.0],
54 [0.0, 1.0],
55 [0.0, 0.0],
56 ]
57)
58"""*DCDM XYZ* colourspace primaries."""
60WHITEPOINT_NAME_DCDM_XYZ: str = "E"
61"""*DCDM XYZ* colourspace whitepoint name."""
63CCS_WHITEPOINT_DCDM_XYZ: NDArrayFloat = CCS_ILLUMINANTS[
64 "CIE 1931 2 Degree Standard Observer"
65][WHITEPOINT_NAME_DCDM_XYZ]
66"""*DCDM XYZ* colourspace whitepoint chromaticity coordinates."""
68MATRIX_DCDM_XYZ_TO_XYZ: NDArrayFloat = normalised_primary_matrix(
69 PRIMARIES_DCDM_XYZ, CCS_WHITEPOINT_DCDM_XYZ
70)
71"""*DCDM XYZ* colourspace to *CIE XYZ* tristimulus values matrix."""
73MATRIX_XYZ_TO_DCDM_XYZ: NDArrayFloat = np.linalg.inv(MATRIX_DCDM_XYZ_TO_XYZ)
74"""*CIE XYZ* tristimulus values to *DCDM XYZ* colourspace matrix."""
76RGB_COLOURSPACE_DCDM_XYZ: RGB_Colourspace = RGB_Colourspace(
77 "DCDM XYZ",
78 PRIMARIES_DCDM_XYZ,
79 CCS_WHITEPOINT_DCDM_XYZ,
80 WHITEPOINT_NAME_DCDM_XYZ,
81 MATRIX_DCDM_XYZ_TO_XYZ,
82 MATRIX_XYZ_TO_DCDM_XYZ,
83 eotf_inverse_DCDM,
84 eotf_DCDM,
85)
86RGB_COLOURSPACE_DCDM_XYZ.__doc__ = """
87*DCDM XYZ* colourspace.
89References
90----------
91:cite:`DigitalCinemaInitiatives2007b`
92"""