Skip to content

Commit d889366

Browse files
committed
Uniquely define common gamma functions using partial.
1 parent b2da242 commit d889366

20 files changed

+169
-132
lines changed

README.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1495,9 +1495,12 @@ CCTFs Encoding / Decoding
14951495
'F-Log',
14961496
'F-Log2',
14971497
'Filmic Pro 6',
1498+
'Gamma 1.8',
1499+
'Gamma 2.199',
14981500
'Gamma 2.2',
14991501
'Gamma 2.4',
15001502
'Gamma 2.6',
1503+
'Gamma 2.8',
15011504
'ITU-R BT.1886',
15021505
'ITU-R BT.2020',
15031506
'ITU-R BT.2100 HLG',

colour/models/rgb/datasets/adobe_rgb_1998.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,15 @@
1414

1515
from __future__ import annotations
1616

17-
from functools import partial
18-
1917
import numpy as np
2018

2119
from colour.colorimetry import CCS_ILLUMINANTS
2220
from colour.hints import NDArrayFloat
23-
from colour.models.rgb import RGB_Colourspace, gamma_function
21+
from colour.models.rgb import RGB_Colourspace
22+
from colour.models.rgb.transfer_functions.gamma import (
23+
decoding_gamma_function_2_199,
24+
encoding_gamma_function_2_199,
25+
)
2426

2527
__author__ = "Colour Developers"
2628
__copyright__ = "Copyright 2013 Colour Developers"
@@ -80,8 +82,8 @@
8082
WHITEPOINT_NAME_ADOBE_RGB1998,
8183
MATRIX_ADOBE_RGB1998_TO_XYZ,
8284
MATRIX_XYZ_TO_ADOBE_RGB1998,
83-
partial(gamma_function, exponent=1 / (563 / 256)),
84-
partial(gamma_function, exponent=563 / 256),
85+
encoding_gamma_function_2_199,
86+
decoding_gamma_function_2_199,
8587
)
8688
RGB_COLOURSPACE_ADOBE_RGB1998.__doc__ = """
8789
*Adobe RGB (1998)* colourspace.

colour/models/rgb/datasets/adobe_wide_gamut_rgb.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,14 @@
1515

1616
from __future__ import annotations
1717

18-
from functools import partial
19-
2018
import numpy as np
2119

2220
from colour.colorimetry import CCS_ILLUMINANTS
2321
from colour.hints import NDArrayFloat
24-
from colour.models.rgb import (
25-
RGB_Colourspace,
26-
gamma_function,
27-
normalised_primary_matrix,
22+
from colour.models.rgb import RGB_Colourspace, normalised_primary_matrix
23+
from colour.models.rgb.transfer_functions.gamma import (
24+
decoding_gamma_function_2_199,
25+
encoding_gamma_function_2_199,
2826
)
2927

3028
__author__ = "Colour Developers"
@@ -77,8 +75,8 @@
7775
WHITEPOINT_NAME_ADOBE_WIDE_GAMUT_RGB,
7876
MATRIX_ADOBE_WIDE_GAMUT_RGB_TO_XYZ,
7977
MATRIX_XYZ_TO_ADOBE_WIDE_GAMUT_RGB,
80-
partial(gamma_function, exponent=1 / (563 / 256)),
81-
partial(gamma_function, exponent=563 / 256),
78+
encoding_gamma_function_2_199,
79+
decoding_gamma_function_2_199,
8280
)
8381
RGB_COLOURSPACE_ADOBE_WIDE_GAMUT_RGB.__doc__ = """
8482
*Adobe Wide Gamut RGB* colourspace.

colour/models/rgb/datasets/apple_rgb.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,18 @@
1414

1515
from __future__ import annotations
1616

17-
from functools import partial
18-
1917
import numpy as np
2018

2119
from colour.colorimetry import CCS_ILLUMINANTS
2220
from colour.hints import NDArrayFloat
2321
from colour.models.rgb import (
2422
RGB_Colourspace,
25-
gamma_function,
2623
normalised_primary_matrix,
2724
)
25+
from colour.models.rgb.transfer_functions.gamma import (
26+
decoding_gamma_function_1_8,
27+
encoding_gamma_function_1_8,
28+
)
2829

