Coverage for colour/corresponding/datasets/breneman1987.py: 100%
72 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-15 19:01 +1300
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-15 19:01 +1300
1"""
2Breneman Corresponding Chromaticities Dataset
3=============================================
5Define the *Breneman (1987)* results for corresponding chromaticities
6experiments.
8References
9----------
10- :cite:`Breneman1987b` : Breneman, E. J. (1987). Corresponding
11 chromaticities for different states of adaptation to complex visual fields.
12 Journal of the Optical Society of America A, 4(6), 1115.
13 doi:10.1364/JOSAA.4.001115
14"""
16from __future__ import annotations
18import typing
19from dataclasses import dataclass, field
21import numpy as np
23if typing.TYPE_CHECKING:
24 from colour.hints import NDArrayFloat, Tuple
26from colour.utilities import MixinDataclassIterable, as_float_array
27from colour.utilities.documentation import DocstringDict, is_documentation_building
29__author__ = "Colour Developers"
30__copyright__ = "Copyright 2013 Colour Developers"
31__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause"
32__maintainer__ = "Colour Developers"
33__email__ = "colour-developers@colour-science.org"
34__status__ = "Production"
36__all__ = [
37 "BrenemanExperimentResult",
38 "PrimariesChromaticityCoordinates",
39 "BRENEMAN_EXPERIMENT_1_RESULTS",
40 "BRENEMAN_EXPERIMENT_2_RESULTS",
41 "BRENEMAN_EXPERIMENT_3_RESULTS",
42 "BRENEMAN_EXPERIMENT_4_RESULTS",
43 "BRENEMAN_EXPERIMENT_5_RESULTS",
44 "BRENEMAN_EXPERIMENT_6_RESULTS",
45 "BRENEMAN_EXPERIMENT_7_RESULTS",
46 "BRENEMAN_EXPERIMENT_10_RESULTS",
47 "BRENEMAN_EXPERIMENT_8_RESULTS",
48 "BRENEMAN_EXPERIMENT_9_RESULTS",
49 "BRENEMAN_EXPERIMENT_11_RESULTS",
50 "BRENEMAN_EXPERIMENT_12_RESULTS",
51 "BRENEMAN_EXPERIMENT_PRIMARIES_CHROMATICITIES",
52 "BRENEMAN_EXPERIMENTS",
53]
56@dataclass(frozen=True)
57class BrenemanExperimentResult(MixinDataclassIterable):
58 """
59 Experiment result.
61 Parameters
62 ----------
63 name
64 Test colour name.
65 uv_t
66 Chromaticity coordinates :math:`uv_t^p` of test colour.
67 uv_m
68 Chromaticity coordinates :math:`uv_m^p` of matching colour.
69 s_uv
70 Interobserver variation (:math:`x10^3`) :math:`\\sigma_uv^p`.
71 d_uv_i
72 Deviation of individual linear transformation (:math:`x10^3`)
73 :math:`\\delta_uv_i^p`.
74 d_uv_g
75 Deviation of individual linear transformation (:math:`x10^3`)
76 :math:`\\delta_uv_g^p`.
77 """
79 name: str
80 uv_t: NDArrayFloat
81 uv_m: NDArrayFloat
82 s_uv: NDArrayFloat | None = field(default_factory=lambda: None)
83 d_uv_i: NDArrayFloat | None = field(default_factory=lambda: None)
84 d_uv_g: NDArrayFloat | None = field(default_factory=lambda: None)
86 def __post_init__(self) -> None:
87 """Post-initialise the class."""
89 object.__setattr__(self, "uv_t", as_float_array(self.uv_t))
90 object.__setattr__(self, "uv_m", as_float_array(self.uv_m))
92 if self.s_uv is not None:
93 object.__setattr__(self, "s_uv", as_float_array(self.s_uv))
95 if self.d_uv_i is not None:
96 object.__setattr__(self, "d_uv_i", as_float_array(self.d_uv_i))
98 if self.d_uv_g is not None:
99 object.__setattr__(self, "d_uv_g", as_float_array(self.d_uv_g))
102@dataclass(frozen=True)
103class PrimariesChromaticityCoordinates(MixinDataclassIterable):
104 """
105 Chromaticity coordinates of the primaries.
107 Parameters
108 ----------
109 experiment
110 Experiment.
111 illuminants
112 Chromaticity coordinates :math:`uv_t^p` of test colour.
113 Y
114 White luminance :math:`Y` in :math:`cd/m^2`.
115 P_uvp
116 Chromaticity coordinates :math:`uv^p` of primary :math:`P`.
117 D_uvp
118 Chromaticity coordinates :math:`uv^p` of primary :math:`D`.
119 T_uvp
120 Chromaticity coordinates :math:`uv^p` of primary :math:`T`.
121 """
123 experiment: int
124 illuminants: Tuple[str, str]
125 Y: float
126 P_uvp: NDArrayFloat | None = field(default_factory=lambda: None)
127 D_uvp: NDArrayFloat | None = field(default_factory=lambda: None)
128 T_uvp: NDArrayFloat | None = field(default_factory=lambda: None)
130 def __post_init__(self) -> None:
131 """Post-initialise the class."""
133 object.__setattr__(self, "Y", as_float_array(self.Y))
135 if self.P_uvp is not None:
136 object.__setattr__(self, "P_uvp", as_float_array(self.P_uvp))
138 if self.D_uvp is not None:
139 object.__setattr__(self, "D_uvp", as_float_array(self.D_uvp))
141 if self.T_uvp is not None:
142 object.__setattr__(self, "T_uvp", as_float_array(self.T_uvp))
145BRENEMAN_EXPERIMENT_1_RESULTS = (
146 BrenemanExperimentResult(
147 "Illuminant", np.array([0.259, 0.526]), np.array([0.200, 0.475])
148 ),
149 BrenemanExperimentResult(
150 "Gray",
151 np.array([0.259, 0.524]),
152 np.array([0.199, 0.487]),
153 np.array([4, 4]),
154 np.array([2, 3]),
155 np.array([0, 0]),
156 ),
157 BrenemanExperimentResult(
158 "Red",
159 np.array([0.459, 0.522]),
160 np.array([0.420, 0.509]),
161 np.array([19, 4]),
162 np.array([-10, -7]),
163 np.array([-19, -3]),
164 ),
165 BrenemanExperimentResult(
166 "Skin",
167 np.array([0.307, 0.526]),
168 np.array([0.249, 0.497]),
169 np.array([7, 4]),
170 np.array([-1, 1]),
171 np.array([-6, -1]),
172 ),
173 BrenemanExperimentResult(
174 "Orange",
175 np.array([0.360, 0.544]),
176 np.array([0.302, 0.548]),
177 np.array([12, 1]),
178 np.array([1, -2]),
179 np.array([-7, -6]),
180 ),
181 BrenemanExperimentResult(
182 "Brown",
183 np.array([0.350, 0.541]),
184 np.array([0.290, 0.537]),
185 np.array([11, 4]),
186 np.array([3, 0]),
187 np.array([-5, -3]),
188 ),
189 BrenemanExperimentResult(
190 "Yellow",
191 np.array([0.318, 0.550]),
192 np.array([0.257, 0.554]),
193 np.array([8, 2]),
194 np.array([0, 2]),
195 np.array([-5, -5]),
196 ),
197 BrenemanExperimentResult(
198 "Foliage",
199 np.array([0.258, 0.542]),
200 np.array([0.192, 0.529]),
201 np.array([4, 6]),
202 np.array([3, 2]),
203 np.array([3, -6]),
204 ),
205 BrenemanExperimentResult(
206 "Green",
207 np.array([0.193, 0.542]),
208 np.array([0.129, 0.521]),
209 np.array([7, 5]),
210 np.array([3, 2]),
211 np.array([9, -7]),
212 ),
213 BrenemanExperimentResult(
214 "Blue-green",
215 np.array([0.180, 0.516]),
216 np.array([0.133, 0.469]),
217 np.array([4, 6]),
218 np.array([-3, -2]),
219 np.array([2, -5]),
220 ),
221 BrenemanExperimentResult(
222 "Blue",
223 np.array([0.186, 0.445]),
224 np.array([0.158, 0.340]),
225 np.array([13, 33]),
226 np.array([2, 7]),
227 np.array([1, 13]),
228 ),
229 BrenemanExperimentResult(
230 "Sky",
231 np.array([0.226, 0.491]),
232 np.array([0.178, 0.426]),
233 np.array([3, 14]),
234 np.array([1, -3]),
235 np.array([0, -1]),
236 ),
237 BrenemanExperimentResult(
238 "Purple",
239 np.array([0.278, 0.456]),
240 np.array([0.231, 0.365]),
241 np.array([4, 25]),
242 np.array([0, 2]),
243 np.array([-5, 7]),
244 ),
245)
246"""
247*Breneman (1987)* experiment 1 results.
249Notes
250-----
251- Illuminants : *A*, *D65*
252- White Luminance : 1500 :math:`cd/m^2`
253- Observers Count : 7
254"""
257BRENEMAN_EXPERIMENT_2_RESULTS = (
258 BrenemanExperimentResult(
259 "Illuminant", np.array([0.222, 0.521]), np.array([0.204, 0.479])
260 ),
261 BrenemanExperimentResult(
262 "Gray",
263 np.array([0.227, 0.517]),
264 np.array([0.207, 0.486]),
265 np.array([2, 5]),
266 np.array([-1, 0]),
267 np.array([0, 0]),
268 ),
269 BrenemanExperimentResult(
270 "Red",
271 np.array([0.464, 0.520]),
272 np.array([0.449, 0.511]),
273 np.array([22, 3]),
274 np.array([-8, -8]),
275 np.array([-7, -2]),
276 ),
277 BrenemanExperimentResult(
278 "Skin",
279 np.array([0.286, 0.526]),
280 np.array([0.263, 0.505]),
281 np.array([7, 2]),
282 np.array([0, -1]),
283 np.array([0, -1]),
284 ),
285 BrenemanExperimentResult(
286 "Orange",
287 np.array([0.348, 0.546]),
288 np.array([0.322, 0.545]),
289 np.array([13, 3]),
290 np.array([3, -1]),
291 np.array([3, -2]),
292 ),
293 BrenemanExperimentResult(
294 "Brown",
295 np.array([0.340, 0.543]),
296 np.array([0.316, 0.537]),
297 np.array([11, 3]),
298 np.array([1, 1]),
299 np.array([0, 0]),
300 ),
301 BrenemanExperimentResult(
302 "Yellow",
303 np.array([0.288, 0.554]),
304 np.array([0.265, 0.553]),
305 np.array([5, 2]),
306 np.array([-2, 2]),
307 np.array([-1, -2]),
308 ),
309 BrenemanExperimentResult(
310 "Foliage",
311 np.array([0.244, 0.547]),
312 np.array([0.221, 0.538]),
313 np.array([4, 3]),
314 np.array([-2, 1]),
315 np.array([0, -3]),
316 ),
317 BrenemanExperimentResult(
318 "Green",
319 np.array([0.156, 0.548]),
320 np.array([0.135, 0.532]),
321 np.array([4, 3]),
322 np.array([-1, 3]),
323 np.array([3, -4]),
324 ),
325 BrenemanExperimentResult(
326 "Blue-green",
327 np.array([0.159, 0.511]),
328 np.array([0.145, 0.472]),
329 np.array([9, 7]),
330 np.array([-1, 2]),
331 np.array([2, 1]),
332 ),
333 BrenemanExperimentResult(
334 "Blue",
335 np.array([0.160, 0.406]),
336 np.array([0.163, 0.331]),
337 np.array([23, 31]),
338 np.array([2, -3]),
339 np.array([-1, 3]),
340 ),
341 BrenemanExperimentResult(
342 "Sky",
343 np.array([0.190, 0.481]),
344 np.array([0.176, 0.431]),
345 np.array([5, 24]),
346 np.array([2, -2]),
347 np.array([2, 0]),
348 ),
349 BrenemanExperimentResult(
350 "Purple",
351 np.array([0.258, 0.431]),
352 np.array([0.244, 0.349]),
353 np.array([4, 19]),
354 np.array([-3, 13]),
355 np.array([-4, 19]),
356 ),
357)
358"""
359*Breneman (1987)* experiment 2 results.
361Notes
362-----
363- Illuminants : *Projector*, *D55*
364- White Luminance : 1500 :math:`cd/m^2`
365- Observers Count : 7
366"""
369BRENEMAN_EXPERIMENT_3_RESULTS = (
370 BrenemanExperimentResult(
371 "Illuminant", np.array([0.223, 0.521]), np.array([0.206, 0.478])
372 ),
373 BrenemanExperimentResult(
374 "Gray",
375 np.array([0.228, 0.517]),
376 np.array([0.211, 0.494]),
377 np.array([1, 3]),
378 np.array([0, 2]),
379 np.array([0, 0]),
380 ),
381 BrenemanExperimentResult(
382 "Red",
383 np.array([0.462, 0.519]),
384 np.array([0.448, 0.505]),
385 np.array([11, 4]),
386 np.array([-3, 6]),
387 np.array([-4, 6]),
388 ),
389 BrenemanExperimentResult(
390 "Skin",
391 np.array([0.285, 0.524]),
392 np.array([0.267, 0.507]),
393 np.array([6, 3]),
394 np.array([-1, 1]),
395 np.array([-2, 1]),
396 ),
397 BrenemanExperimentResult(
398 "Orange",
399 np.array([0.346, 0.546]),
400 np.array([0.325, 0.541]),
401 np.array([11, 3]),
402 np.array([1, -2]),
403 np.array([2, 3]),
404 ),
405 BrenemanExperimentResult(
406 "Brown",
407 np.array([0.338, 0.543]),
408 np.array([0.321, 0.532]),
409 np.array([9, 6]),
410 np.array([-3, 2]),
411 np.array([-3, 7]),
412 ),
413 BrenemanExperimentResult(
414 "Yellow",
415 np.array([0.287, 0.554]),
416 np.array([0.267, 0.548]),
417 np.array([4, 5]),
418 np.array([1, -2]),
419 np.array([0, 5]),
420 ),
421 BrenemanExperimentResult(
422 "Foliage",
423 np.array([0.244, 0.547]),
424 np.array([0.226, 0.531]),
425 np.array([3, 6]),
426 np.array([-1, 3]),
427 np.array([-2, 8]),
428 ),
429 BrenemanExperimentResult(
430 "Green",
431 np.array([0.157, 0.548]),
432 np.array([0.141, 0.528]),
433 np.array([9, 6]),
434 np.array([2, 2]),
435 np.array([0, 6]),
436 ),
437 BrenemanExperimentResult(
438 "Blue-green",
439 np.array([0.160, 0.510]),
440 np.array([0.151, 0.486]),
441 np.array([8, 5]),
442 np.array([-2, -1]),
443 np.array([-2, -5]),
444 ),
445 BrenemanExperimentResult(
446 "Blue",
447 np.array([0.162, 0.407]),
448 np.array([0.158, 0.375]),
449 np.array([6, 7]),
450 np.array([1, -6]),
451 np.array([4, -23]),
452 ),
453 BrenemanExperimentResult(
454 "Sky",
455 np.array([0.191, 0.482]),
456 np.array([0.179, 0.452]),
457 np.array([4, 5]),
458 np.array([0, 1]),
459 np.array([1, -7]),
460 ),
461 BrenemanExperimentResult(
462 "Purple",
463 np.array([0.258, 0.432]),
464 np.array([0.238, 0.396]),
465 np.array([4, 8]),
466 np.array([5, 3]),
467 np.array([4, -11]),
468 ),
469)
470"""
471*Breneman (1987)* experiment 3 results.
473Notes
474-----
475- Illuminants : *Projector*, *D55*
476- White Luminance : 75 :math:`cd/m^2`
477- Observers Count : 7
478"""
481BRENEMAN_EXPERIMENT_4_RESULTS = (
482 BrenemanExperimentResult(
483 "Illuminant", np.array([0.258, 0.523]), np.array([0.199, 0.467])
484 ),
485 BrenemanExperimentResult(
486 "Gray",
487 np.array([0.257, 0.524]),
488 np.array([0.205, 0.495]),
489 np.array([2, 2]),
490 np.array([0, 4]),
491 np.array([0, 0]),
492 ),
493 BrenemanExperimentResult(
494 "Red",
495 np.array([0.460, 0.521]),
496 np.array([0.416, 0.501]),
497 np.array([11, 6]),
498 np.array([-6, 4]),
499 np.array([-6, 9]),
500 ),
501 BrenemanExperimentResult(
502 "Skin",
503 np.array([0.308, 0.526]),
504 np.array([0.253, 0.503]),
505 np.array([7, 3]),
506 np.array([-1, 1]),
507 np.array([-1, 0]),
508 ),
509 BrenemanExperimentResult(
510 "Orange",
511 np.array([0.360, 0.544]),
512 np.array([0.303, 0.541]),
513 np.array([14, 5]),
514 np.array([1, -4]),
515 np.array([1, 2]),
516 ),
517 BrenemanExperimentResult(
518 "Brown",
519 np.array([0.350, 0.541]),
520 np.array([0.296, 0.527]),
521 np.array([11, 7]),
522 np.array([-2, 4]),
523 np.array([-3, 9]),
524 ),
525 BrenemanExperimentResult(
526 "Yellow",
527 np.array([0.317, 0.550]),
528 np.array([0.260, 0.547]),
529 np.array([9, 5]),
530 np.array([1, -3]),
531 np.array([0, 3]),
532 ),
533 BrenemanExperimentResult(
534 "Foliage",
535 np.array([0.258, 0.543]),
536 np.array([0.203, 0.520]),
537 np.array([4, 6]),
538 np.array([0, 8]),
539 np.array([0, 9]),
540 ),
541 BrenemanExperimentResult(
542 "Green",
543 np.array([0.193, 0.543]),
544 np.array([0.142, 0.516]),
545 np.array([6, 9]),
546 np.array([3, 8]),
547 np.array([2, 6]),
548 ),
549 BrenemanExperimentResult(
550 "Blue-green",
551 np.array([0.180, 0.516]),
552 np.array([0.140, 0.484]),
553 np.array([9, 5]),
554 np.array([-2, -1]),
555 np.array([-1, -9]),
556 ),
557 BrenemanExperimentResult(
558 "Blue",
559 np.array([0.185, 0.445]),
560 np.array([0.151, 0.394]),
561 np.array([8, 10]),
562 np.array([2, -8]),
563 np.array([8, -24]),
564 ),
565 BrenemanExperimentResult(
566 "Sky",
567 np.array([0.225, 0.490]),
568 np.array([0.180, 0.448]),
569 np.array([4, 8]),
570 np.array([1, -1]),
571 np.array([3, -11]),
572 ),
573 BrenemanExperimentResult(
574 "Purple",
575 np.array([0.278, 0.455]),
576 np.array([0.229, 0.388]),
577 np.array([6, 14]),
578 np.array([1, 12]),
579 np.array([3, 0]),
580 ),
581)
582"""
583*Breneman (1987)* experiment 4 results.
585Notes
586-----
587- Illuminants : *A*, *D65*
588- White Luminance : 75 :math:`cd/m^2`
589- Observers Count : 7
590"""
593BRENEMAN_EXPERIMENT_5_RESULTS = (
594 BrenemanExperimentResult(
595 "Gray", np.array([0.028, 0.480]), np.array([0.212, 0.491]), np.array([2, 2])
596 ),
597 BrenemanExperimentResult(
598 "Red", np.array([0.449, 0.512]), np.array([0.408, 0.514]), np.array([11, 5])
599 ),
600 BrenemanExperimentResult(
601 "Skin", np.array([0.269, 0.505]), np.array([0.262, 0.511]), np.array([4, 2])
602 ),
603 BrenemanExperimentResult(
604 "Orange", np.array([0.331, 0.548]), np.array([0.303, 0.545]), np.array([4, 3])
605 ),
606 BrenemanExperimentResult(
607 "Brown", np.array([0.322, 0.541]), np.array([0.303, 0.538]), np.array([4, 4])
608 ),
609 BrenemanExperimentResult(
610 "Yellow", np.array([0.268, 0.555]), np.array([0.264, 0.550]), np.array([3, 2])
611 ),
612 BrenemanExperimentResult(
613 "Foliage", np.array([0.224, 0.538]), np.array([0.227, 0.535]), np.array([3, 3])
614 ),
615 BrenemanExperimentResult(
616 "Green", np.array([0.134, 0.531]), np.array([0.159, 0.530]), np.array([9, 3])
617 ),
618 BrenemanExperimentResult(
619 "Blue-green",
620 np.array([0.145, 0.474]),
621 np.array([0.165, 0.490]),
622 np.array([8, 3]),
623 ),
624 BrenemanExperimentResult(
625 "Blue", np.array([0.163, 0.329]), np.array([0.173, 0.378]), np.array([7, 12])
626 ),
627 BrenemanExperimentResult(
628 "Sky", np.array([0.179, 0.438]), np.array([0.189, 0.462]), np.array([5, 4])
629 ),
630 BrenemanExperimentResult(
631 "Purple", np.array([0.245, 0.364]), np.array([0.239, 0.401]), np.array([4, 16])
632 ),
633)
634"""
635*Breneman (1987)* experiment 5 results.
637Notes
638-----
639- Effective White Levels : 130 and 2120 :math:`cd/m^2`
640- Observers Count : 7
641"""
644BRENEMAN_EXPERIMENT_6_RESULTS = (
645 BrenemanExperimentResult(
646 "Illuminant", np.array([0.257, 0.525]), np.array([0.201, 0.482])
647 ),
648 BrenemanExperimentResult(
649 "Gray",
650 np.array([0.267, 0.521]),
651 np.array([0.207, 0.485]),
652 np.array([5, 3]),
653 np.array([-1, 0]),
654 np.array([0, 0]),
655 ),
656 BrenemanExperimentResult(
657 "Red",
658 np.array([0.457, 0.521]),
659 np.array([0.398, 0.516]),
660 np.array([9, 4]),
661 np.array([-2, -5]),
662 np.array([1, -9]),
663 ),
664 BrenemanExperimentResult(
665 "Skin",
666 np.array([0.316, 0.526]),
667 np.array([0.253, 0.503]),
668 np.array([5, 3]),
669 np.array([-3, -2]),
670 np.array([-1, -3]),
671 ),
672 BrenemanExperimentResult(
673 "Orange",
674 np.array([0.358, 0.545]),
675 np.array([0.287, 0.550]),
676 np.array([7, 3]),
677 np.array([3, 0]),
678 np.array([7, -6]),
679 ),
680 BrenemanExperimentResult(
681 "Brown",
682 np.array([0.350, 0.541]),
683 np.array([0.282, 0.540]),
684 np.array([6, 3]),
685 np.array([-1, 0]),
686 np.array([2, -5]),
687 ),
688 BrenemanExperimentResult(
689 "Yellow",
690 np.array([0.318, 0.551]),
691 np.array([0.249, 0.556]),
692 np.array([7, 2]),
693 np.array([-1, 1]),
694 np.array([2, -5]),
695 ),
696 BrenemanExperimentResult(
697 "Foliage",
698 np.array([0.256, 0.547]),
699 np.array([0.188, 0.537]),
700 np.array([5, 4]),
701 np.array([3, 1]),
702 np.array([4, -2]),
703 ),
704 BrenemanExperimentResult(
705 "Green",
706 np.array([0.193, 0.542]),
707 np.array([0.133, 0.520]),
708 np.array([13, 3]),
709 np.array([5, -2]),
710 np.array([5, -4]),
711 ),
712 BrenemanExperimentResult(
713 "Blue-green",
714 np.array([0.180, 0.516]),
715 np.array([0.137, 0.466]),
716 np.array([12, 10]),
717 np.array([0, 0]),
718 np.array([-2, 2]),
719 ),
720 BrenemanExperimentResult(
721 "Blue",
722 np.array([0.186, 0.445]),
723 np.array([0.156, 0.353]),
724 np.array([12, 45]),
725 np.array([6, 1]),
726 np.array([2, 6]),
727 ),
728 BrenemanExperimentResult(
729 "Sky",
730 np.array([0.225, 0.492]),
731 np.array([0.178, 0.428]),
732 np.array([6, 14]),
733 np.array([1, -1]),
734 np.array([-1, 3]),
735 ),
736 BrenemanExperimentResult(
737 "Purple",
738 np.array([0.276, 0.456]),
739 np.array([0.227, 0.369]),
740 np.array([6, 27]),
741 np.array([-2, 4]),
742 np.array([-3, 9]),
743 ),
744)
745"""
746*Breneman (1987)* experiment 6 results.
748Notes
749-----
750- Illuminants : *A*, *D55*
751- White Luminance : 11100 :math:`cd/m^2`
752- Observers Count : 8
753"""
756BRENEMAN_EXPERIMENT_7_RESULTS = (
757 BrenemanExperimentResult(
758 "Gray", np.array([0.208, 0.481]), np.array([0.211, 0.486]), np.array([2, 3])
759 ),
760 BrenemanExperimentResult(
761 "Red", np.array([0.448, 0.512]), np.array([0.409, 0.516]), np.array([9, 2])
762 ),
763 BrenemanExperimentResult(
764 "Skin", np.array([0.269, 0.505]), np.array([0.256, 0.506]), np.array([4, 3])
765 ),
766 BrenemanExperimentResult(
767 "Orange", np.array([0.331, 0.549]), np.array([0.305, 0.547]), np.array([5, 4])
768 ),
769 BrenemanExperimentResult(
770 "Brown", np.array([0.322, 0.541]), np.array([0.301, 0.539]), np.array([5, 2])
771 ),
772 BrenemanExperimentResult(
773 "Yellow", np.array([0.268, 0.555]), np.array([0.257, 0.552]), np.array([3, 4])
774 ),
775 BrenemanExperimentResult(
776 "Foliage", np.array([0.225, 0.538]), np.array([0.222, 0.536]), np.array([3, 2])
777 ),
778 BrenemanExperimentResult(
779 "Green", np.array([0.135, 0.531]), np.array([0.153, 0.529]), np.array([8, 2])
780 ),
781 BrenemanExperimentResult(
782 "Blue-green",
783 np.array([0.145, 0.475]),
784 np.array([0.160, 0.484]),
785 np.array([3, 5]),
786 ),
787 BrenemanExperimentResult(
788 "Blue", np.array([0.163, 0.331]), np.array([0.171, 0.379]), np.array([4, 11])
789 ),
790 BrenemanExperimentResult(
791 "Sky", np.array([0.179, 0.438]), np.array([0.187, 0.452]), np.array([4, 7])
792 ),
793 BrenemanExperimentResult(
794 "Purple", np.array([0.245, 0.365]), np.array([0.240, 0.398]), np.array([4, 10])
795 ),
796)
797"""
798*Breneman (1987)* experiment 7 results.
800Notes
801-----
802- Effective White Levels : 850 and 11100 :math:`cd/m^2`
803- Observers Count : 8
804"""
807BRENEMAN_EXPERIMENT_8_RESULTS = (
808 BrenemanExperimentResult(
809 "Illuminant", np.array([0.258, 0.524]), np.array([0.195, 0.469])
810 ),
811 BrenemanExperimentResult(
812 "Gray",
813 np.array([0.257, 0.525]),
814 np.array([0.200, 0.494]),
815 np.array([2, 3]),
816 np.array([1, 2]),
817 np.array([0, 0]),
818 ),
819 BrenemanExperimentResult(
820 "Red",
821 np.array([0.458, 0.522]),
822 np.array([0.410, 0.508]),
823 np.array([12, 4]),
824 np.array([-3, 5]),
825 np.array([-7, 2]),
826 ),
827 BrenemanExperimentResult(
828 "Skin",
829 np.array([0.308, 0.526]),
830 np.array([0.249, 0.502]),
831 np.array([6, 2]),
832 np.array([-1, 1]),
833 np.array([-3, -1]),
834 ),
835 BrenemanExperimentResult(
836 "Orange",
837 np.array([0.359, 0.545]),
838 np.array([0.299, 0.545]),
839 np.array([12, 4]),
840 np.array([0, -2]),
841 np.array([-3, 0]),
842 ),
843 BrenemanExperimentResult(
844 "Brown",
845 np.array([0.349, 0.540]),
846 np.array([0.289, 0.532]),
847 np.array([10, 4]),
848 np.array([0, 1]),
849 np.array([-2, 2]),
850 ),
851 BrenemanExperimentResult(
852 "Yellow",
853 np.array([0.317, 0.550]),
854 np.array([0.256, 0.549]),
855 np.array([9, 5]),
856 np.array([0, -3]),
857 np.array([-3, 1]),
858 ),
859 BrenemanExperimentResult(
860 "Foliage",
861 np.array([0.260, 0.545]),
862 np.array([0.198, 0.529]),
863 np.array([5, 5]),
864 np.array([3, 1]),
865 np.array([0, 3]),
866 ),
867 BrenemanExperimentResult(
868 "Green",
869 np.array([0.193, 0.543]),
870 np.array([0.137, 0.520]),
871 np.array([9, 5]),
872 np.array([3, 0]),
873 np.array([2, 1]),
874 ),
875 BrenemanExperimentResult(
876 "Blue-green",
877 np.array([0.182, 0.516]),
878 np.array([0.139, 0.477]),
879 np.array([9, 4]),
880 np.array([-3, 0]),
881 np.array([-2, -4]),
882 ),
883 BrenemanExperimentResult(
884 "Blue",
885 np.array([0.184, 0.444]),
886 np.array([0.150, 0.387]),
887 np.array([5, 11]),
888 np.array([3, -10]),
889 np.array([6, -22]),
890 ),
891 BrenemanExperimentResult(
892 "Sky",
893 np.array([0.224, 0.489]),
894 np.array([0.177, 0.439]),
895 np.array([5, 6]),
896 np.array([1, 1]),
897 np.array([1, -7]),
898 ),
899 BrenemanExperimentResult(
900 "Purple",
901 np.array([0.277, 0.454]),
902 np.array([0.226, 0.389]),
903 np.array([4, 10]),
904 np.array([1, 4]),
905 np.array([1, -8]),
906 ),
907)
908"""
909*Breneman (1987)* experiment 8 results.
911Notes
912-----
913- Illuminants : *A*, *D65*
914- White Luminance : 350 :math:`cd/m^2`
915- Observers Count : 8
916"""
919BRENEMAN_EXPERIMENT_9_RESULTS = (
920 BrenemanExperimentResult(
921 "Illuminant", np.array([0.254, 0.525]), np.array([0.195, 0.465])
922 ),
923 BrenemanExperimentResult(
924 "Gray",
925 np.array([0.256, 0.524]),
926 np.array([0.207, 0.496]),
927 np.array([4, 6]),
928 np.array([3, 2]),
929 np.array([0, 0]),
930 ),
931 BrenemanExperimentResult(
932 "Red",
933 np.array([0.459, 0.521]),
934 np.array([0.415, 0.489]),
935 np.array([20, 14]),
936 np.array([2, 12]),
937 np.array([-2, 21]),
938 ),
939 BrenemanExperimentResult(
940 "Skin",
941 np.array([0.307, 0.525]),
942 np.array([0.261, 0.500]),
943 np.array([7, 7]),
944 np.array([0, 1]),
945 np.array([-5, 2]),
946 ),
947 BrenemanExperimentResult(
948 "Orange",
949 np.array([0.359, 0.545]),
950 np.array([0.313, 0.532]),
951 np.array([7, 5]),
952 np.array([-2, -3]),
953 np.array([-6, 13]),
954 ),
955 BrenemanExperimentResult(
956 "Brown",
957 np.array([0.349, 0.540]),
958 np.array([0.302, 0.510]),
959 np.array([11, 15]),
960 np.array([0, 12]),
961 np.array([-5, 24]),
962 ),
963 BrenemanExperimentResult(
964 "Yellow",
965 np.array([0.317, 0.550]),
966 np.array([0.268, 0.538]),
967 np.array([7, 10]),
968 np.array([1, -4]),
969 np.array([-4, 12]),
970 ),
971 BrenemanExperimentResult(
972 "Foliage",
973 np.array([0.259, 0.544]),
974 np.array([0.212, 0.510]),
975 np.array([10, 11]),
976 np.array([0, 14]),
977 np.array([-4, 22]),
978 ),
979 BrenemanExperimentResult(
980 "Green",
981 np.array([0.193, 0.542]),
982 np.array([0.150, 0.506]),
983 np.array([6, 10]),
984 np.array([-1, 13]),
985 np.array([-2, 15]),
986 ),
987 BrenemanExperimentResult(
988 "Blue-green",
989 np.array([0.181, 0.517]),
990 np.array([0.144, 0.487]),
991 np.array([9, 6]),
992 np.array([-3, 0]),
993 np.array([-1, -9]),
994 ),
995 BrenemanExperimentResult(
996 "Blue",
997 np.array([0.184, 0.444]),
998 np.array([0.155, 0.407]),
999 np.array([4, 11]),
1000 np.array([-2, -6]),
1001 np.array([6, -36]),
1002 ),
1003 BrenemanExperimentResult(
1004 "Sky",
1005 np.array([0.225, 0.490]),
1006 np.array([0.183, 0.458]),
1007 np.array([5, 8]),
1008 np.array([1, -3]),
1009 np.array([2, -19]),
1010 ),
1011 BrenemanExperimentResult(
1012 "Purple",
1013 np.array([0.276, 0.454]),
1014 np.array([0.233, 0.404]),
1015 np.array([7, 12]),
1016 np.array([2, 9]),
1017 np.array([0, -16]),
1018 ),
1019 BrenemanExperimentResult(
1020 "(Gray)h", np.array([0.256, 0.525]), np.array([0.208, 0.498])
1021 ),
1022 BrenemanExperimentResult(
1023 "(Red)h",
1024 np.array([0.456, 0.521]),
1025 np.array([0.416, 0.501]),
1026 np.array([15, 7]),
1027 None,
1028 np.array([-6, -9]),
1029 ),
1030 BrenemanExperimentResult(
1031 "(Brown)h",
1032 np.array([0.349, 0.539]),
1033 np.array([0.306, 0.526]),
1034 np.array([11, 8]),
1035 None,
1036 np.array([-8, 7]),
1037 ),
1038 BrenemanExperimentResult(
1039 "(Foliage)h",
1040 np.array([0.260, 0.545]),
1041 np.array([0.213, 0.528]),
1042 np.array([7, 9]),
1043 None,
1044 np.array([-4, 5]),
1045 ),
1046 BrenemanExperimentResult(
1047 "(Green)h",
1048 np.array([0.193, 0.543]),
1049 np.array([0.149, 0.525]),
1050 np.array([10, 8]),
1051 None,
1052 np.array([-1, -1]),
1053 ),
1054 BrenemanExperimentResult(
1055 "(Blue)h",
1056 np.array([0.184, 0.444]),
1057 np.array([0.156, 0.419]),
1058 np.array([7, 8]),
1059 None,
1060 np.array([4, -45]),
1061 ),
1062 BrenemanExperimentResult(
1063 "(Purple)h",
1064 np.array([0.277, 0.456]),
1065 np.array([0.236, 0.422]),
1066 np.array([6, 11]),
1067 None,
1068 np.array([-2, -29]),
1069 ),
1070)
1071"""
1072*Breneman (1987)* experiment 9 results.
1074Notes
1075-----
1076- Illuminants : *A*, *D65*
1077- White Luminance : 15 :math:`cd/m^2`
1078- Observers Count : 8
1079- The colors indicated by (.)h are the darker colors presented at the higher
1080 luminescence level of the lighter colors.
1081"""
1084BRENEMAN_EXPERIMENT_10_RESULTS = (
1085 BrenemanExperimentResult(
1086 "Gray", np.array([0.208, 0.482]), np.array([0.213, 0.494]), np.array([3, 3])
1087 ),
1088 BrenemanExperimentResult(
1089 "Red", np.array([0.447, 0.512]), np.array([0.411, 0.506]), np.array([15, 7])
1090 ),
1091 BrenemanExperimentResult(
1092 "Skin", np.array([0.269, 0.505]), np.array([0.269, 0.511]), np.array([4, 3])
1093 ),
1094 BrenemanExperimentResult(
1095 "Orange", np.array([0.331, 0.549]), np.array([0.315, 0.536]), np.array([7, 8])
1096 ),
1097 BrenemanExperimentResult(
1098 "Brown", np.array([0.323, 0.542]), np.array([0.310, 0.526]), np.array([6, 8])
1099 ),
1100 BrenemanExperimentResult(
1101 "Yellow", np.array([0.268, 0.556]), np.array([0.268, 0.541]), np.array([3, 6])
1102 ),
1103 BrenemanExperimentResult(
1104 "Foliage", np.array([0.226, 0.538]), np.array([0.230, 0.525]), np.array([4, 8])
1105 ),
1106 BrenemanExperimentResult(
1107 "Green", np.array([0.135, 0.531]), np.array([0.158, 0.524]), np.array([6, 3])
1108 ),
1109 BrenemanExperimentResult(
1110 "Blue-green",
1111 np.array([0.145, 0.476]),
1112 np.array([0.161, 0.491]),
1113 np.array([4, 4]),
1114 ),
1115 BrenemanExperimentResult(
1116 "Blue", np.array([0.163, 0.330]), np.array([0.171, 0.377]), np.array([6, 19])
1117 ),
1118 BrenemanExperimentResult(
1119 "Sky", np.array([0.179, 0.439]), np.array([0.187, 0.465]), np.array([5, 5])
1120 ),
1121 BrenemanExperimentResult(
1122 "Purple", np.array([0.245, 0.366]), np.array([0.240, 0.402]), np.array([3, 12])
1123 ),
1124)
1125"""
1126*Breneman (1987)* experiment 10 results.
1128Notes
1129-----
1130- Effective White Levels : 15 and 270 :math:`cd/m^2`
1131- Observers Count : 7
1132"""
1135BRENEMAN_EXPERIMENT_11_RESULTS = (
1136 BrenemanExperimentResult(
1137 "Illuminant", np.array([0.208, 0.482]), np.array([0.174, 0.520])
1138 ),
1139 BrenemanExperimentResult(
1140 "Gray",
1141 np.array([0.209, 0.483]),
1142 np.array([0.176, 0.513]),
1143 np.array([3, 4]),
1144 np.array([2, 2]),
1145 np.array([0, 0]),
1146 ),
1147 BrenemanExperimentResult(
1148 "Red",
1149 np.array([0.450, 0.512]),
1150 np.array([0.419, 0.524]),
1151 np.array([10, 2]),
1152 np.array([3, 2]),
1153 np.array([8, -1]),
1154 ),
1155 BrenemanExperimentResult(
1156 "Skin",
1157 np.array([0.268, 0.506]),
1158 np.array([0.240, 0.528]),
1159 np.array([6, 2]),
1160 np.array([-4, 0]),
1161 np.array([-3, 0]),
1162 ),
1163 BrenemanExperimentResult(
1164 "Orange",
1165 np.array([0.331, 0.547]),
1166 np.array([0.293, 0.553]),
1167 np.array([6, 2]),
1168 np.array([3, -1]),
1169 np.array([5, 1]),
1170 ),
1171 BrenemanExperimentResult(
1172 "Brown",
1173 np.array([0.323, 0.542]),
1174 np.array([0.290, 0.552]),
1175 np.array([5, 2]),
1176 np.array([-1, -3]),
1177 np.array([0, -1]),
1178 ),
1179 BrenemanExperimentResult(
1180 "Yellow",
1181 np.array([0.266, 0.549]),
1182 np.array([0.236, 0.557]),
1183 np.array([4, 2]),
1184 np.array([-3, -2]),
1185 np.array([-4, 2]),
1186 ),
1187 BrenemanExperimentResult(
1188 "Foliage",
1189 np.array([0.227, 0.538]),
1190 np.array([0.194, 0.552]),
1191 np.array([4, 2]),
1192 np.array([2, -3]),
1193 np.array([-1, 1]),
1194 ),
1195 BrenemanExperimentResult(
1196 "Green",
1197 np.array([0.146, 0.534]),
1198 np.array([0.118, 0.551]),
1199 np.array([8, 3]),
1200 np.array([4, -2]),
1201 np.array([-6, 3]),
1202 ),
1203 BrenemanExperimentResult(
1204 "Blue-green",
1205 np.array([0.160, 0.475]),
1206 np.array([0.130, 0.513]),
1207 np.array([9, 4]),
1208 np.array([1, -1]),
1209 np.array([-4, -3]),
1210 ),
1211 BrenemanExperimentResult(
1212 "Blue",
1213 np.array([0.177, 0.340]),
1214 np.array([0.133, 0.427]),
1215 np.array([6, 14]),
1216 np.array([4, -17]),
1217 np.array([11, -29]),
1218 ),
1219 BrenemanExperimentResult(
1220 "Sky",
1221 np.array([0.179, 0.438]),
1222 np.array([0.146, 0.482]),
1223 np.array([6, 10]),
1224 np.array([1, 4]),
1225 np.array([0, -1]),
1226 ),
1227 BrenemanExperimentResult(
1228 "Purple",
1229 np.array([0.245, 0.366]),
1230 np.array([0.216, 0.419]),
1231 np.array([4, 13]),
1232 np.array([-3, 8]),
1233 np.array([4, -2]),
1234 ),
1235)
1236"""
1237*Breneman (1987)* experiment 11 results.
1239Notes
1240-----
1241- Illuminants : *green*, *D65*
1242- White Luminance : 1560 :math:`cd/m^2`
1243- Observers Count : 7
1244"""
1247BRENEMAN_EXPERIMENT_12_RESULTS = (
1248 BrenemanExperimentResult(
1249 "Illuminant", np.array([0.205, 0.482]), np.array([0.174, 0.519])
1250 ),
1251 BrenemanExperimentResult(
1252 "Gray",
1253 np.array([0.208, 0.482]),
1254 np.array([0.181, 0.507]),
1255 np.array([4, 3]),
1256 np.array([0, 1]),
1257 np.array([0, 0]),
1258 ),
1259 BrenemanExperimentResult(
1260 "Red",
1261 np.array([0.451, 0.512]),
1262 np.array([0.422, 0.526]),
1263 np.array([20, 3]),
1264 np.array([0, -5]),
1265 np.array([10, -5]),
1266 ),
1267 BrenemanExperimentResult(
1268 "Skin",
1269 np.array([0.268, 0.506]),
1270 np.array([0.244, 0.525]),
1271 np.array([5, 2]),
1272 np.array([-6, 0]),
1273 np.array([-2, -1]),
1274 ),
1275 BrenemanExperimentResult(
1276 "Orange",
1277 np.array([0.331, 0.548]),
1278 np.array([0.292, 0.553]),
1279 np.array([10, 2]),
1280 np.array([5, 2]),
1281 np.array([11, 1]),
1282 ),
1283 BrenemanExperimentResult(
1284 "Brown",
1285 np.array([0.324, 0.542]),
1286 np.array([0.286, 0.554]),
1287 np.array([8, 1]),
1288 np.array([5, -3]),
1289 np.array([10, -4]),
1290 ),
1291 BrenemanExperimentResult(
1292 "Yellow",
1293 np.array([0.266, 0.548]),
1294 np.array([0.238, 0.558]),
1295 np.array([6, 2]),
1296 np.array([-3, -1]),
1297 np.array([-1, -2]),
1298 ),
1299 BrenemanExperimentResult(
1300 "Foliage",
1301 np.array([0.227, 0.538]),
1302 np.array([0.196, 0.555]),
1303 np.array([6, 3]),
1304 np.array([3, -4]),
1305 np.array([2, -5]),
1306 ),
1307 BrenemanExperimentResult(
1308 "Green",
1309 np.array([0.145, 0.534]),
1310 np.array([0.124, 0.551]),
1311 np.array([8, 6]),
1312 np.array([1, -1]),
1313 np.array([-8, -1]),
1314 ),
1315 BrenemanExperimentResult(
1316 "Blue-green",
1317 np.array([0.160, 0.474]),
1318 np.array([0.135, 0.505]),
1319 np.array([5, 2]),
1320 np.array([1, -1]),
1321 np.array([-4, -3]),
1322 ),
1323 BrenemanExperimentResult(
1324 "Blue",
1325 np.array([0.178, 0.339]),
1326 np.array([0.149, 0.392]),
1327 np.array([4, 20]),
1328 np.array([-1, -5]),
1329 np.array([3, -7]),
1330 ),
1331 BrenemanExperimentResult(
1332 "Sky",
1333 np.array([0.179, 0.440]),
1334 np.array([0.150, 0.473]),
1335 np.array([4, 8]),
1336 np.array([3, 2]),
1337 np.array([2, 0]),
1338 ),
1339 BrenemanExperimentResult(
1340 "Purple",
1341 np.array([0.246, 0.366]),
1342 np.array([0.222, 0.404]),
1343 np.array([5, 15]),
1344 np.array([-4, 2]),
1345 np.array([4, 2]),
1346 ),
1347)
1348"""
1349*Breneman (1987)* experiment 12 results.
1351Notes
1352-----
1353- Illuminants : *D55*, *green*
1354- White Luminance : 75 :math:`cd/m^2`
1355- Observers Count : 7
1356"""
1359BRENEMAN_EXPERIMENT_PRIMARIES_CHROMATICITIES = {
1360 1: PrimariesChromaticityCoordinates(
1361 1,
1362 ("A", "D65"),
1363 1500,
1364 np.array([0.671, 0.519]),
1365 np.array([-0.586, 0.627]),
1366 np.array([0.253, 0.016]),
1367 ),
1368 2: PrimariesChromaticityCoordinates(
1369 2,
1370 ("Projector", "D55"),
1371 1500,
1372 np.array([0.675, 0.523]),
1373 np.array([-0.466, 0.617]),
1374 np.array([0.255, 0.018]),
1375 ),
1376 3: PrimariesChromaticityCoordinates(
1377 3,
1378 ("Projector", "D55"),
1379 75,
1380 np.array([0.664, 0.510]),
1381 np.array([-0.256, 0.729]),
1382 np.array([0.244, 0.003]),
1383 ),
1384 4: PrimariesChromaticityCoordinates(
1385 4,
1386 ("A", "D65"),
1387 75,
1388 np.array([0.674, 0.524]),
1389 np.array([-0.172, 0.628]),
1390 np.array([0.218, -0.026]),
1391 ),
1392 6: PrimariesChromaticityCoordinates(
1393 6,
1394 ("A", "D55"),
1395 11100,
1396 np.array([0.659, 0.506]),
1397 np.array([-0.141, 0.615]),
1398 np.array([0.249, 0.009]),
1399 ),
1400 8: PrimariesChromaticityCoordinates(
1401 8,
1402 ("A", "D65"),
1403 350,
1404 np.array([0.659, 0.505]),
1405 np.array([-0.246, 0.672]),
1406 np.array([0.235, -0.006]),
1407 ),
1408 9: PrimariesChromaticityCoordinates(
1409 9,
1410 ("A", "D65"),
1411 15,
1412 np.array([0.693, 0.546]),
1413 np.array([-0.446, 0.773]),
1414 np.array([0.221, -0.023]),
1415 ),
1416 11: PrimariesChromaticityCoordinates(
1417 11,
1418 ("D55", "green"),
1419 1560,
1420 np.array([0.680, 0.529]),
1421 np.array([0.018, 0.576]),
1422 np.array([0.307, 0.080]),
1423 ),
1424 12: PrimariesChromaticityCoordinates(
1425 12,
1426 ("D55", "green"),
1427 75,
1428 np.array([0.661, 0.505]),
1429 np.array([0.039, 0.598]),
1430 np.array([0.345, 0.127]),
1431 ),
1432}
1433if is_documentation_building(): # pragma: no cover
1434 BRENEMAN_EXPERIMENT_PRIMARIES_CHROMATICITIES = DocstringDict(
1435 BRENEMAN_EXPERIMENT_PRIMARIES_CHROMATICITIES
1436 )
1437 BRENEMAN_EXPERIMENT_PRIMARIES_CHROMATICITIES.__doc__ = """
1438*Breneman (1987)* experiments primaries chromaticities.
1440References
1441----------
1442:cite:`Breneman1987b`
1444BRENEMAN_EXPERIMENT_PRIMARIES_CHROMATICITIES : dict
1445"""
1447BRENEMAN_EXPERIMENTS = {
1448 1: BRENEMAN_EXPERIMENT_1_RESULTS,
1449 2: BRENEMAN_EXPERIMENT_2_RESULTS,
1450 3: BRENEMAN_EXPERIMENT_3_RESULTS,
1451 4: BRENEMAN_EXPERIMENT_4_RESULTS,
1452 5: BRENEMAN_EXPERIMENT_5_RESULTS,
1453 6: BRENEMAN_EXPERIMENT_6_RESULTS,
1454 7: BRENEMAN_EXPERIMENT_7_RESULTS,
1455 8: BRENEMAN_EXPERIMENT_8_RESULTS,
1456 9: BRENEMAN_EXPERIMENT_9_RESULTS,
1457 10: BRENEMAN_EXPERIMENT_10_RESULTS,
1458 11: BRENEMAN_EXPERIMENT_11_RESULTS,
1459 12: BRENEMAN_EXPERIMENT_12_RESULTS,
1460}
1461if is_documentation_building(): # pragma: no cover
1462 BRENEMAN_EXPERIMENTS = DocstringDict(BRENEMAN_EXPERIMENTS)
1463 BRENEMAN_EXPERIMENTS.__doc__ = """
1464*Breneman (1987)* experiments.
1466References
1467----------
1468:cite:`Breneman1987b`
1469"""