Skip to content

Commit 9c00f80

Browse files
nick-shawpre-commit-ci[bot]KelSolaar
authored
PR: Add *FilmLight E-Gamut 2*. (#1323)
* Add Filmlight E-Gamut 2 * Combine E-Gamut imports * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Lower E-Gamut 2 matrix tolerance * Revert copyright date in `colour.models.rgb.datasets.filmlight.py` module. * Update `colour.models.RGB_COLOURSPACE_FILMLIGHT_E_GAMUT_2` attribute reference. --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Thomas Mansencal <[email protected]>
1 parent 87ea299 commit 9c00f80

File tree

5 files changed

+62
-4
lines changed

5 files changed

+62
-4
lines changed

colour/models/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,7 @@
306306
RGB_COLOURSPACE_EKTA_SPACE_PS_5,
307307
RGB_COLOURSPACE_ERIMM_RGB,
308308
RGB_COLOURSPACE_FILMLIGHT_E_GAMUT,
309+
RGB_COLOURSPACE_FILMLIGHT_E_GAMUT_2,
309310
RGB_COLOURSPACE_F_GAMUT,
310311
RGB_COLOURSPACE_G18_REC709_SCENE,
311312
RGB_COLOURSPACE_G22_ADOBERGB_SCENE,
@@ -849,6 +850,7 @@
849850
"RGB_COLOURSPACE_EKTA_SPACE_PS_5",
850851
"RGB_COLOURSPACE_ERIMM_RGB",
851852
"RGB_COLOURSPACE_FILMLIGHT_E_GAMUT",
853+
"RGB_COLOURSPACE_FILMLIGHT_E_GAMUT_2",
852854
"RGB_COLOURSPACE_F_GAMUT",
853855
"RGB_COLOURSPACE_F_GAMUT_C",
854856
"RGB_COLOURSPACE_G18_REC709_SCENE",

colour/models/rgb/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@
201201
RGB_COLOURSPACE_EKTA_SPACE_PS_5,
202202
RGB_COLOURSPACE_ERIMM_RGB,
203203
RGB_COLOURSPACE_FILMLIGHT_E_GAMUT,
204+
RGB_COLOURSPACE_FILMLIGHT_E_GAMUT_2,
204205
RGB_COLOURSPACE_F_GAMUT,
205206
RGB_COLOURSPACE_G18_REC709_SCENE,
206207
RGB_COLOURSPACE_G22_ADOBERGB_SCENE,
@@ -487,6 +488,7 @@
487488
"RGB_COLOURSPACE_EKTA_SPACE_PS_5",
488489
"RGB_COLOURSPACE_ERIMM_RGB",
489490
"RGB_COLOURSPACE_FILMLIGHT_E_GAMUT",
491+
"RGB_COLOURSPACE_FILMLIGHT_E_GAMUT_2",
490492
"RGB_COLOURSPACE_F_GAMUT",
491493
"RGB_COLOURSPACE_F_GAMUT_C",
492494
"RGB_COLOURSPACE_G18_REC709_SCENE",

colour/models/rgb/datasets/__init__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@
3232
from .ebu_3213_e import RGB_COLOURSPACE_EBU_3213_E
3333
from .eci_rgb_v2 import RGB_COLOURSPACE_ECI_RGB_V2
3434
from .ekta_space_ps5 import RGB_COLOURSPACE_EKTA_SPACE_PS_5
35-
from .filmlight_e_gamut import RGB_COLOURSPACE_FILMLIGHT_E_GAMUT
35+
from .filmlight import (
36+
RGB_COLOURSPACE_FILMLIGHT_E_GAMUT,
37+
RGB_COLOURSPACE_FILMLIGHT_E_GAMUT_2,
38+
)
3639
from .gopro import RGB_COLOURSPACE_PROTUNE_NATIVE
3740
from .itur_bt_470 import RGB_COLOURSPACE_BT470_525, RGB_COLOURSPACE_BT470_625
3841
from .itur_bt_709 import RGB_COLOURSPACE_BT709
@@ -159,6 +162,7 @@
159162
"RGB_COLOURSPACE_ECI_RGB_V2",
160163
"RGB_COLOURSPACE_EKTA_SPACE_PS_5",
161164
"RGB_COLOURSPACE_FILMLIGHT_E_GAMUT",
165+
"RGB_COLOURSPACE_FILMLIGHT_E_GAMUT_2",
162166
"RGB_COLOURSPACE_PROTUNE_NATIVE",
163167
"RGB_COLOURSPACE_MAX_RGB",
164168
"RGB_COLOURSPACE_N_GAMUT",

colour/models/rgb/datasets/filmlight_e_gamut.py renamed to colour/models/rgb/datasets/filmlight.py

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
"""
2-
FilmLight E-Gamut Colourspace
3-
=============================
2+
FilmLight Colourspaces
3+
======================
44
5-
Define the *FilmLight E-Gamut* colourspace:
5+
Define the *FilmLight* colourspaces:
66
77
- :attr:`colour.models.RGB_COLOURSPACE_FILMLIGHT_E_GAMUT`.
8+
- :attr:`colour.models.RGB_COLOURSPACE_FILMLIGHT_E_GAMUT_2`.
89
910
References
1011
----------
1112
- :cite:`Siragusano2018a` : Siragusano, D. (2018). Private Discussion with
1213
Shaw, Nick.
14+
- :cite:`Siragusano2025` : Siragusano, D. (2025). Private discussion on
15+
colour-science Discord server. https://discord.com/channels/\
16+
1269935627386884106/1269935628808622102/1325770472058523668
1317
"""
1418

1519
from __future__ import annotations
@@ -44,6 +48,10 @@
4448
"MATRIX_FILMLIGHT_E_GAMUT_TO_XYZ",
4549
"MATRIX_XYZ_TO_FILMLIGHT_E_GAMUT",
4650
"RGB_COLOURSPACE_FILMLIGHT_E_GAMUT",
51+
"PRIMARIES_FILMLIGHT_E_GAMUT_2",
52+
"MATRIX_FILMLIGHT_E_GAMUT_2_TO_XYZ",
53+
"MATRIX_XYZ_TO_FILMLIGHT_E_GAMUT_2",
54+
"RGB_COLOURSPACE_FILMLIGHT_E_GAMUT_2",
4755
]
4856

