Coverage for colour/models/rgb/datasets/beta_rgb.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"""
2Beta RGB Colourspace
3====================
5Define the *Beta RGB* colourspace:
7- :attr:`colour.models.RGB_COLOURSPACE_BETA_RGB`.
9References
10----------
11- :cite:`Lindbloom2014a` : Lindbloom, B. (2014). RGB Working Space
12 Information. Retrieved April 11, 2014, from
13 http://www.brucelindbloom.com/WorkingSpaceInfo.html
14"""
16from __future__ import annotations
18import typing
19from functools import partial
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 RGB_Colourspace, gamma_function, normalised_primary_matrix
30__author__ = "Colour Developers"
31__copyright__ = "Copyright 2013 Colour Developers"
32__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause"
33__maintainer__ = "Colour Developers"
34__email__ = "colour-developers@colour-science.org"
35__status__ = "Production"
37__all__ = [
38 "PRIMARIES_BETA_RGB",
39 "WHITEPOINT_NAME_BETA_RGB",
40 "CCS_WHITEPOINT_BETA_RGB",
41 "MATRIX_BETA_RGB_TO_XYZ",
42 "MATRIX_XYZ_TO_BETA_RGB",
43 "RGB_COLOURSPACE_BETA_RGB",
44]
46PRIMARIES_BETA_RGB: NDArrayFloat = np.array(
47 [
48 [0.6888, 0.3112],
49 [0.1986, 0.7551],
50 [0.1265, 0.0352],
51 ]
52)
53"""*Beta RGB* colourspace primaries."""
55WHITEPOINT_NAME_BETA_RGB: str = "D50"
56"""*Beta RGB* colourspace whitepoint name."""
58CCS_WHITEPOINT_BETA_RGB: NDArrayFloat = CCS_ILLUMINANTS[
59 "CIE 1931 2 Degree Standard Observer"
60][WHITEPOINT_NAME_BETA_RGB]
61"""*Beta RGB* colourspace whitepoint chromaticity coordinates."""
63MATRIX_BETA_RGB_TO_XYZ: NDArrayFloat = normalised_primary_matrix(
64 PRIMARIES_BETA_RGB, CCS_WHITEPOINT_BETA_RGB
65)
66"""*Beta RGB* colourspace to *CIE XYZ* tristimulus values matrix."""
68MATRIX_XYZ_TO_BETA_RGB: NDArrayFloat = np.linalg.inv(MATRIX_BETA_RGB_TO_XYZ)
69"""*CIE XYZ* tristimulus values to *Beta RGB* colourspace matrix."""
71RGB_COLOURSPACE_BETA_RGB: RGB_Colourspace = RGB_Colourspace(
72 "Beta RGB",
73 PRIMARIES_BETA_RGB,
74 CCS_WHITEPOINT_BETA_RGB,
75 WHITEPOINT_NAME_BETA_RGB,
76 MATRIX_BETA_RGB_TO_XYZ,
77 MATRIX_XYZ_TO_BETA_RGB,
78 partial(gamma_function, exponent=1 / 2.2),
79 partial(gamma_function, exponent=2.2),
80)
81RGB_COLOURSPACE_BETA_RGB.__doc__ = """
82*Beta RGB* colourspace.
84References
85----------
86:cite:`Lindbloom2014a`
87"""