Source code for colour.colorimetry.dataset.illuminants.chromaticity_coordinates

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
Illuminants Chromaticity Coordinates
====================================

Defines *CIE* illuminants chromaticity coordinates for the
*CIE 1931 2 Degree Standard Observer* and
*CIE 1964 10 Degree Standard Observer*.

The following *CIE* illuminants are available:

-   CIE Standard Illuminant A
-   CIE Illuminant B
-   CIE Illuminant C
-   CIE Illuminant D Series (D50, D55, D60, D65, D75)
-   CIE Illuminant E
-   Illuminants F Series (F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9,
    FL3.1, FL3.10, FL3.11, FL3.12, FL3.13, FL3.14, FL3.15, FL3.2, FL3.3, FL3.4,
    FL3.5, FL3.6, FL3.7, FL3.8, FL3.9)
-   High Pressure Discharge Lamps (HP1, HP2, HP3, HP4, HP5)

See Also
--------
`Illuminants IPython Notebook
<http://nbviewer.ipython.org/github/colour-science/colour-ipython/blob/master/notebooks/colorimetry/illuminants.ipynb>`_  # noqa

Notes
-----
-   *CIE* illuminants with chromaticity coordinates not defined in the
    reference [1]_ have been calculated using their relative spectral power
    distributions and the
    :func:`colour.colorimetry.tristimulus.spectral_to_XYZ` definition.

References
----------
.. [1]  http://en.wikipedia.org/wiki/Standard_illuminant#White_points_of_standard_illuminants  # noqa

"""

from __future__ import division, unicode_literals

from colour.utilities import CaseInsensitiveMapping

__author__ = 'Colour Developers'
__copyright__ = 'Copyright (C) 2013 - 2014 - Colour Developers'
__license__ = 'New BSD License - http://opensource.org/licenses/BSD-3-Clause'
__maintainer__ = 'Colour Developers'
__email__ = '[email protected]'
__status__ = 'Production'

__all__ = [
    'ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER',
    'ILLUMINANTS_CIE_1964_10_DEGREE_STANDARD_OBSERVER',
    'ILLUMINANTS']

ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER = (
    CaseInsensitiveMapping(
        {'A': (0.44757, 0.40745),
         'B': (0.34842, 0.35161),
         'C': (0.31006, 0.31616),
         'D50': (0.34567, 0.35850),
         'D55': (0.33242, 0.34743),
         'D60': (0.32168, 0.33767),
         'D65': (0.31271, 0.32902),
         'D75': (0.29902, 0.31485),
         'E': (1 / 3, 1 / 3),
         'F1': (0.31310, 0.33727),
         'F2': (0.37208, 0.37529),
         'F3': (0.40910, 0.39430),
         'F4': (0.44018, 0.40329),
         'F5': (0.31379, 0.34531),
         'F6': (0.37790, 0.38835),
         'F7': (0.31292, 0.32933),
         'F8': (0.34588, 0.35875),
         'F9': (0.37417, 0.37281),
         'F10': (0.34609, 0.35986),
         'F12': (0.43695, 0.40441)}))
"""
*CIE* illuminant chromaticity coordinates for
*CIE 1931 2 Degree Standard Observer*.

ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER : dict
"""

ILLUMINANTS_CIE_1964_10_DEGREE_STANDARD_OBSERVER = (
    CaseInsensitiveMapping(
        {'A': (0.45117, 0.40594),
         'B': (0.34980, 0.35270),
         'C': (0.31039, 0.31905),
         'D50': (0.34773, 0.35952),
         'D55': (0.33411, 0.34877),
         'D65': (0.31382, 0.33100),
         'D75': (0.29968, 0.31740),
         'E': (1. / 3., 1. / 3.),
         'F1': (0.31811, 0.33559),
         'F2': (0.37925, 0.36733),
         'F3': (0.41761, 0.38324),
         'F4': (0.44920, 0.39074),
         'F5': (0.31975, 0.34246),
         'F6': (0.38660, 0.37847),
         'F7': (0.31569, 0.32960),
         'F8': (0.34902, 0.35939),
         'F9': (0.37829, 0.37045),
         'F10': (0.35090, 0.35444),
         'F11': (0.38541, 0.37123),
         'F12': (0.44256, 0.39717)}))
"""
*CIE* illuminant chromaticity coordinates for
*CIE 1964 10 Degree Standard Observer*.

ILLUMINANTS_CIE_1964_10_DEGREE_STANDARD_OBSERVER : dict
"""

ILLUMINANTS = CaseInsensitiveMapping(
    {'CIE 1931 2 Degree Standard Observer':
         ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER,
     'CIE 1964 10 Degree Standard Observer':
         ILLUMINANTS_CIE_1964_10_DEGREE_STANDARD_OBSERVER})
"""
Aggregated *CIE* illuminants chromaticity coordinates.

