Coverage for colorimetry/datasets/illuminants/chromaticity_coordinates.py: 0%
39 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"""
2Chromaticity Coordinates of Illuminants
3=======================================
5Define the chromaticity coordinates of the illuminants for the
6*CIE 1931 2 Degree Standard Observer* and
7*CIE 1964 10 Degree Standard Observer*.
9The following *CIE* illuminants are available:
11- CIE Standard Illuminant A
12- CIE Illuminant B
13- CIE Illuminant C
14- CIE Illuminant D Series (D50, D55, D60, D65, D75)
15- CIE Illuminant E
16- Illuminants F Series (FL1, FL2, FL3, FL4, FL5, FL6, FL7, FL8, FL9, FL10,
17 FL11, FL12, FL3.1, FL3.10, FL3.11, FL3.12, FL3.13, FL3.14, FL3.15, FL3.2,
18 FL3.3, FL3.4, FL3.5, FL3.6, FL3.7, FL3.8, FL3.9)
19- High Pressure Discharge Lamps (HP1, HP2, HP3, HP4, HP5)
20- Typical LED illuminants (LED-B1, LED-B2, LED-B3, LED-B4, LED-B5, LED-BH1,
21 LED-RGB1, LED-V1, LED-V2)
22- Recommended indoor illuminants ID65 and ID50.
24The following *ISO* illuminants are available:
26- ISO 7589 Photographic Daylight
27- ISO 7589 Sensitometric Daylight
28- ISO 7589 Studio Tungsten
29- ISO 7589 Sensitometric Studio Tungsten
30- ISO 7589 Photoflood
31- ISO 7589 Sensitometric Photoflood
32- ISO 7589 Sensitometric Printer
34The following additional illuminants are available for the
35*CIE 1931 2 Degree Standard Observer* only:
37- ACES
38- Blackmagic Wide Gamut
39- DCI-P3
40- ICC D50
41- PLASA ANSI E1.54
43Illuminants whose chromaticity coordinates are defined at 15 decimal
44places have been computed using practise *ASTM E308-15* method.
46References
47----------
48- :cite:`BlackmagicDesign2021` : Blackmagic Design. (2021). Blackmagic
49 Generation 5 Color Science. https://drive.google.com/file/d/\
501FF5WO2nvI9GEWb4_EntrBoV9ZIuFToZd/view
51- :cite:`CIETC1-482004h` : CIE TC 1-48. (2004). CIE 015:2004 Colorimetry,
52 3rd Edition. In CIE 015:2004 Colorimetry, 3rd Edition. Commission
53 Internationale de l'Eclairage. ISBN:978-3-901906-33-6
54- :cite:`Carter2018` : Carter, E. C., Schanda, J. D., Hirschler, R., Jost,
55 S., Luo, M. R., Melgosa, M., Ohno, Y., Pointer, M. R., Rich, D. C., Vienot,
56 F., Whitehead, L., & Wold, J. H. (2018). CIE 015:2018 Colorimetry, 4th
57 Edition. International Commission on Illumination. doi:10.25039/TR.015.2018
58- :cite:`DigitalCinemaInitiatives2007b` : Digital Cinema Initiatives. (2007).
59 Digital Cinema System Specification - Version 1.1.
60 http://www.dcimovies.com/archives/spec_v1_1/\
61DCI_DCinema_System_Spec_v1_1.pdf
62- :cite:`InternationalOrganizationforStandardization2002` : International
63 Organization for Standardization. (2002). INTERNATIONAL STANDARD ISO
64 7589-2002 - Photography - Illuminants for sensitometry - Specifications for
65 daylight, incandescent tungsten and printer.
66- :cite:`InternationalColorConsortium2010` : International Color Consortium.
67 (2010). Specification ICC.1:2010 (Profile version 4.3.0.0) (pp. 1-130).
68 http://www.color.org/specification/ICC1v43_2010-12.pdf
69- :cite:`PLASANorthAmerica2015` : PLASA North America. (2015). ANSI E1.54 -
70 2015 - PLASA Standard for Color Communication in Entertainment Lighting.
71 https://webstore.ansi.org/preview-pages/ESTA/preview_ANSI+E1.54-2015.pdf
72- :cite:`TheAcademyofMotionPictureArtsandSciences2014q` : The Academy of
73 Motion Picture Arts and Sciences, Science and Technology Council, & Academy
74 Color Encoding System (ACES) Project Subcommittee. (2014). Technical
75 Bulletin TB-2014-004 - Informative Notes on SMPTE ST 2065-1 - Academy Color
76 Encoding Specification (ACES) (pp. 1-40). Retrieved December 19, 2014, from
77 http://j.mp/TB-2014-004
78- :cite:`Wikipedia2006a` : Wikipedia. (2006). White points of standard
79 illuminants. Retrieved February 24, 2014, from
80 http://en.wikipedia.org/wiki/Standard_illuminant#\
81White_points_of_standard_illuminants
82"""
84from __future__ import annotations
86import numpy as np
88from colour.utilities import CanonicalMapping
90__author__ = "Colour Developers"
91__copyright__ = "Copyright 2013 Colour Developers"
92__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause"
93__maintainer__ = "Colour Developers"
94__email__ = "colour-developers@colour-science.org"
95__status__ = "Production"
97__all__ = [
98 "CCS_ILLUMINANTS_CIE_STANDARD_OBSERVER_2_DEGREE_CIE1931",
99 "CCS_ILLUMINANTS_ACES_STANDARD_OBSERVER_2_DEGREE_CIE1931",
100 "CCS_ILLUMINANTS_BLACKMAGIC_DESIGN_STANDARD_OBSERVER_2_DEGREE_CIE1931",
101 "CCS_ILLUMINANTS_DCI_STANDARD_OBSERVER_2_DEGREE_CIE1931",
102 "CCS_ILLUMINANTS_ICC_STANDARD_OBSERVER_2_DEGREE_CIE1931",
103 "CCS_ILLUMINANTS_ISO_STANDARD_OBSERVER_2_DEGREE_CIE1931",
104 "CCS_ILLUMINANTS_PLASA_STANDARD_OBSERVER_2_DEGREE_CIE1931",
105 "CCS_ILLUMINANTS_CIE_STANDARD_OBSERVER_10_DEGREE_CIE1964",
106 "CCS_ILLUMINANTS_ISO_STANDARD_OBSERVER_10_DEGREE_CIE1964",
107 "CCS_ILLUMINANTS",
108]
110CCS_ILLUMINANTS_CIE_STANDARD_OBSERVER_2_DEGREE_CIE1931: CanonicalMapping = (
111 CanonicalMapping(
112 {
113 illuminant: np.array(coordinates)
114 for illuminant, coordinates in {
115 "A": [0.44758, 0.40745],
116 "B": [0.34842, 0.35161],
117 "C": [0.31006, 0.31616],
118 "D50": [0.34570, 0.35850],
119 "D55": [0.33243, 0.34744],
120 "D60": [0.321616709705268, 0.337619916550817],
121 "D65": [0.31270, 0.32900],
122 "D75": [0.29903, 0.31488],
123 "E": [1 / 3, 1 / 3],
124 "FL1": [0.31310, 0.33710],
125 "FL2": [0.37210, 0.37510],
126 "FL3": [0.40910, 0.39410],
127 "FL4": [0.44020, 0.40310],
128 "FL5": [0.31380, 0.34520],
129 "FL6": [0.37790, 0.38820],
130 "FL7": [0.31290, 0.32920],
131 "FL8": [0.34580, 0.35860],
132 "FL9": [0.37410, 0.37270],
133 "FL10": [0.34580, 0.35880],
134 "FL11": [0.38050, 0.37690],
135 "FL12": [0.43700, 0.40420],
136 "FL3.1": [0.44070, 0.40330],
137 "FL3.2": [0.38080, 0.37340],
138 "FL3.3": [0.31530, 0.34390],
139 "FL3.4": [0.44290, 0.40430],
140 "FL3.5": [0.37490, 0.36720],
141 "FL3.6": [0.34880, 0.36000],
142 "FL3.7": [0.43840, 0.40450],
143 "FL3.8": [0.38200, 0.38320],
144 "FL3.9": [0.34990, 0.35910],
145 "FL3.10": [0.34550, 0.35600],
146 "FL3.11": [0.32450, 0.34340],
147 "FL3.12": [0.43770, 0.40370],
148 "FL3.13": [0.38300, 0.37240],
149 "FL3.14": [0.34470, 0.36090],
150 "FL3.15": [0.31270, 0.32880],
151 "HP1": [0.53300, 0.4150],
152 "HP2": [0.47780, 0.41580],
153 "HP3": [0.43020, 0.40750],
154 "HP4": [0.38120, 0.37970],
155 "HP5": [0.37760, 0.37130],
156 "LED-B1": [0.45600, 0.40780],
157 "LED-B2": [0.43570, 0.40120],
158 "LED-B3": [0.37560, 0.37230],
159 "LED-B4": [0.34220, 0.35020],
160 "LED-B5": [0.31180, 0.32360],
161 "LED-BH1": [0.44740, 0.40660],
162 "LED-RGB1": [0.45570, 0.42110],
163 "LED-V1": [0.45480, 0.40440],
164 "LED-V2": [0.37810, 0.37750],
165 "ID65": [0.310656625403120, 0.330663091836953],
166 "ID50": [0.343211370103531, 0.360207541805137],
167 }.items()
168 }
169 )
170)
171"""
172Chromaticity coordinates of the *CIE* illuminants for the
173*CIE 1931 2 Degree Standard Observer*.
175References
176----------
177:cite:`CIETC1-482004h`, :cite:`Wikipedia2006a`
178"""
180CCS_ILLUMINANTS_ACES_STANDARD_OBSERVER_2_DEGREE_CIE1931: CanonicalMapping = (
181 CanonicalMapping(
182 {
183 "ACES": np.array([0.32168, 0.33767]),
184 }
185 )
186)
187"""
188Chromaticity coordinates of the *Academy Color Encoding System* (ACES)
189illuminants for the *CIE 1931 2 Degree Standard Observer*.
191References
192----------
193:cite:`TheAcademyofMotionPictureArtsandSciences2014q`
194"""
196CCS_ILLUMINANTS_BLACKMAGIC_DESIGN_STANDARD_OBSERVER_2_DEGREE_CIE1931: CanonicalMapping = CanonicalMapping( # noqa: E501
197 {
198 "Blackmagic Wide Gamut": np.array([0.3127170, 0.3290312]),
199 }
200)
201"""
202Chromaticity coordinates of the *Blackmagic Design* illuminants for the
203*CIE 1931 2 Degree Standard Observer*.
205References
206----------
207:cite:`BlackmagicDesign2021`
208"""
210CCS_ILLUMINANTS_DCI_STANDARD_OBSERVER_2_DEGREE_CIE1931: CanonicalMapping = (
211 CanonicalMapping(
212 {
213 "DCI-P3": np.array([0.31400, 0.35100]),
214 }
215 )
216)
217"""
218Chromaticity coordinates of the *DCI* illuminants for the
219*CIE 1931 2 Degree Standard Observer*.
221References
222----------
223:cite:`DigitalCinemaInitiatives2007b`
224"""
226CCS_ILLUMINANTS_ICC_STANDARD_OBSERVER_2_DEGREE_CIE1931: CanonicalMapping = (
227 CanonicalMapping({"ICC D50": np.array([0.345702914918791, 0.358538596679933])})
228)
229"""
230Chromaticity coordinates of the *ICC* illuminants for the
231*CIE 1931 2 Degree Standard Observer*.
233References
234----------
235:cite:`InternationalColorConsortium2010`
236"""
238CCS_ILLUMINANTS_ISO_STANDARD_OBSERVER_2_DEGREE_CIE1931: CanonicalMapping = (
239 CanonicalMapping(
240 {
241 illuminant: np.array(coordinates)
242 for illuminant, coordinates in {
243 "ISO 7589 Photographic Daylight": [
244 0.332039098470978,
245 0.347263885596614,
246 ],
247 "ISO 7589 Sensitometric Daylight": [
248 0.333818313227557,
249 0.353436231513603,
250 ],
251 "ISO 7589 Studio Tungsten": [0.430944089109761, 0.403585442674295],
252 "ISO 7589 Sensitometric Studio Tungsten": [
253 0.431418223648390,
254 0.407471441950342,
255 ],
256 "ISO 7589 Photoflood": [0.411146015714843, 0.393719378241161],
257 "ISO 7589 Sensitometric Photoflood": [
258 0.412024776908998,
259 0.398177410548532,
260 ],
261 "ISO 7589 Sensitometric Printer": [
262 0.412087967973680,
263 0.421104984758526,
264 ],
265 }.items()
266 }
267 )
268)
269"""
270Chromaticity coordinates of the *ISO* illuminants for the
271*CIE 1931 2 Degree Standard Observer*.
273References
274----------
275:cite:`InternationalOrganizationforStandardization2002`
276"""
278CCS_ILLUMINANTS_PLASA_STANDARD_OBSERVER_2_DEGREE_CIE1931: CanonicalMapping = (
279 CanonicalMapping({"PLASA ANSI E1.54": np.array([0.4254, 0.4044])})
280)
281"""
282Chromaticity coordinates of the *PLASA* illuminants for the
283*CIE 1931 2 Degree Standard Observer*.
285References
286----------
287:cite:`PLASANorthAmerica2015`
288"""
290CCS_ILLUMINANTS_CIE_STANDARD_OBSERVER_10_DEGREE_CIE1964: CanonicalMapping = (
291 CanonicalMapping(
292 {
293 illuminant: np.array(coordinates)
294 for illuminant, coordinates in {
295 "A": [0.45117, 0.40594],
296 "B": [0.34980, 0.35270],
297 "C": [0.31039, 0.31905],
298 "D50": [0.34773, 0.35952],
299 "D55": [0.33412, 0.34877],
300 "D60": [0.322986926715820, 0.339275732345997],
301 "D65": [0.31382, 0.33100],
302 "D75": [0.29968, 0.31740],
303 "E": [1 / 3, 1 / 3],
304 "FL1": [0.31811, 0.33559],
305 "FL2": [0.37925, 0.36733],
306 "FL3": [0.41761, 0.38324],
307 "FL4": [0.44920, 0.39074],
308 "FL5": [0.31975, 0.34246],
309 "FL6": [0.38660, 0.37847],
310 "FL7": [0.31569, 0.32960],
311 "FL8": [0.34902, 0.35939],
312 "FL9": [0.37829, 0.37045],
313 "FL10": [0.35090, 0.35444],
314 "FL11": [0.38541, 0.37123],
315 "FL12": [0.44256, 0.39717],
316 "FL3.1": [0.449830684010003, 0.390231404321266],
317 "FL3.2": [0.386924116672933, 0.365756034732821],
318 "FL3.3": [0.321176986855865, 0.340501092654981],
319 "FL3.4": [0.448121275113995, 0.397077112142482],
320 "FL3.5": [0.377814166608895, 0.366625766963060],
321 "FL3.6": [0.351976478983504, 0.361094432889677],
322 "FL3.7": [0.444309208810922, 0.396791387314871],
323 "FL3.8": [0.387588931999771, 0.376305569410173],
324 "FL3.9": [0.354688990710449, 0.353445033593383],
325 "FL3.10": [0.349344792334400, 0.354984421140869],
326 "FL3.11": [0.329267975695120, 0.338865386643537],
327 "FL3.12": [0.442252080438001, 0.401220551071252],
328 "FL3.13": [0.386275268780817, 0.374283190950586],
329 "FL3.14": [0.347255078638291, 0.366808242504180],
330 "FL3.15": [0.314613997909246, 0.333377149377113],
331 "HP1": [0.543334600247307, 0.405289298480431],
332 "HP2": [0.482647330648721, 0.410815644179685],
333 "HP3": [0.435560034503954, 0.398801084399711],
334 "HP4": [0.385193641123543, 0.368275479241015],
335 "HP5": [0.380316415606638, 0.366617114797851],
336 "LED-B1": [0.462504966271043, 0.403041801546906],
337 "LED-B2": [0.442119475258745, 0.396633702892576],
338 "LED-B3": [0.380851979328052, 0.368518548904765],
339 "LED-B4": [0.348371362473402, 0.345065503264192],
340 "LED-B5": [0.316916877024753, 0.322060276350364],
341 "LED-BH1": [0.452772610754910, 0.400032462750000],
342 "LED-RGB1": [0.457036370583652, 0.425381348780888],
343 "LED-V1": [0.453602699414564, 0.398199587905174],
344 "LED-V2": [0.377728483834020, 0.374512315539769],
345 "ID65": [0.312074043269908, 0.332660121024630],
346 "ID50": [0.345621427535976, 0.361228962209198],
347 }.items()
348 }
349 )
350)
351"""
352Chromaticity coordinates of the *CIE* illuminants for the
353*CIE 1964 10 Degree Standard Observer*.
355References
356----------
357:cite:`CIETC1-482004h`, :cite:`Wikipedia2006a`
358"""
360CCS_ILLUMINANTS_ISO_STANDARD_OBSERVER_10_DEGREE_CIE1964: CanonicalMapping = (
361 CanonicalMapping(
362 {
363 illuminant: np.array(coordinates)
364 for illuminant, coordinates in {
365 "ISO 7589 Photographic Daylight": [
366 0.333716908394534,
367 0.348592494683065,
368 ],
369 "ISO 7589 Sensitometric Daylight": [
370 0.336125906007630,
371 0.354997062476417,
372 ],
373 "ISO 7589 Studio Tungsten": [0.434575926493196, 0.402219691745325],
374 "ISO 7589 Sensitometric Studio Tungsten": [
375 0.435607674215215,
376 0.406129244796761,
377 ],
378 "ISO 7589 Photoflood": [0.414144647169611, 0.392458587686395],
379 "ISO 7589 Sensitometric Photoflood": [
380 0.415625819190627,
381 0.397002292994179,
382 ],
383 "ISO 7589 Sensitometric Printer": [
384 0.418841052206998,
385 0.418695130974955,
386 ],
387 }.items()
388 }
389 )
390)
391"""
392Chromaticity coordinates of the *ISO* illuminants for the
393*CIE 1964 10 Degree Standard Observer*.
395References
396----------
397:cite:`InternationalOrganizationforStandardization2002`
398"""
400CCS_ILLUMINANTS: CanonicalMapping = CanonicalMapping(
401 {
402 "CIE 1931 2 Degree Standard Observer": CanonicalMapping(
403 CCS_ILLUMINANTS_CIE_STANDARD_OBSERVER_2_DEGREE_CIE1931
404 ),
405 "CIE 1964 10 Degree Standard Observer": CanonicalMapping(
406 CCS_ILLUMINANTS_CIE_STANDARD_OBSERVER_10_DEGREE_CIE1964
407 ),
408 }
409)
410CCS_ILLUMINANTS.__doc__ = """
411Chromaticity coordinates of the illuminants.
413Warnings
414--------
415*DCI-P3* illuminant has no associated spectral distribution. *DCI* has no
416official reference spectral measurement for this whitepoint. The closest
417matching spectral distribution is *Kinoton 75P* projector.
419Notes
420-----
422*CIE Illuminant D Series D60* illuminant chromaticity coordinates were
423computed as follows::
425 CCT = 6000 * 1.4388 / 1.438
426 xy = colour.temperature.CCT_to_xy_CIE_D(CCT)
428 sd = colour.sd_CIE_illuminant_D_series(xy)
429 colour.XYZ_to_xy(
430 colour.sd_to_XYZ(
431 sd, colour.MSDS_CMFS["CIE 1964 10 Degree Standard Observer"]
432 )
433 )
435- *CIE Illuminant D Series D50* illuminant and *CIE Standard Illuminant
436 D Series D65* chromaticity coordinates are rounded to 4 decimals as
437 specified in typical RGB colourspaces literature. Their chromaticity
438 coordinates as specified in :cite:`CIETC1-482004h` are (0.34567,
439 0.35851) and (0.31272, 0.32903) respectively.
440- *CIE* illuminants with chromaticity coordinates not defined in the
441 reference :cite:`Wikipedia2006a` have been calculated using their
442 correlated colour temperature and
443 :func:`colour.temperature.CCT_to_xy_CIE_D`
444 :func:`colour.sd_CIE_illuminant_D_series` and / or
445 :func:`colour.sd_to_XYZ` definitions.
446- *ICC D50* chromaticity coordinates were computed with
447 :func:`colour.XYZ_to_xy` definition from the *CIE XYZ* tristimulus
448 values as specified by *ICC*: [96.42, 100.00, 82.49].
450References
451----------
452:cite:`CIETC1-482004h`, :cite:`DigitalCinemaInitiatives2007b`,
453:cite:`InternationalOrganizationforStandardization2002`,
454:cite:`InternationalColorConsortium2010`, :cite:`PLASANorthAmerica2015`
455:cite:`TheAcademyofMotionPictureArtsandSciences2014q`,
456:cite:`Wikipedia2006a`
458Aliases:
460- 'cie_2_1931': 'CIE 1931 2 Degree Standard Observer'
461- 'cie_10_1964': 'CIE 1964 10 Degree Standard Observer'
462"""
463CCS_ILLUMINANTS["cie_2_1931"] = CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"]
464CCS_ILLUMINANTS["cie_10_1964"] = CCS_ILLUMINANTS["CIE 1964 10 Degree Standard Observer"]
466CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(
467 CCS_ILLUMINANTS_ACES_STANDARD_OBSERVER_2_DEGREE_CIE1931
468)
470CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(
471 CCS_ILLUMINANTS_BLACKMAGIC_DESIGN_STANDARD_OBSERVER_2_DEGREE_CIE1931
472)
474CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(
475 CCS_ILLUMINANTS_DCI_STANDARD_OBSERVER_2_DEGREE_CIE1931
476)
478CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(
479 CCS_ILLUMINANTS_ICC_STANDARD_OBSERVER_2_DEGREE_CIE1931
480)
482CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(
483 CCS_ILLUMINANTS_ISO_STANDARD_OBSERVER_2_DEGREE_CIE1931
484)
486CCS_ILLUMINANTS["CIE 1964 10 Degree Standard Observer"].update(
487 CCS_ILLUMINANTS_ISO_STANDARD_OBSERVER_10_DEGREE_CIE1964
488)
490CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(
491 CCS_ILLUMINANTS_PLASA_STANDARD_OBSERVER_2_DEGREE_CIE1931
492)