Coverage for models/rgb/datasets/best_rgb.py: 0%
25 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"""
2Best RGB Colourspace
3====================
5Define the *Best RGB* colourspace:
7- :attr:`colour.models.RGB_COLOURSPACE_BEST_RGB`.
9References
10----------
11- :cite:`HutchColord` : HutchColor. (n.d.). BestRGB (4 K).
12 http://www.hutchcolor.com/profiles/BestRGB.zip
13"""
15from __future__ import annotations
17import typing
18from functools import partial
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 RGB_Colourspace, gamma_function, normalised_primary_matrix
29__author__ = "Colour Developers"
30__copyright__ = "Copyright 2013 Colour Developers"
31__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause"
32__maintainer__ = "Colour Developers"
33__email__ = "colour-developers@colour-science.org"
34__status__ = "Production"
36__all__ = [
37 "PRIMARIES_BEST_RGB",
38 "WHITEPOINT_NAME_BEST_RGB",
39 "CCS_WHITEPOINT_BEST_RGB",
40 "MATRIX_BEST_RGB_TO_XYZ",
41 "MATRIX_XYZ_TO_BEST_RGB",
42 "RGB_COLOURSPACE_BEST_RGB",
43]
45PRIMARIES_BEST_RGB: NDArrayFloat = np.array(
46 [
47 [0.735191637630662, 0.264808362369338],
48 [0.215336134453781, 0.774159663865546],
49 [0.130122950819672, 0.034836065573770],
50 ]
51)
52"""*Best RGB* colourspace primaries."""
54WHITEPOINT_NAME_BEST_RGB: str = "D50"
55"""*Best RGB* colourspace whitepoint name."""
57CCS_WHITEPOINT_BEST_RGB: NDArrayFloat = CCS_ILLUMINANTS[
58 "CIE 1931 2 Degree Standard Observer"
59][WHITEPOINT_NAME_BEST_RGB]
60"""*Best RGB* colourspace whitepoint chromaticity coordinates."""
62MATRIX_BEST_RGB_TO_XYZ: NDArrayFloat = normalised_primary_matrix(
63 PRIMARIES_BEST_RGB, CCS_WHITEPOINT_BEST_RGB
64)
65"""*Best RGB* colourspace to *CIE XYZ* tristimulus values matrix."""
67MATRIX_XYZ_TO_BEST_RGB: NDArrayFloat = np.linalg.inv(MATRIX_BEST_RGB_TO_XYZ)
68"""*CIE XYZ* tristimulus values to *Best RGB* colourspace matrix."""
70RGB_COLOURSPACE_BEST_RGB: RGB_Colourspace = RGB_Colourspace(
71 "Best RGB",
72 PRIMARIES_BEST_RGB,
73 CCS_WHITEPOINT_BEST_RGB,
74 WHITEPOINT_NAME_BEST_RGB,
75 MATRIX_BEST_RGB_TO_XYZ,
76 MATRIX_XYZ_TO_BEST_RGB,
77 partial(gamma_function, exponent=1 / 2.2),
78 partial(gamma_function, exponent=2.2),
79)
80RGB_COLOURSPACE_BEST_RGB.__doc__ = """
81*Best RGB* colourspace.
83References
84----------
85:cite:`HutchColord`
86"""