ILLUMINANTS : dict
   ('CIE 1931 2 Degree Standard Observer',
    'CIE 1964 10 Degree Standard Observer')

Aliases:

-   'cie_2_1931': 'CIE 1931 2 Degree Standard Observer'
-   'cie_10_1964': 'CIE 1964 10 Degree Standard Observer'
"""
ILLUMINANTS['cie_2_1931'] = (
    ILLUMINANTS['CIE 1931 2 Degree Standard Observer'])
ILLUMINANTS['cie_10_1964'] = (
    ILLUMINANTS['CIE 1964 10 Degree Standard Observer'])

# cmfs=colour.STANDARD_OBSERVERS_CMFS.get(
# 'CIE 1931 2 Degree Standard Observer')
# for illuminant, spd in sorted(colour.ILLUMINANTS_RELATIVE_SPDS.items()):
# print(illuminant, colour.XYZ_to_xy(colour.spectral_to_XYZ(spd, cmfs)))
ILLUMINANTS_CIE_1931_2_DEGREE_STANDARD_OBSERVER.update(
    {'FL3.1': (0.44067505367083887, 0.40329824005212678),
     'FL3.2': (0.38077509554542083, 0.37335593850329946),
     'FL3.3': (0.31528299995992398, 0.34386075294770529),
     'FL3.4': (0.4429092105157883, 0.40432363641263036),
     'FL3.5': (0.37489860509162237, 0.36715721144008995),
     'FL3.6': (0.34880430112004895, 0.36000066745930004),
     'FL3.7': (0.43842546777142649, 0.40453105392942212),
     'FL3.8': (0.38197740008964315, 0.38317934336436121),
     'FL3.9': (0.3498569555988198, 0.35908801298815513),
     'FL3.10': (0.345504278345313, 0.35595124320540111),
     'FL3.11': (0.32450996922163172, 0.34336978810428798),
     'FL3.12': (0.43767464805198042, 0.40366659242713887),
     'FL3.13': (0.38305207018919446, 0.37244321884144194),
     'FL3.14': (0.34472222710251049, 0.36093702097281111),
     'FL3.15': (0.31267061727694151, 0.32875456607137038),
     'HP1': (0.53300082279238248, 0.41495323768693643),
     'HP2': (0.47779207498613968, 0.41584045880847942),
     'HP3': (0.43023140032725588, 0.40751701140483843),
     'HP4': (0.38117189471910373, 0.3797265745279147),
     'HP5': (0.37758320909195225, 0.37134797280226028)})

# cmfs=colour.STANDARD_OBSERVERS_CMFS.get(
# 'CIE 1964 10 Degree Standard Observer')
# for illuminant, spd in sorted(colour.ILLUMINANTS_RELATIVE_SPDS.items()):
# print illuminant, colour.XYZ_to_xy(colour.spectral_to_XYZ(spd, cmfs))
ILLUMINANTS_CIE_1964_10_DEGREE_STANDARD_OBSERVER.update(
    {'FL3.1': (0.44983072060097606, 0.3902314548749185),
     'FL3.2': (0.38692417905929311, 0.36575613990679151),
     'FL3.3': (0.32117704635900118, 0.34050122948531319),
     'FL3.4': (0.44812132825245227, 0.39707718739452286),
     'FL3.5': (0.37781421452801472, 0.36662585171298506),
     'FL3.6': (0.35197652659197876, 0.36109452832152122),
     'FL3.7': (0.44430926608426524, 0.39679146953766947),
     'FL3.8': (0.38758897850585272, 0.37630564994236454),
     'FL3.9': (0.35468902355093479, 0.35344509693791348),
     'FL3.10': (0.3493448005253757, 0.35498443751900227),
     'FL3.11': (0.32926800293079544, 0.33886544553697306),
     'FL3.12': (0.44225210471167209, 0.40122058660685506),
     'FL3.13': (0.3862752927999335, 0.37428323257289459),
     'FL3.14': (0.34725510277403043, 0.36680829309760771),
     'FL3.15': (0.31461426562662165, 0.33337778105773069),
     'HP1': (0.54333464101412698, 0.40528934193733374),
     'HP2': (0.48264737821938364, 0.41081570598949713),
     'HP3': (0.43556008048844208, 0.39880115305546204),
     'HP4': (0.3851937462655714, 0.3682756593039444),
     'HP5': (0.38031641910835223, 0.3666171209128104)})