Coverage for colour/models/rgb/datasets/ekta_space_ps5.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"""
2Ekta Space PS 5 Colourspace
3===========================
5Define the *Ekta Space PS 5* colourspace:
7- :attr:`colour.models.RGB_COLOURSPACE_EKTA_SPACE_PS_5`.
9References
10----------
11- :cite:`Holmesa` : Holmes, J. (n.d.). Ekta Space PS 5.
12 https://www.josephholmes.com/userfiles/Ekta_Space_PS5_JHolmes.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_EKTA_SPACE_PS_5",
38 "WHITEPOINT_NAME_EKTA_SPACE_PS_5_V",
39 "CCS_WHITEPOINT_EKTA_SPACE_PS_5",
40 "MATRIX_EKTA_SPACE_PS_5_TO_XYZ",
41 "MATRIX_XYZ_TO_EKTA_SPACE_PS_5",
42 "RGB_COLOURSPACE_EKTA_SPACE_PS_5",
43]
45PRIMARIES_EKTA_SPACE_PS_5: NDArrayFloat = np.array(
46 [
47 [0.694736842105263, 0.305263157894737],
48 [0.260000000000000, 0.700000000000000],
49 [0.109728506787330, 0.004524886877828],
50 ]
51)
52"""*Ekta Space PS 5* colourspace primaries."""
54WHITEPOINT_NAME_EKTA_SPACE_PS_5_V: str = "D50"
55"""*Ekta Space PS 5* colourspace whitepoint name."""
57CCS_WHITEPOINT_EKTA_SPACE_PS_5: NDArrayFloat = CCS_ILLUMINANTS[
58 "CIE 1931 2 Degree Standard Observer"
59][WHITEPOINT_NAME_EKTA_SPACE_PS_5_V]
60"""*Ekta Space PS 5* colourspace whitepoint chromaticity coordinates."""
62MATRIX_EKTA_SPACE_PS_5_TO_XYZ: NDArrayFloat = normalised_primary_matrix(
63 PRIMARIES_EKTA_SPACE_PS_5, CCS_WHITEPOINT_EKTA_SPACE_PS_5
64)
65"""*Ekta Space PS 5* colourspace to *CIE XYZ* tristimulus values matrix."""
67MATRIX_XYZ_TO_EKTA_SPACE_PS_5: NDArrayFloat = np.linalg.inv(
68 MATRIX_EKTA_SPACE_PS_5_TO_XYZ
69)
70"""*CIE XYZ* tristimulus values to *Ekta Space PS 5* colourspace matrix."""
72RGB_COLOURSPACE_EKTA_SPACE_PS_5: RGB_Colourspace = RGB_Colourspace(
73 "Ekta Space PS 5",
74 PRIMARIES_EKTA_SPACE_PS_5,
75 CCS_WHITEPOINT_EKTA_SPACE_PS_5,
76 WHITEPOINT_NAME_EKTA_SPACE_PS_5_V,
77 MATRIX_EKTA_SPACE_PS_5_TO_XYZ,
78 MATRIX_XYZ_TO_EKTA_SPACE_PS_5,
79 partial(gamma_function, exponent=1 / 2.2),
80 partial(gamma_function, exponent=2.2),
81)
82RGB_COLOURSPACE_EKTA_SPACE_PS_5.__doc__ = """
83*Ekta Space PS 5* colourspace.
85References
86----------
87:cite:`Holmesa`
88"""