4957
PRIMARIES_FILMLIGHT_E_GAMUT: NDArrayFloat = np.array(
@@ -90,3 +98,44 @@
9098
----------
9199
:cite:`Siragusano2018a`
92100
"""
101+
102+
PRIMARIES_FILMLIGHT_E_GAMUT_2: NDArrayFloat = np.array(
103+
[
104+
[0.8300, 0.3100],
105+
[0.1500, 0.9500],
106+
[0.0650, -0.0805],
107+
]
108+
)
109+
"""*FilmLight E-Gamut 2* colourspace primaries."""
110+
111+
MATRIX_FILMLIGHT_E_GAMUT_2_TO_XYZ: NDArrayFloat = np.array(
112+
[
113+
[0.736478, 0.130740, 0.083239],
114+
[0.275070, 0.828018, -0.103088],
115+
[-0.124225, -0.087160, 1.300443],
116+
]
117+
)
118+
"""*FilmLight E-Gamut 2* colourspace to *CIE XYZ* tristimulus values matrix."""
119+
120+
MATRIX_XYZ_TO_FILMLIGHT_E_GAMUT_2: NDArrayFloat = np.linalg.inv(
121+
MATRIX_FILMLIGHT_E_GAMUT_2_TO_XYZ
122+
)
123+
"""*CIE XYZ* tristimulus values to *FilmLight E-Gamut 2* colourspace matrix."""
124+
125+
RGB_COLOURSPACE_FILMLIGHT_E_GAMUT_2: RGB_Colourspace = RGB_Colourspace(
126+
"FilmLight E-Gamut 2",
127+
PRIMARIES_FILMLIGHT_E_GAMUT_2,
128+
CCS_WHITEPOINT_FILMLIGHT_E_GAMUT,
129+
WHITEPOINT_NAME_FILMLIGHT_E_GAMUT,
130+
MATRIX_FILMLIGHT_E_GAMUT_2_TO_XYZ,
131+
MATRIX_XYZ_TO_FILMLIGHT_E_GAMUT_2,
132+
log_encoding_FilmLightTLog,
133+
log_decoding_FilmLightTLog,
134+
)
135+
RGB_COLOURSPACE_FILMLIGHT_E_GAMUT_2.__doc__ = """
136+
*FilmLight E-Gamut 2* colourspace.
137+
138+
References
139+
----------
140+
:cite:`Siragusano2025`
141+
"""

colour/models/rgb/datasets/tests/test__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ def test_transformation_matrices(self) -> None:
4141
"ARRI Wide Gamut 3": 1e-6,
4242
"DJI D-Gamut": 5e-4,
4343
"ERIMM RGB": 1e-3,
44+
"FilmLight E-Gamut 2": 1e-6,
4445
"Gamma 2.2 Encoded AdobeRGB": 1e-5,
4546
"Linear AdobeRGB": 1e-5,
4647
"ProPhoto RGB": 1e-3,

0 commit comments

Comments
 (0)