2930
__author__ = "Colour Developers"
3031
__copyright__ = "Copyright 2013 Colour Developers"
@@ -74,8 +75,8 @@
7475
WHITEPOINT_NAME_APPLE_RGB,
7576
MATRIX_APPLE_RGB_TO_XYZ,
7677
MATRIX_XYZ_TO_APPLE_RGB,
77-
partial(gamma_function, exponent=1 / 1.8),
78-
partial(gamma_function, exponent=1.8),
78+
encoding_gamma_function_1_8,
79+
decoding_gamma_function_1_8,
7980
)
8081
RGB_COLOURSPACE_APPLE_RGB.__doc__ = """
8182
*Apple RGB* colourspace.

colour/models/rgb/datasets/best_rgb.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,14 @@
1414

1515
from __future__ import annotations
1616

17-
from functools import partial
18-
1917
import numpy as np
2018

2119
from colour.colorimetry import CCS_ILLUMINANTS
2220
from colour.hints import NDArrayFloat
23-
from colour.models.rgb import (
24-
RGB_Colourspace,
25-
gamma_function,
26-
normalised_primary_matrix,
21+
from colour.models.rgb import RGB_Colourspace, normalised_primary_matrix
22+
from colour.models.rgb.transfer_functions.gamma import (
23+
decoding_gamma_function_2_2,
24+
encoding_gamma_function_2_2,
2725
)
2826

2927
__author__ = "Colour Developers"
@@ -74,8 +72,8 @@
7472
WHITEPOINT_NAME_BEST_RGB,
7573
MATRIX_BEST_RGB_TO_XYZ,
7674
MATRIX_XYZ_TO_BEST_RGB,
77-
partial(gamma_function, exponent=1 / 2.2),
78-
partial(gamma_function, exponent=2.2),
75+
encoding_gamma_function_2_2,
76+
decoding_gamma_function_2_2,
7977
)
8078
RGB_COLOURSPACE_BEST_RGB.__doc__ = """
8179
*Best RGB* colourspace.

colour/models/rgb/datasets/beta_rgb.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,14 @@
1515

1616
from __future__ import annotations
1717

18-
from functools import partial
19-
2018
import numpy as np
2119

2220
from colour.colorimetry import CCS_ILLUMINANTS
2321
from colour.hints import NDArrayFloat
24-
from colour.models.rgb import (
25-
RGB_Colourspace,
26-
gamma_function,
27-
normalised_primary_matrix,
22+
from colour.models.rgb import RGB_Colourspace, normalised_primary_matrix
23+
from colour.models.rgb.transfer_functions.gamma import (
24+
decoding_gamma_function_2_2,
25+
encoding_gamma_function_2_2,
2826
)
2927

3028
__author__ = "Colour Developers"
@@ -75,8 +73,8 @@
7573
WHITEPOINT_NAME_BETA_RGB,
7674
MATRIX_BETA_RGB_TO_XYZ,
7775
MATRIX_XYZ_TO_BETA_RGB,
78-
partial(gamma_function, exponent=1 / 2.2),
79-
partial(gamma_function, exponent=2.2),
76+
encoding_gamma_function_2_2,
77+
decoding_gamma_function_2_2,
8078
)
8179
RGB_COLOURSPACE_BETA_RGB.__doc__ = """
8280
*Beta RGB* colourspace.

colour/models/rgb/datasets/cie_rgb.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,15 @@
1616

1717
from __future__ import annotations
1818

19-
from functools import partial
20-
2119
import numpy as np
2220

2321
from colour.colorimetry import CCS_ILLUMINANTS
2422
from colour.hints import NDArrayFloat
25-
from colour.models.rgb import RGB_Colourspace, gamma_function
23+
from colour.models.rgb import RGB_Colourspace
24+
from colour.models.rgb.transfer_functions.gamma import (
25+
decoding_gamma_function_2_2,
26+
encoding_gamma_function_2_2,
27+
)
2628

2729
__author__ = "Colour Developers"
2830
__copyright__ = "Copyright 2013 Colour Developers"
@@ -84,8 +86,8 @@
8486
WHITEPOINT_NAME_CIE_RGB,
8587
MATRIX_CIE_RGB_TO_XYZ,
8688
MATRIX_XYZ_TO_CIE_RGB,
87-
partial(gamma_function, exponent=1 / 2.2),
88-
partial(gamma_function, exponent=2.2),
89+
encoding_gamma_function_2_2,
90+
decoding_gamma_function_2_2,
8991
)
9092
RGB_COLOURSPACE_CIE_RGB.__doc__ = """
9193
*CIE RGB* colourspace.

colour/models/rgb/datasets/color_match_rgb.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,14 @@
1515

1616
from __future__ import annotations
1717

18-
from functools import partial
19-
2018
import numpy as np
2119

