Coverage for colorimetry/datasets/illuminants/chromaticity_coordinates.py: 0%

1"""

2 Chromaticity Coordinates of Illuminants

3=======================================

4

5 Define the chromaticity coordinates of the illuminants for the

6*CIE 1931 2 Degree Standard Observer* and

7*CIE 1964 10 Degree Standard Observer*.

8

9 The following *CIE* illuminants are available:

10

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.

23

24 The following *ISO* illuminants are available:

25

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

33

34 The following additional illuminants are available for the

35*CIE 1931 2 Degree Standard Observer* only:

36

37- ACES

38- Blackmagic Wide Gamut

39- DCI-P3

40- ICC D50

41- PLASA ANSI E1.54

42

43 Illuminants whose chromaticity coordinates are defined at 15 decimal

44 places have been computed using practise *ASTM E308-15* method.

45

46 References

47----------

48- :cite:`BlackmagicDesign2021` : Blackmagic Design. (2021). Blackmagic

49 Generation 5 Color Science. https://drive.google.com/file/d/\

50 1FF5WO2nvI9GEWb4_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/\

61 DCI_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#\

81 White_points_of_standard_illuminants

82"""

83

84 from __future__ import annotations

85

86 import numpy as np

87

88 from colour.utilities import CanonicalMapping

89

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"

96

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]

109

110 CCS_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"""

172 Chromaticity coordinates of the *CIE* illuminants for the

173*CIE 1931 2 Degree Standard Observer*.

174

175 References

176----------

177:cite:`CIETC1-482004h`, :cite:`Wikipedia2006a`

178"""

179

180 CCS_ILLUMINANTS_ACES_STANDARD_OBSERVER_2_DEGREE_CIE1931: CanonicalMapping = (

181 CanonicalMapping(

182 {

183 "ACES": np.array([0.32168, 0.33767]),

184 }

185 )

186)

187"""

188 Chromaticity coordinates of the *Academy Color Encoding System* (ACES)

189 illuminants for the *CIE 1931 2 Degree Standard Observer*.

190

191 References

192----------

193:cite:`TheAcademyofMotionPictureArtsandSciences2014q`

194"""

195

196 CCS_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"""

202 Chromaticity coordinates of the *Blackmagic Design* illuminants for the

203*CIE 1931 2 Degree Standard Observer*.

204

205 References

206----------

207:cite:`BlackmagicDesign2021`

208"""

209

210 CCS_ILLUMINANTS_DCI_STANDARD_OBSERVER_2_DEGREE_CIE1931: CanonicalMapping = (

211 CanonicalMapping(

212 {

213 "DCI-P3": np.array([0.31400, 0.35100]),

214 }

215 )

216)

217"""

218 Chromaticity coordinates of the *DCI* illuminants for the

219*CIE 1931 2 Degree Standard Observer*.

220

221 References

222----------

223:cite:`DigitalCinemaInitiatives2007b`

224"""

225

226 CCS_ILLUMINANTS_ICC_STANDARD_OBSERVER_2_DEGREE_CIE1931: CanonicalMapping = (

227 CanonicalMapping({"ICC D50": np.array([0.345702914918791, 0.358538596679933])})

228)

229"""

230 Chromaticity coordinates of the *ICC* illuminants for the

231*CIE 1931 2 Degree Standard Observer*.

232

233 References

234----------

235:cite:`InternationalColorConsortium2010`

236"""

237

238 CCS_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"""

270 Chromaticity coordinates of the *ISO* illuminants for the

271*CIE 1931 2 Degree Standard Observer*.

272

273 References

274----------

275:cite:`InternationalOrganizationforStandardization2002`

276"""

277

278 CCS_ILLUMINANTS_PLASA_STANDARD_OBSERVER_2_DEGREE_CIE1931: CanonicalMapping = (

279 CanonicalMapping({"PLASA ANSI E1.54": np.array([0.4254, 0.4044])})

280)

281"""

282 Chromaticity coordinates of the *PLASA* illuminants for the

283*CIE 1931 2 Degree Standard Observer*.

284

285 References

286----------

287:cite:`PLASANorthAmerica2015`

288"""

289

290 CCS_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"""

352 Chromaticity coordinates of the *CIE* illuminants for the

353*CIE 1964 10 Degree Standard Observer*.

354

355 References

356----------

357:cite:`CIETC1-482004h`, :cite:`Wikipedia2006a`

358"""

359

360 CCS_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"""

392 Chromaticity coordinates of the *ISO* illuminants for the

393*CIE 1964 10 Degree Standard Observer*.

394

395 References

396----------

397:cite:`InternationalOrganizationforStandardization2002`

398"""

399

400 CCS_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)

410 CCS_ILLUMINANTS.__doc__ = """

411 Chromaticity coordinates of the illuminants.

412

413 Warnings

414--------

415*DCI-P3* illuminant has no associated spectral distribution. *DCI* has no

416 official reference spectral measurement for this whitepoint. The closest

417 matching spectral distribution is *Kinoton 75P* projector.

418

419 Notes

420-----

421

422*CIE Illuminant D Series D60* illuminant chromaticity coordinates were

423 computed as follows::

424

425 CCT = 6000 * 1.4388 / 1.438

426 xy = colour.temperature.CCT_to_xy_CIE_D(CCT)

427

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 )

434

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].

449

450 References

451----------

452:cite:`CIETC1-482004h`, :cite:`DigitalCinemaInitiatives2007b`,

453:cite:`InternationalOrganizationforStandardization2002`,

454:cite:`InternationalColorConsortium2010`, :cite:`PLASANorthAmerica2015`

455:cite:`TheAcademyofMotionPictureArtsandSciences2014q`,

456:cite:`Wikipedia2006a`

457

458 Aliases:

459

460- 'cie_2_1931': 'CIE 1931 2 Degree Standard Observer'

461- 'cie_10_1964': 'CIE 1964 10 Degree Standard Observer'

462"""

463 CCS_ILLUMINANTS["cie_2_1931"] = CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"]

464 CCS_ILLUMINANTS["cie_10_1964"] = CCS_ILLUMINANTS["CIE 1964 10 Degree Standard Observer"]

465

466 CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(

467 CCS_ILLUMINANTS_ACES_STANDARD_OBSERVER_2_DEGREE_CIE1931

468)

469

470 CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(

471 CCS_ILLUMINANTS_BLACKMAGIC_DESIGN_STANDARD_OBSERVER_2_DEGREE_CIE1931

472)

473

474 CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(

475 CCS_ILLUMINANTS_DCI_STANDARD_OBSERVER_2_DEGREE_CIE1931

476)

477

478 CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(

479 CCS_ILLUMINANTS_ICC_STANDARD_OBSERVER_2_DEGREE_CIE1931

480)

481

482 CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(

483 CCS_ILLUMINANTS_ISO_STANDARD_OBSERVER_2_DEGREE_CIE1931

484)

485

486 CCS_ILLUMINANTS["CIE 1964 10 Degree Standard Observer"].update(

487 CCS_ILLUMINANTS_ISO_STANDARD_OBSERVER_10_DEGREE_CIE1964

488)

489

490 CCS_ILLUMINANTS["CIE 1931 2 Degree Standard Observer"].update(

491 CCS_ILLUMINANTS_PLASA_STANDARD_OBSERVER_2_DEGREE_CIE1931

492)