Skip to content

Commit 1df6010

Browse files
committed
Implement support for "Kirk (2019)" "Yrg" colourspace.
1 parent 996bb2f commit 1df6010

File tree

11 files changed

+4252
-2893
lines changed

11 files changed

+4252
-2893
lines changed

BIBLIOGRAPHY.bib

Lines changed: 3588 additions & 2893 deletions
Large diffs are not rendered by default.

README.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -917,6 +917,14 @@ Ragoo and Farup (2021) Optimised IPT Colourspace
917917
>>> colour.XYZ_to_IPT_Ragoo2021([0.20654008, 0.12197225, 0.05136952])
918918
array([ 0.42248243, 0.2910514 , 0.20410663])
919919
920+
Yrg Colourspace - Kirk (2019)
921+
*****************************
922+
923+
.. code-block:: python
924+
925+
>>> colour.XYZ_to_Yrg([0.20654008, 0.12197225, 0.05136952])
926+
array([ 0.13137801, 0.49037645, 0.37777388])
927+
920928
Y'CbCr Colour Encoding
921929
**********************
922930

colour/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,9 +339,11 @@
339339
XYZ_to_sRGB,
340340
XYZ_to_xy,
341341
XYZ_to_xyY,
342+
XYZ_to_Yrg,
342343
YCbCr_to_RGB,
343344
YCoCg_to_RGB,
344345
YcCbcCrc_to_RGB,
346+
Yrg_to_XYZ,
345347
cctf_decoding,
346348
cctf_encoding,
347349
chromatically_adapted_primaries,
@@ -763,9 +765,11 @@ def __getattr__(self, attribute) -> Any:
763765
"XYZ_to_sRGB",
764766
"XYZ_to_xy",
765767
"XYZ_to_xyY",
768+
"XYZ_to_Yrg",
766769
"YCbCr_to_RGB",
767770
"YCoCg_to_RGB",
768771
"YcCbcCrc_to_RGB",
772+
"Yrg_to_XYZ",
769773
"cctf_decoding",
770774
"cctf_encoding",
771775
"chromatically_adapted_primaries",

colour/graph/conversion.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,11 @@
130130
XYZ_to_sRGB,
131131
XYZ_to_xy,
132132
XYZ_to_xyY,
133+
XYZ_to_Yrg,
133134
YCbCr_to_RGB,
134135
YCoCg_to_RGB,
135136
YcCbcCrc_to_RGB,
137+
Yrg_to_XYZ,
136138
cctf_decoding,
137139
cctf_encoding,
138140
hdr_CIELab_to_XYZ,
@@ -753,6 +755,8 @@ def mired_to_CCT_D_uv(mired: ArrayLike) -> NDArrayFloat:
753755
("Oklab", "CIE XYZ", Oklab_to_XYZ),
754756
("CIE XYZ", "ProLab", XYZ_to_ProLab),
755757
("ProLab", "CIE XYZ", ProLab_to_XYZ),
758+
("CIE XYZ", "Yrg", XYZ_to_Yrg),
759+
("Yrg", "CIE XYZ", Yrg_to_XYZ),
756760
# RGB Colour Models
757761
(
758762
"CIE XYZ",

colour/models/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@
9797
from .osa_ucs import XYZ_to_OSA_UCS, OSA_UCS_to_XYZ
9898
from .prolab import XYZ_to_ProLab, ProLab_to_XYZ
9999
from .ragoo2021 import XYZ_to_IPT_Ragoo2021, IPT_Ragoo2021_to_XYZ
100+
from .yrg import LMS_to_Yrg, Yrg_to_LMS, XYZ_to_Yrg, Yrg_to_XYZ
100101
from .datasets import (
101102
DATA_MACADAM_1942_ELLIPSES,
102103
CCS_ILLUMINANT_POINTER_GAMUT,
@@ -483,6 +484,12 @@
483484
"XYZ_to_IPT_Ragoo2021",
484485
"IPT_Ragoo2021_to_XYZ",
485486
]
487+
__all__ += [
488+
"LMS_to_Yrg",
489+
"Yrg_to_LMS",
490+
"XYZ_to_Yrg",
491+
"Yrg_to_XYZ",
492+
]
486493
__all__ += [
487494
"HDR_IPT_METHODS",
488495
"XYZ_to_hdr_IPT",

colour/models/common.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
"Oklab",
8383
"hdr-CIELAB",
8484
"hdr-IPT",
85+
"Yrg",
8586
)
8687
if is_documentation_building(): # pragma: no cover
8788
COLOURSPACE_MODELS = DocstringTuple(COLOURSPACE_MODELS)
@@ -117,6 +118,7 @@
117118
"Oklab": ("$L$", "$a$", "$b$"),
118119
"hdr-CIELAB": ("L hdr", "a hdr", "b hdr"),
119120
"hdr-IPT": ("I hdr", "P hdr", "T hdr"),
121+
"Yrg": ("Y", "r", "g"),
120122
}
121123
)
122124
"""Colourspace models labels mapping."""
@@ -152,6 +154,7 @@
152154
"Oklab": np.array([1, 1, 1]),
153155
"hdr-CIELAB": np.array([100, 100, 100]),
154156
"hdr-IPT": np.array([100, 100, 100]),
157+
"Yrg": np.array([1, 1, 1]),
155158
}
156159
)
157160
"""Colourspace models domain-range scale **'1'** to **'Reference'** mapping."""

0 commit comments

Comments
 (0)