2220
from colour.colorimetry import CCS_ILLUMINANTS
2321
from colour.hints import NDArrayFloat
24-
from colour.models.rgb import (
25-
RGB_Colourspace,
26-
gamma_function,
27-
normalised_primary_matrix,
22+
from colour.models.rgb import RGB_Colourspace, normalised_primary_matrix
23+
from colour.models.rgb.transfer_functions.gamma import (
24+
decoding_gamma_function_1_8,
25+
encoding_gamma_function_1_8,
2826
)
2927

3028
__author__ = "Colour Developers"
@@ -77,8 +75,8 @@
7775
WHITEPOINT_NAME_COLOR_MATCH_RGB,
7876
MATRIX_COLOR_MATCH_RGB_TO_XYZ,
7977
MATRIX_XYZ_TO_COLOR_MATCH_RGB,
80-
partial(gamma_function, exponent=1 / 1.8),
81-
partial(gamma_function, exponent=1.8),
78+
encoding_gamma_function_1_8,
79+
decoding_gamma_function_1_8,
8280
)
8381
RGB_COLOURSPACE_COLOR_MATCH_RGB.__doc__ = """
8482
*ColorMatch RGB* colourspace.

colour/models/rgb/datasets/dci_p3.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,14 @@
2626

2727
from __future__ import annotations
2828

29-
from functools import partial
30-
3129
import numpy as np
3230

3331
from colour.colorimetry import CCS_ILLUMINANTS
3432
from colour.hints import NDArrayFloat
35-
from colour.models.rgb import (
36-
RGB_Colourspace,
37-
gamma_function,
38-
normalised_primary_matrix,
33+
from colour.models.rgb import RGB_Colourspace, normalised_primary_matrix
34+
from colour.models.rgb.transfer_functions.gamma import (
35+
decoding_gamma_function_2_6,
36+
encoding_gamma_function_2_6,
3937
)
4038

4139
__author__ = "Colour Developers"
@@ -115,8 +113,8 @@
115113
WHITEPOINT_NAME_DCI_P3,
116114
MATRIX_DCI_P3_TO_XYZ,
117115
MATRIX_XYZ_TO_DCI_P3,
118-
partial(gamma_function, exponent=1 / 2.6),
119-
partial(gamma_function, exponent=2.6),
116+
encoding_gamma_function_2_6,
117+
decoding_gamma_function_2_6,
120118
)
121119
RGB_COLOURSPACE_DCI_P3.__doc__ = """
122120
*DCI-P3* colourspace.
@@ -134,8 +132,8 @@
134132
WHITEPOINT_NAME_DCI_P3,
135133
MATRIX_DCI_P3_P_TO_XYZ,
136134
MATRIX_XYZ_TO_DCI_P3_P,
137-
partial(gamma_function, exponent=1 / 2.6),
138-
partial(gamma_function, exponent=2.6),
135+
encoding_gamma_function_2_6,
136+
decoding_gamma_function_2_6,
139137
)
140138
RGB_COLOURSPACE_DCI_P3_P.__doc__ = """
141139
*DCI-P3+* colourspace.

colour/models/rgb/datasets/don_rgb_4.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,14 @@
1414

1515
from __future__ import annotations
1616

17-
from functools import partial
18-
1917
import numpy as np
2018

2119
from colour.colorimetry import CCS_ILLUMINANTS
2220
from colour.hints import NDArrayFloat
23-
from colour.models.rgb import (
24-
RGB_Colourspace,
25-
gamma_function,
26-
normalised_primary_matrix,
21+
from colour.models.rgb import RGB_Colourspace, normalised_primary_matrix
22+
from colour.models.rgb.transfer_functions.gamma import (
23+
decoding_gamma_function_2_2,
24+
encoding_gamma_function_2_2,
2725
)
2826

2927
__author__ = "Colour Developers"
@@ -74,8 +72,8 @@
7472
WHITEPOINT_NAME_DON_RGB_4,
7573
MATRIX_DON_RGB_4_TO_XYZ,
7674
MATRIX_XYZ_TO_DON_RGB_4,
77-
partial(gamma_function, exponent=1 / 2.2),
78-
partial(gamma_function, exponent=2.2),
75+
encoding_gamma_function_2_2,
76+
decoding_gamma_function_2_2,
7977
)
8078
RGB_COLOURSPACE_DON_RGB_4.__doc__ = """
8179
*Don RGB 4* colourspace.

0 commit comments

Comments
 (0)