Coverage for models/rgb/datasets/blackmagic_design.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"""
2Blackmagic Design Colourspaces
3==============================
5Define the *Blackmagic Design* *RGB* colourspaces:
7- :attr:`colour.models.RGB_COLOURSPACE_BLACKMAGIC_WIDE_GAMUT`.
9References
10----------
11- :cite:`BlackmagicDesign2021` : Blackmagic Design. (2021). Blackmagic
12 Generation 5 Color Science. https://drive.google.com/file/d/\
131FF5WO2nvI9GEWb4_EntrBoV9ZIuFToZd/view
14"""
16from __future__ import annotations
18import typing
20import numpy as np
22from colour.colorimetry import CCS_ILLUMINANTS
24if typing.TYPE_CHECKING:
25 from colour.hints import NDArrayFloat
27from colour.models.rgb import (
28 RGB_Colourspace,
29 oetf_BlackmagicFilmGeneration5,
30 oetf_inverse_BlackmagicFilmGeneration5,
31)
33__author__ = "Colour Developers"
34__copyright__ = "Copyright 2013 Colour Developers"
35__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause"
36__maintainer__ = "Colour Developers"
37__email__ = "colour-developers@colour-science.org"
38__status__ = "Production"
40__all__ = [
41 "PRIMARIES_BLACKMAGIC_WIDE_GAMUT",
42 "WHITEPOINT_NAME_BLACKMAGIC_WIDE_GAMUT",
43 "CCS_WHITEPOINT_BLACKMAGIC_WIDE_GAMUT",
44 "MATRIX_BLACKMAGIC_WIDE_GAMUT_TO_XYZ",
45 "MATRIX_XYZ_TO_BLACKMAGIC_WIDE_GAMUT",
46 "RGB_COLOURSPACE_BLACKMAGIC_WIDE_GAMUT",
47]
49PRIMARIES_BLACKMAGIC_WIDE_GAMUT: NDArrayFloat = np.array(
50 [
51 [0.7177215, 0.3171181],
52 [0.2280410, 0.8615690],
53 [0.1005841, -0.0820452],
54 ]
55)
56"""*Blackmagic Wide Gamut* colourspace primaries."""
58WHITEPOINT_NAME_BLACKMAGIC_WIDE_GAMUT: str = "Blackmagic Wide Gamut"
59"""
60*Blackmagic Wide Gamut* colourspace whitepoint name.
62Notes
63-----
64- *Blackmagic Wide Gamut* colourspace whitepoint is an uncommonly rounded
65 *D65* variant at 7 decimals: [0.3127170, 0.3290312]
66"""
68CCS_WHITEPOINT_BLACKMAGIC_WIDE_GAMUT: NDArrayFloat = CCS_ILLUMINANTS[
69 "CIE 1931 2 Degree Standard Observer"
70][WHITEPOINT_NAME_BLACKMAGIC_WIDE_GAMUT]
71"""*Blackmagic Wide Gamut* colourspace whitepoint chromaticity coordinates."""
73MATRIX_BLACKMAGIC_WIDE_GAMUT_TO_XYZ: NDArrayFloat = np.array(
74 [
75 [0.606530, 0.220408, 0.123479],
76 [0.267989, 0.832731, -0.100720],
77 [-0.029442, -0.086611, 1.204861],
78 ]
79)
80"""*Blackmagic Wide Gamut* colourspace to *CIE XYZ* tristimulus values matrix."""
82MATRIX_XYZ_TO_BLACKMAGIC_WIDE_GAMUT: NDArrayFloat = np.array(
83 [
84 [1.866382, -0.518397, -0.234610],
85 [-0.600342, 1.378149, 0.176732],
86 [0.002452, 0.086400, 0.836943],
87 ]
88)
89"""*CIE XYZ* tristimulus values to *Blackmagic Wide Gamut* colourspace matrix."""
91RGB_COLOURSPACE_BLACKMAGIC_WIDE_GAMUT: RGB_Colourspace = RGB_Colourspace(
92 "Blackmagic Wide Gamut",
93 PRIMARIES_BLACKMAGIC_WIDE_GAMUT,
94 CCS_WHITEPOINT_BLACKMAGIC_WIDE_GAMUT,
95 WHITEPOINT_NAME_BLACKMAGIC_WIDE_GAMUT,
96 MATRIX_BLACKMAGIC_WIDE_GAMUT_TO_XYZ,
97 MATRIX_XYZ_TO_BLACKMAGIC_WIDE_GAMUT,
98 oetf_BlackmagicFilmGeneration5,
99 oetf_inverse_BlackmagicFilmGeneration5,
100 use_derived_matrix_RGB_to_XYZ=True,
101 use_derived_matrix_XYZ_to_RGB=True,
102)
103RGB_COLOURSPACE_BLACKMAGIC_WIDE_GAMUT.__doc__ = """
104*Blackmagic Wide Gamut* colourspace.
106References
107----------
108:cite:`BlackmagicDesign2021`
109"""