colour Package

Sub-Packages

Module Contents

Colour

Colour is a Python colour science package implementing a comprehensive number of colour theory transformations and algorithms.

Subpackages

  • adaptation: Chromatic adaptation models and transformations.
  • algebra: Algebra utilities.
  • appearance: Colour appearance models.
  • biochemistry: Biochemistry computations.
  • characterisation: Colour fitting and camera characterisation.
  • colorimetry: Core objects for colour computations.
  • constants: CIE and CODATA constants.
  • corresponding: Corresponding colour chromaticities computations.
  • difference: Colour difference computations.
  • examples: Examples for the sub-packages.
  • io: Input / output objects for reading and writing data.
  • models: Colour models.
  • notation: Colour notation systems.
  • phenomenons: Computation of various optical phenomenons.
  • plotting: Diagrams, figures, etc...
  • quality: Colour quality computation.
  • recovery: Reflectance recovery.
  • temperature: Colour temperature and correlated colour temperature computation.
  • utilities: Various utilities and data structures.
  • volume: Colourspace volumes computation and optimal colour stimuli.
colour.handle_numpy_errors(**kwargs)[source]

Decorator for handling Numpy errors.

Other Parameters:
 **kwargs (dict, optional) – Keywords arguments.
Returns:
Return type:object

References

[1]Kienzle, P., Patel, N., & Krycka, J. (2011). refl1d.numpyerrors - Refl1D v0.6.19 documentation. Retrieved January 30, 2015, from http://www.reflectometry.org/danse/docs/refl1d/_modules/refl1d/numpyerrors.html

Examples

>>> import numpy
>>> @handle_numpy_errors(all='ignore')
... def f():
...     1 / numpy.zeros(3)
>>> f()
colour.ignore_numpy_errors(function)

Wrapper for given function.

colour.raise_numpy_errors(function)

Wrapper for given function.

colour.print_numpy_errors(function)

Wrapper for given function.

colour.warn_numpy_errors(function)

Wrapper for given function.

colour.ignore_python_warnings(function)[source]

Decorator for ignoring Python warnings.

Parameters:function (object) – Function to decorate.
Returns:
Return type:object

Examples

>>> @ignore_python_warnings
... def f():
...     warnings.warn('This is an ignored warning!')
>>> f()
colour.batch(iterable, k=3)[source]

Returns a batch generator from given iterable.

Parameters:
  • iterable (iterable) – Iterable to create batches from.
  • k (integer) – Batches size.
Returns:

Is string_like variable.

Return type:

bool

Examples

>>> batch(tuple(range(10)))  
<generator object batch at 0x...>
colour.is_openimageio_installed(raise_exception=False)[source]

Returns if OpenImageIO is installed and available.

Parameters:raise_exception (bool) – Raise exception if OpenImageIO is unavailable.
Returns:Is OpenImageIO installed.
Return type:bool
Raises:ImportError – If OpenImageIO is not installed.
colour.is_iterable(a)[source]

Returns if given \(a\) variable is iterable.

Parameters:a (object) – Variable to check the iterability.
Returns:\(a\) variable iterability.
Return type:bool

Examples

>>> is_iterable([1, 2, 3])
True
>>> is_iterable(1)
False
colour.is_string(a)[source]

Returns if given \(a\) variable is a string like variable.

Parameters:a (object) – Data to test.
Returns:Is \(a\) variable a string like variable.
Return type:bool

Examples

>>> is_string('I`m a string!')
True
>>> is_string(['I`m a string!'])
False
colour.is_numeric(a)[source]

Returns if given \(a\) variable is a number.

Parameters:a (object) – Variable to check.
Returns:Is \(a\) variable a number.
Return type:bool

See also

is_integer()

Examples

>>> is_numeric(1)
True
>>> is_numeric((1,))
False
colour.is_integer(a)[source]

Returns if given \(a\) variable is an integer under given threshold.

Parameters:a (object) – Variable to check.
Returns:Is \(a\) variable an integer.
Return type:bool

Notes

  • The determination threshold is defined by the colour.algebra.common.INTEGER_THRESHOLD attribute.

See also

is_numeric()

Examples

>>> is_integer(1)
True
>>> is_integer(1.01)
False
colour.filter_kwargs(function, **kwargs)[source]

Filters keyword arguments incompatible with the given function signature.

Parameters:function (callable) – Callable to filter the incompatible keyword arguments.
Other Parameters:
 **kwargs (dict, optional) – Keywords arguments.
Returns:Filtered keyword arguments.
Return type:dict

Examples

>>> def fn_a(a):
...     return a
>>> def fn_b(a, b=0):
...     return a, b
>>> def fn_c(a, b=0, c=0):
...     return a, b, c
>>> fn_a(1, **filter_kwargs(fn_a, b=2, c=3))
1
>>> fn_b(1, **filter_kwargs(fn_b, b=2, c=3))
(1, 2)
>>> fn_c(1, **filter_kwargs(fn_c, b=2, c=3))
(1, 2, 3)
colour.as_numeric(a, type_=<type 'numpy.float64'>)[source]

Converts given \(a\) variable to numeric. In the event where \(a\) cannot be converted, it is passed as is.

Parameters:
  • a (object) – Variable to convert.
  • type (object) – Type to use for conversion.
Returns:

\(a\) variable converted to numeric.

Return type:

ndarray

See also

as_stack(), as_shape(), auto_axis()

Examples

>>> as_numeric(np.array([1]))
1.0
>>> as_numeric(np.arange(10))
array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.])
colour.as_namedtuple(a, named_tuple)[source]

Converts given \(a\) variable to given namedtuple class instance.

\(a\) can be either a Numpy structured array, a namedtuple, a mapping, or an array_like object. The definition will attempt to convert it to given namedtuple.

Parameters:
  • a (object) – Variable to convert.
  • named_tuple (namedtuple) – namedtuple class.
Returns:

math:a variable converted to namedtuple.

Return type:

namedtuple

Examples

>>> from collections import namedtuple
>>> a_a = 1
>>> a_b = 2
>>> a_c = 3
>>> NamedTuple = namedtuple('NamedTuple', 'a b c')
>>> as_namedtuple(NamedTuple(a=1, b=2, c=3), NamedTuple)
NamedTuple(a=1, b=2, c=3)
>>> as_namedtuple({'a': a_a, 'b': a_b, 'c': a_c}, NamedTuple)
NamedTuple(a=1, b=2, c=3)
>>> as_namedtuple([a_a, a_b, a_c], NamedTuple)
NamedTuple(a=1, b=2, c=3)
colour.closest(a, b)[source]

Returns closest \(a\) variable element to reference \(b\) variable.

Parameters:
  • a (array_like) – Variable to search for the closest element.
  • b (numeric) – Reference variable.
Returns:

Closest \(a\) variable element.

Return type:

numeric

Examples

>>> a = np.array([24.31357115,
...               63.62396289,
...               55.71528816,
...               62.70988028,
...               46.84480573,
...               25.40026416])
>>> closest(a, 63)
62.70988028
colour.normalise_maximum(a, axis=None, factor=1, clip=True)[source]

Normalises given array_like \(a\) variable values by \(a\) variable maximum value and optionally clip them between.

Parameters:
  • a (array_like) – \(a\) variable to normalise.
  • axis (numeric, optional) – Normalization axis.
  • factor (numeric, optional) – Normalization factor.
  • clip (bool, optional) – Clip values between in domain [0, ‘factor’].
Returns:

Maximum normalised \(a\) variable.

Return type:

ndarray

Examples

>>> a = np.array([0.48222001, 0.31654775, 0.22070353])
>>> normalise_maximum(a)  
array([ 1.        ,  0.6564384...,  0.4576822...])
colour.interval(distribution)[source]

Returns the interval size of given distribution.

Parameters:distribution (array_like) – Distribution to retrieve the interval.
Returns:Distribution interval.
Return type:ndarray

Examples

Uniformly spaced variable:

>>> y = np.array([1, 2, 3, 4, 5])
>>> interval(y)
array([1])

Non-uniformly spaced variable:

>>> y = np.array([1, 2, 3, 4, 8])
>>> interval(y)
array([1, 4])
colour.is_uniform(distribution)[source]

Returns if given distribution is uniform.

Parameters:distribution (array_like) – Distribution to check for uniformity.
Returns:Is distribution uniform.
Return type:bool

Examples

Uniformly spaced variable:

>>> a = np.array([1, 2, 3, 4, 5])
>>> is_uniform(a)
True

Non-uniformly spaced variable:

>>> a = np.array([1, 2, 3.1415, 4, 5])
>>> is_uniform(a)
False
colour.in_array(a, b, tolerance=2.2204460492503131e-16)[source]

Tests whether each element of an array is also present in a second array within given tolerance.

Parameters:
  • a (array_like) – Array to test the elements from.
  • b (array_like) – The values against which to test each value of array a.
  • tolerance (numeric, optional) – Tolerance value.
Returns:

A boolean array with a shape describing whether an element of a is present in b within given tolerance.

Return type:

ndarray

References

[1]Yorke, R. (2014). Python: Change format of np.array or allow tolerance in in1d function. Retrieved March 27, 2015, from http://stackoverflow.com/a/23521245/931625

Examples

>>> a = np.array([0.50, 0.60])
>>> b = np.linspace(0, 10, 101)
>>> np.in1d(a, b)
array([ True, False], dtype=bool)
>>> in_array(a, b)
array([ True,  True], dtype=bool)
colour.tstack(a)[source]

Stacks arrays in sequence along the last axis (tail).

Rebuilds arrays divided by tsplit().

Parameters:a (array_like) – Array to perform the stacking.
Returns:
Return type:ndarray

See also

tsplit()

Examples

>>> a = 0
>>> tstack((a, a, a))
array([0, 0, 0])
>>> a = np.arange(0, 6)
>>> tstack((a, a, a))
array([[0, 0, 0],
       [1, 1, 1],
       [2, 2, 2],
       [3, 3, 3],
       [4, 4, 4],
       [5, 5, 5]])
>>> a = np.reshape(a, (1, 6))
>>> tstack((a, a, a))
array([[[0, 0, 0],
        [1, 1, 1],
        [2, 2, 2],
        [3, 3, 3],
        [4, 4, 4],
        [5, 5, 5]]])
>>> a = np.reshape(a, (1, 1, 6))
>>> tstack((a, a, a))
array([[[[0, 0, 0],
         [1, 1, 1],
         [2, 2, 2],
         [3, 3, 3],
         [4, 4, 4],
         [5, 5, 5]]]])
colour.tsplit(a)[source]

Splits arrays in sequence along the last axis (tail).

Parameters:a (array_like) – Array to perform the splitting.
Returns:
Return type:ndarray

See also

tstack()

Examples

>>> a = np.array([0, 0, 0])
>>> tsplit(a)
array([0, 0, 0])
>>> a = np.array([[0, 0, 0],
...               [1, 1, 1],
...               [2, 2, 2],
...               [3, 3, 3],
...               [4, 4, 4],
...               [5, 5, 5]])
>>> tsplit(a)
array([[0, 1, 2, 3, 4, 5],
       [0, 1, 2, 3, 4, 5],
       [0, 1, 2, 3, 4, 5]])
>>> a = np.array([[[0, 0, 0],
...                [1, 1, 1],
...                [2, 2, 2],
...                [3, 3, 3],
...                [4, 4, 4],
...                [5, 5, 5]]])
>>> tsplit(a)
array([[[0, 1, 2, 3, 4, 5]],

       [[0, 1, 2, 3, 4, 5]],

       [[0, 1, 2, 3, 4, 5]]])
colour.row_as_diagonal(a)[source]

Returns the per row diagonal matrices of the given array.

Parameters:a (array_like) – Array to perform the diagonal matrices computation.
Returns:
Return type:ndarray

References

[1]Castro, S. (2014). Numpy: Fastest way of computing diagonal for each row of a 2d array. Retrieved August 22, 2014, from http://stackoverflow.com/questions/26511401/numpy-fastest-way-of-computing-diagonal-for-each-row-of-a-2d-array/26517247#26517247

Examples

>>> a = np.array([[0.25891593, 0.07299478, 0.36586996],
...               [0.30851087, 0.37131459, 0.16274825],
...               [0.71061831, 0.67718718, 0.09562581],
...               [0.71588836, 0.76772047, 0.15476079],
...               [0.92985142, 0.22263399, 0.88027331]])
>>> row_as_diagonal(a)
array([[[ 0.25891593,  0.        ,  0.        ],
        [ 0.        ,  0.07299478,  0.        ],
        [ 0.        ,  0.        ,  0.36586996]],

       [[ 0.30851087,  0.        ,  0.        ],
        [ 0.        ,  0.37131459,  0.        ],
        [ 0.        ,  0.        ,  0.16274825]],

       [[ 0.71061831,  0.        ,  0.        ],
        [ 0.        ,  0.67718718,  0.        ],
        [ 0.        ,  0.        ,  0.09562581]],

       [[ 0.71588836,  0.        ,  0.        ],
        [ 0.        ,  0.76772047,  0.        ],
        [ 0.        ,  0.        ,  0.15476079]],

       [[ 0.92985142,  0.        ,  0.        ],
        [ 0.        ,  0.22263399,  0.        ],
        [ 0.        ,  0.        ,  0.88027331]]])
colour.dot_vector(m, v)[source]

Convenient wrapper around np.einsum() with the following subscripts: ‘...ij,...j->...i’.

It performs the dot product of two arrays where m parameter is expected to be an array of 3x3 matrices and parameter v an array of vectors.

Parameters:
  • m (array_like) – Array of 3x3 matrices.
  • v (array_like) – Array of vectors.
Returns:

Return type:

ndarray

See also

dot_matrix()

Examples

>>> m = np.array([[0.7328, 0.4296, -0.1624],
...               [-0.7036, 1.6975, 0.0061],
...               [0.0030, 0.0136, 0.9834]])
>>> m = np.reshape(np.tile(m, (6, 1)), (6, 3, 3))
>>> v = np.array([0.07049534, 0.10080000, 0.09558313])
>>> v = np.tile(v, (6, 1))
>>> dot_vector(m, v)  
array([[ 0.0794399...,  0.1220905...,  0.0955788...],
       [ 0.0794399...,  0.1220905...,  0.0955788...],
       [ 0.0794399...,  0.1220905...,  0.0955788...],
       [ 0.0794399...,  0.1220905...,  0.0955788...],
       [ 0.0794399...,  0.1220905...,  0.0955788...],
       [ 0.0794399...,  0.1220905...,  0.0955788...]])
colour.dot_matrix(a, b)[source]

Convenient wrapper around np.einsum() with the following subscripts: ‘...ij,...jk->...ik’.

It performs the dot product of two arrays where a parameter is expected to be an array of 3x3 matrices and parameter b another array of of 3x3 matrices.

Parameters:
  • a (array_like) – Array of 3x3 matrices.
  • b (array_like) – Array of 3x3 matrices.
Returns:

Return type:

ndarray

See also

dot_matrix()

Examples

>>> a = np.array([[0.7328, 0.4296, -0.1624],
...               [-0.7036, 1.6975, 0.0061],
...               [0.0030, 0.0136, 0.9834]])
>>> a = np.reshape(np.tile(a, (6, 1)), (6, 3, 3))
>>> b = a
>>> dot_matrix(a, b)  
array([[[ 0.2342420...,  1.0418482..., -0.2760903...],
        [-1.7099407...,  2.5793226...,  0.1306181...],
        [-0.0044203...,  0.0377490...,  0.9666713...]],

       [[ 0.2342420...,  1.0418482..., -0.2760903...],
        [-1.7099407...,  2.5793226...,  0.1306181...],
        [-0.0044203...,  0.0377490...,  0.9666713...]],

       [[ 0.2342420...,  1.0418482..., -0.2760903...],
        [-1.7099407...,  2.5793226...,  0.1306181...],
        [-0.0044203...,  0.0377490...,  0.9666713...]],

       [[ 0.2342420...,  1.0418482..., -0.2760903...],
        [-1.7099407...,  2.5793226...,  0.1306181...],
        [-0.0044203...,  0.0377490...,  0.9666713...]],

       [[ 0.2342420...,  1.0418482..., -0.2760903...],
        [-1.7099407...,  2.5793226...,  0.1306181...],
        [-0.0044203...,  0.0377490...,  0.9666713...]],

       [[ 0.2342420...,  1.0418482..., -0.2760903...],
        [-1.7099407...,  2.5793226...,  0.1306181...],
        [-0.0044203...,  0.0377490...,  0.9666713...]]])
colour.orient(a, orientation)[source]

Orient given array accordingly to given orientation value.

Parameters:
  • a (array_like) – Array to perform the orientation onto.
  • orientation (unicode, optional) – {‘Flip’, ‘Flop’, ‘90 CW’, ‘90 CCW’, ‘180’} Orientation to perform.
Returns:

Oriented array.

Return type:

ndarray

Examples

>>> a = np.tile(np.arange(5), (5, 1))
>>> a
array([[0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4]])
>>> orient(a, '90 CW')
array([[0, 0, 0, 0, 0],
       [1, 1, 1, 1, 1],
       [2, 2, 2, 2, 2],
       [3, 3, 3, 3, 3],
       [4, 4, 4, 4, 4]])
>>> orient(a, 'Flip')
array([[4, 3, 2, 1, 0],
       [4, 3, 2, 1, 0],
       [4, 3, 2, 1, 0],
       [4, 3, 2, 1, 0],
       [4, 3, 2, 1, 0]])
colour.centroid(a)[source]

Computes the centroid indexes of given \(a\) array.

Parameters:a (array_like) – \(a\) array to compute the centroid indexes.
Returns:\(a\) array centroid indexes.
Return type:ndarray

Examples

>>> a = np.tile(np.arange(0, 5), (5, 1))
>>> centroid(a)
array([2, 3])
colour.linear_conversion(a, old_range, new_range)[source]

Performs a simple linear conversion of given array between the old and new ranges.

Parameters:
  • a (array_like) – Array to perform the linear conversion onto.
  • old_range (array_like) – Old range.
  • new_range (array_like) – New range.
Returns:

Return type:

ndarray

Examples

>>> a = np.linspace(0, 1, 10)
>>> linear_conversion(a, np.array([0, 1]), np.array([1, 10]))
array([  1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.])
class colour.ArbitraryPrecisionMapping(data=None, key_decimals=0, **kwargs)[source]

Bases: _abcoll.MutableMapping

Implements a mutable mapping / dict like object where numeric keys are stored with an arbitrary precision.

Parameters:
  • data (dict, optional) – dict of data to store into the mapping at initialisation.
  • key_decimals (int, optional) – Decimals count the keys will be rounded at
Other Parameters:
 

**kwargs (dict, optional) – Key / Value pairs to store into the mapping at initialisation.

key_decimals
__setitem__()[source]
__getitem__()[source]
__delitem__()[source]
__contains__()[source]
__iter__()[source]
__len__()[source]

Examples

>>> data1 = {0.1999999998: 'Nemo', 0.2000000000: 'John'}
>>> apm1 = ArbitraryPrecisionMapping(data1, key_decimals=10)
>>> # Doctests skip for Python 2.x compatibility.
>>> tuple(apm1.keys())  
(0.1999999998, 0.2)
>>> apm2 = ArbitraryPrecisionMapping(data1, key_decimals=7)
>>> # Doctests skip for Python 2.x compatibility.
>>> tuple(apm2.keys())  
(0.2,)
data

Property for self.data attribute.

Returns:ArbitraryPrecisionMapping data structure.
Return type:dict

Warning

ArbitraryPrecisionMapping.data is read only.

key_decimals

Property for self._key_decimals private attribute.

Returns:self._key_decimals.
Return type:unicode
class colour.Lookup[source]

Bases: dict

Extends dict type to provide a lookup by value(s).

first_key_from_value()[source]
keys_from_value()[source]

References

[2]Mansencal, T. (n.d.). Lookup. Retrieved from https://github.com/KelSolaar/Foundations/blob/develop/foundations/data_structures.py

Examples

>>> person = Lookup(first_name='Doe', last_name='John', gender='male')
>>> person.first_key_from_value('Doe')
'first_name'
>>> persons = Lookup(John='Doe', Jane='Doe', Luke='Skywalker')
>>> sorted(persons.keys_from_value('Doe'))
['Jane', 'John']
first_key_from_value(value)[source]

Gets the first key with given value.

Parameters:value (object) – Value.
Returns:Key.
Return type:object
keys_from_value(value)[source]

Gets the keys with given value.

Parameters:value (object) – Value.
Returns:Keys.
Return type:object
class colour.Structure(*args, **kwargs)[source]

Bases: dict

Defines an object similar to C/C++ structured type.

Other Parameters:
 
  • *args (list, optional) – Arguments.
  • **kwargs (dict, optional) – Key / Value pairs.
__getattr__()[source]
__setattr__()[source]
__delattr__()[source]
update()[source]

References

[1]Mansencal, T. (n.d.). Structure. Retrieved from https://github.com/KelSolaar/Foundations/blob/develop/foundations/data_structures.py

Examples

>>> person = Structure(first_name='Doe', last_name='John', gender='male')
>>> # Doctests skip for Python 2.x compatibility.
>>> person.first_name  
'Doe'
>>> sorted(person.keys())
['first_name', 'gender', 'last_name']
>>> # Doctests skip for Python 2.x compatibility.
>>> person['gender']  
'male'
update(*args, **kwargs)[source]

Updates both keys and sibling attributes.

Other Parameters:
 
  • *args (list, optional) – Arguments.
  • **kwargs (dict, optional) – Keywords arguments.

Notes

class colour.CaseInsensitiveMapping(data=None, **kwargs)[source]

Bases: _abcoll.MutableMapping

Implements a case-insensitive mutable mapping / dict object.

Allows values retrieving from keys while ignoring the key case. The keys are expected to be unicode or string-like objects supporting the str.lower() method.

Parameters:data (dict) – dict of data to store into the mapping at initialisation.
Other Parameters:
 **kwargs (dict, optional) – Key / Value pairs to store into the mapping at initialisation.
__setitem__()[source]
__getitem__()[source]
__delitem__()[source]
__contains__()[source]
__iter__()[source]
__len__()[source]
__eq__()[source]
__ne__()[source]
__repr__()[source]
copy()[source]
lower_items()[source]

Warning

The keys are expected to be unicode or string-like objects.

References

[3]Reitz, K. (n.d.). CaseInsensitiveDict. Retrieved from https://github.com/kennethreitz/requests/blob/v1.2.3/requests/structures.py#L37

Examples

>>> methods = CaseInsensitiveMapping({'McCamy': 1, 'Hernandez': 2})
>>> methods['mccamy']
1
copy()[source]

Returns a copy of the mapping.

Returns:Mapping copy.
Return type:CaseInsensitiveMapping

Notes

data

Property for self.data attribute.

Returns:ArbitraryPrecisionMapping data structure.
Return type:dict

Warning

ArbitraryPrecisionMapping.data is read only.

lower_items()[source]

Iterates over the lower items names.

Returns:Lower item names.
Return type:generator
exception colour.ColourWarning[source]

Bases: exceptions.Warning

This is the base class of Colour warnings. It is a subclass of Warning.

colour.message_box(message, width=79, padding=3)[source]

Prints a message inside a box.

Parameters:
  • message (unicode) – Message to print.
  • width (int, optional) – Message box width.
  • padding (unicode) – Padding on each sides of the message.
Returns:

Definition success.

Return type:

bool

Examples

>>> message = ('Lorem ipsum dolor sit amet, consectetur adipiscing elit, '
...     'sed do eiusmod tempor incididunt ut labore et dolore magna '
...     'aliqua.')
>>> message_box(message, width=75)
===========================================================================
*                                                                         *
*   Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do       *
*   eiusmod tempor incididunt ut labore et dolore magna aliqua.           *
*                                                                         *
===========================================================================
True
>>> message_box(message, width=60)
============================================================
*                                                          *
*   Lorem ipsum dolor sit amet, consectetur adipiscing     *
*   elit, sed do eiusmod tempor incididunt ut labore et    *
*   dolore magna aliqua.                                   *
*                                                          *
============================================================
True
>>> message_box(message, width=75, padding=16)
===========================================================================
*                                                                         *
*                Lorem ipsum dolor sit amet, consectetur                  *
*                adipiscing elit, sed do eiusmod tempor                   *
*                incididunt ut labore et dolore magna                     *
*                aliqua.                                                  *
*                                                                         *
===========================================================================
True
colour.warning(*args, **kwargs)[source]

Issues a warning.

Other Parameters:
 
  • *args (list, optional) – Arguments.
  • **kwargs (dict, optional) – Keywords arguments.
Returns:

Definition success.

Return type:

bool

Examples

>>> warning('This is a warning!')  
/Users/.../colour/utilities/verbose.py:132: UserWarning: This is a warning!
colour.filter_warnings(state=True, colour_warnings_only=True)[source]

Filters Colour and also optionally overall Python warnings.

Parameters:
  • state (bool, optional) – Warnings filter state.
  • colour_warnings_only (bool, optional) – Whether to only filter Colour warnings or also overall Python warnings.
Returns:

Definition success.

Return type:

bool

Examples

# Filtering Colour only warnings: >>> filter_warnings() True

# Filtering Colour and also Python warnings: >>> filter_warnings(colour_warnings_only=False) True

colour.chromatic_adaptation_matrix_VonKries(XYZ_w, XYZ_wr, transform=u'CAT02')[source]

Computes the chromatic adaptation matrix from test viewing conditions to reference viewing conditions.

Parameters:
  • XYZ_w (array_like) – Test viewing condition CIE XYZ tristimulus values of whitepoint.
  • XYZ_wr (array_like) – Reference viewing condition CIE XYZ tristimulus values of whitepoint.
  • transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
Returns:

Chromatic adaptation matrix.

Return type:

ndarray

Raises:

KeyError – If chromatic adaptation method is not defined.

Examples

>>> XYZ_w = np.array([1.09846607, 1.00000000, 0.35582280])
>>> XYZ_wr = np.array([0.95042855, 1.00000000, 1.08890037])
>>> chromatic_adaptation_matrix_VonKries(  
...     XYZ_w, XYZ_wr)
array([[ 0.8687653..., -0.1416539...,  0.3871961...],
       [-0.1030072...,  1.0584014...,  0.1538646...],
       [ 0.0078167...,  0.0267875...,  2.9608177...]])

Using Bradford method:

>>> XYZ_w = np.array([1.09846607, 1.00000000, 0.35582280])
>>> XYZ_wr = np.array([0.95042855, 1.00000000, 1.08890037])
>>> method = 'Bradford'
>>> chromatic_adaptation_matrix_VonKries(  
...     XYZ_w, XYZ_wr, method)
array([[ 0.8446794..., -0.1179355...,  0.3948940...],
       [-0.1366408...,  1.1041236...,  0.1291981...],
       [ 0.0798671..., -0.1349315...,  3.1928829...]])
colour.chromatic_adaptation_VonKries(XYZ, XYZ_w, XYZ_wr, transform=u'CAT02')[source]

Adapts given stimulus from test viewing conditions to reference viewing conditions.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of stimulus to adapt.
  • XYZ_w (array_like) – Test viewing condition CIE XYZ tristimulus values of whitepoint.
  • XYZ_wr (array_like) – Reference viewing condition CIE XYZ tristimulus values of whitepoint.
  • transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
Returns:

CIE XYZ_c tristimulus values of the stimulus corresponding colour.

Return type:

ndarray

Examples

>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> XYZ_w = np.array([1.09846607, 1.00000000, 0.35582280])
>>> XYZ_wr = np.array([0.95042855, 1.00000000, 1.08890037])
>>> chromatic_adaptation_VonKries(XYZ, XYZ_w, XYZ_wr)  
array([ 0.0839746...,  0.1141321...,  0.2862554...])

Using Bradford method:

>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> XYZ_w = np.array([1.09846607, 1.00000000, 0.35582280])
>>> XYZ_wr = np.array([0.95042855, 1.00000000, 1.08890037])
>>> method = 'Bradford'
>>> chromatic_adaptation_VonKries(  
...     XYZ, XYZ_w, XYZ_wr, method)
array([ 0.0854032...,  0.1140122...,  0.2972149...])
colour.chromatic_adaptation_Fairchild1990(XYZ_1, XYZ_n, XYZ_r, Y_n, discount_illuminant=False)[source]

Adapts given stimulus CIE XYZ_1 tristimulus values from test viewing conditions to reference viewing conditions using Fairchild (1990) chromatic adaptation model.

Parameters:
  • XYZ_1 (array_like) – CIE XYZ_1 tristimulus values of test sample / stimulus in domain [0, 100].
  • XYZ_n (array_like) – Test viewing condition CIE XYZ_n tristimulus values of whitepoint.
  • XYZ_r (array_like) – Reference viewing condition CIE XYZ_r tristimulus values of whitepoint.
  • Y_n (numeric or array_like) – Luminance \(Y_n\) of test adapting stimulus in \(cd/m^2\).
  • discount_illuminant (bool, optional) – Truth value indicating if the illuminant should be discounted.
Returns:

Adapted CIE XYZ_2 tristimulus values of stimulus.

Return type:

ndarray

Warning

The input domain of that definition is non standard!

Notes

  • Input CIE XYZ_1, CIE XYZ_n and CIE XYZ_r tristimulus values are in domain [0, 100].
  • Output CIE XYZ_2 tristimulus values are in range [0, 100].

Examples

>>> XYZ_1 = np.array([19.53, 23.07, 24.97])
>>> XYZ_n = np.array([111.15, 100.00, 35.20])
>>> XYZ_r = np.array([94.81, 100.00, 107.30])
>>> Y_n = 200
>>> chromatic_adaptation_Fairchild1990(  
...     XYZ_1, XYZ_n, XYZ_r, Y_n)
array([ 23.3252634...,  23.3245581...,  76.1159375...])
class colour.CMCCAT2000_InductionFactors[source]

Bases: colour.adaptation.cmccat2000.CMCCAT2000_InductionFactors

CMCCAT2000 chromatic adaptation model induction factors.

Parameters:F (numeric or array_like) – \(F\) surround condition.

Create new instance of CMCCAT2000_InductionFactors(F,)

colour.chromatic_adaptation_forward_CMCCAT2000(XYZ, XYZ_w, XYZ_wr, L_A1, L_A2, surround=CMCCAT2000_InductionFactors(F=1))[source]

Adapts given stimulus CIE XYZ tristimulus values from test viewing conditions to reference viewing conditions using CMCCAT2000 forward chromatic adaptation model.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of the stimulus to adapt.
  • XYZ_w (array_like) – Test viewing condition CIE XYZ tristimulus values of the whitepoint.
  • XYZ_wr (array_like) – Reference viewing condition CIE XYZ tristimulus values of the whitepoint.
  • L_A1 (numeric or array_like) – Luminance of test adapting field \(L_{A1}\) in \(cd/m^2\).
  • L_A2 (numeric or array_like) – Luminance of reference adapting field \(L_{A2}\) in \(cd/m^2\).
  • surround (CMCCAT2000_InductionFactors, optional) – Surround viewing conditions induction factors.
Returns:

CIE XYZ_c tristimulus values of the stimulus corresponding colour.

Return type:

ndarray

Warning

The input domain and output range of that definition are non standard!

Notes

  • Input CIE XYZ, CIE XYZ_w and CIE XYZ_wr tristimulus values are in domain [0, 100].
  • Output CIE XYZ_c tristimulus values are in range [0, 100].

Examples

>>> XYZ = np.array([22.48, 22.74, 8.54])
>>> XYZ_w = np.array([111.15, 100.00, 35.20])
>>> XYZ_wr = np.array([94.81, 100.00, 107.30])
>>> L_A1 = 200
>>> L_A2 = 200
>>> chromatic_adaptation_forward_CMCCAT2000(  
...     XYZ, XYZ_w, XYZ_wr, L_A1, L_A2)
array([ 19.5269832...,  23.0683396...,  24.9717522...])
colour.chromatic_adaptation_reverse_CMCCAT2000(XYZ_c, XYZ_w, XYZ_wr, L_A1, L_A2, surround=CMCCAT2000_InductionFactors(F=1))[source]

Adapts given stimulus corresponding colour CIE XYZ tristimulus values from reference viewing conditions to test viewing conditions using CMCCAT2000 reverse chromatic adaptation model.

Parameters:
  • XYZ_c (array_like) – CIE XYZ tristimulus values of the stimulus to adapt.
  • XYZ_w (array_like) – Test viewing condition CIE XYZ tristimulus values of the whitepoint.
  • XYZ_wr (array_like) – Reference viewing condition CIE XYZ tristimulus values of the whitepoint.
  • L_A1 (numeric or array_like) – Luminance of test adapting field \(L_{A1}\) in \(cd/m^2\).
  • L_A2 (numeric or array_like) – Luminance of reference adapting field \(L_{A2}\) in \(cd/m^2\).
  • surround (CMCCAT2000_InductionFactors, optional) – Surround viewing conditions induction factors.
Returns:

CIE XYZ_c tristimulus values of the adapted stimulus.

Return type:

ndarray

Warning

The input domain and output range of that definition are non standard!

Notes

  • Input CIE XYZ_c, CIE XYZ_w and CIE XYZ_wr tristimulus values are in domain [0, 100].
  • Output CIE XYZ tristimulus values are in range [0, 100].

Examples

>>> XYZ_c = np.array([19.53, 23.07, 24.97])
>>> XYZ_w = np.array([111.15, 100.00, 35.20])
>>> XYZ_wr = np.array([94.81, 100.00, 107.30])
>>> L_A1 = 200
>>> L_A2 = 200
>>> chromatic_adaptation_reverse_CMCCAT2000(  
...     XYZ_c, XYZ_w, XYZ_wr, L_A1, L_A2)
array([ 22.4839876...,  22.7419485...,   8.5393392...])
colour.chromatic_adaptation_CMCCAT2000(XYZ, XYZ_w, XYZ_wr, L_A1, L_A2, surround=CMCCAT2000_InductionFactors(F=1), method=u'Forward')[source]

Adapts given stimulus CIE XYZ tristimulus values using given viewing conditions.

This definition is a convenient wrapper around chromatic_adaptation_forward_CMCCAT2000() and chromatic_adaptation_reverse_CMCCAT2000().

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of the stimulus to adapt.
  • XYZ_w (array_like) – Source viewing condition CIE XYZ tristimulus values of the whitepoint.
  • XYZ_wr (array_like) – Target viewing condition CIE XYZ tristimulus values of the whitepoint.
  • L_A1 (numeric or array_like) – Luminance of test adapting field \(L_{A1}\) in \(cd/m^2\).
  • L_A2 (numeric or array_like) – Luminance of reference adapting field \(L_{A2}\) in \(cd/m^2\).
  • surround (CMCCAT2000_InductionFactors, optional) – Surround viewing conditions induction factors.
  • method (unicode, optional) – {‘Forward’, ‘Reverse’}, Chromatic adaptation method.
Returns:

Adapted stimulus CIE XYZ tristimulus values.

Return type:

ndarray

Warning

The input domain and output range of that definition are non standard!

Notes

  • Input CIE XYZ, CIE XYZ_w and CIE XYZ_wr tristimulus values are in domain [0, 100].
  • Output CIE XYZ tristimulus values are in range [0, 100].

Examples

>>> XYZ = np.array([22.48, 22.74, 8.54])
>>> XYZ_w = np.array([111.15, 100.00, 35.20])
>>> XYZ_wr = np.array([94.81, 100.00, 107.30])
>>> L_A1 = 200
>>> L_A2 = 200
>>> chromatic_adaptation_CMCCAT2000(  
...     XYZ, XYZ_w, XYZ_wr, L_A1, L_A2, method='Forward')
array([ 19.5269832...,  23.0683396...,  24.9717522...])

Using the CMCCAT2000 reverse model:

>>> XYZ = np.array([19.52698326, 23.06833960, 24.97175229])
>>> XYZ_w = np.array([111.15, 100.00, 35.20])
>>> XYZ_wr = np.array([94.81, 100.00, 107.30])
>>> L_A1 = 200
>>> L_A2 = 200
>>> chromatic_adaptation_CMCCAT2000(  
...     XYZ, XYZ_w, XYZ_wr, L_A1, L_A2, method='Reverse')
array([ 22.48,  22.74,   8.54])
colour.chromatic_adaptation_CIE1994(XYZ_1, xy_o1, xy_o2, Y_o, E_o1, E_o2, n=1)[source]

Adapts given stimulus CIE XYZ_1 tristimulus values from test viewing conditions to reference viewing conditions using CIE 1994 chromatic adaptation model.

Parameters:
  • XYZ_1 (array_like) – CIE XYZ tristimulus values of test sample / stimulus in domain [0, 100].
  • xy_o1 (array_like) – Chromaticity coordinates \(x_{o1}\) and \(y_{o1}\) of test illuminant and background.
  • xy_o2 (array_like) – Chromaticity coordinates \(x_{o2}\) and \(y_{o2}\) of reference illuminant and background.
  • Y_o (numeric) – Luminance factor \(Y_o\) of achromatic background as percentage in domain [18, 100].
  • E_o1 (numeric) – Test illuminance \(E_{o1}\) in \(cd/m^2\).
  • E_o2 (numeric) – Reference illuminance \(E_{o2}\) in \(cd/m^2\).
  • n (numeric, optional) – Noise component in fundamental primary system.
Returns:

Adapted CIE XYZ_2 tristimulus values of test stimulus.

Return type:

ndarray

Warning

The input domain of that definition is non standard!

Notes

  • Input CIE XYZ_1 tristimulus values are in domain [0, 100].
  • Output CIE XYZ_2 tristimulus values are in range [0, 100].

Examples

>>> XYZ_1 = np.array([28.00, 21.26, 5.27])
>>> xy_o1 = np.array([0.4476, 0.4074])
>>> xy_o2 = np.array([0.3127, 0.3290])
>>> Y_o = 20
>>> E_o1 = 1000
>>> E_o2 = 1000
>>> chromatic_adaptation_CIE1994(  
...     XYZ_1, xy_o1, xy_o2, Y_o, E_o1, E_o2)
array([ 24.0337952...,  21.1562121...,  17.6430119...])
colour.cartesian_to_spherical(a)[source]

Transforms given Cartesian coordinates array \(xyz\) to Spherical coordinates array \(\rho\theta\phi\) (radial distance, inclination or elevation and azimuth).

Parameters:a (array_like) – Cartesian coordinates array \(xyz\) to transform.
Returns:Spherical coordinates array \(\rho\theta\phi\).
Return type:ndarray

Examples

>>> a = np.array([3, 1, 6])
>>> cartesian_to_spherical(a)  
array([ 6.7823299...,  1.0857465...,  0.3217505...])
colour.spherical_to_cartesian(a)[source]

Transforms given Spherical coordinates array \(\rho\theta\phi\) (radial distance, inclination or elevation and azimuth) to Cartesian coordinates array \(xyz\).

Parameters:a (array_like) – Spherical coordinates array \(\rho\theta\phi\) to transform.
Returns:Cartesian coordinates array \(xyz\).
Return type:ndarray

Examples

>>> a = np.array([6.78232998, 1.08574654, 0.32175055])
>>> spherical_to_cartesian(a)  
array([ 3.        ,  0.9999999...,  6.        ])
colour.cartesian_to_polar(a)[source]

Transforms given Cartesian coordinates array \(xy\) to Polar coordinates array \(\rho\phi\) (radial coordinate, angular coordinate).

Parameters:a (array_like) – Cartesian coordinates array \(xy\) to transform.
Returns:Polar coordinates array \(\rho\phi\).
Return type:ndarray

Examples

>>> a = np.array([3, 1])
>>> cartesian_to_polar(a)  
array([ 3.1622776...,  0.3217505...])
colour.polar_to_cartesian(a)[source]

Transforms given Polar coordinates array \(\rho\phi\) (radial coordinate, angular coordinate) to Cartesian coordinates array \(xy\).

Parameters:a (array_like) – Polar coordinates array \(\rho\phi\) to transform.
Returns:Cartesian coordinates array \(xy\).
Return type:ndarray

Examples

>>> a = np.array([3.16227766, 0.32175055])
>>> polar_to_cartesian(a)  
array([ 3.        ,  0.9999999...])
colour.cartesian_to_cylindrical(a)[source]

Transforms given Cartesian coordinates array \(xyz\) to Cylindrical coordinates array \(\rho\phi z\) (azimuth, radial distance and height).

Parameters:a (array_like) – Cartesian coordinates array \(xyz\) to transform.
Returns:Cylindrical coordinates array \(\rho\phi z\).
Return type:ndarray

Examples

>>> a = np.array([3, 1, 6])
>>> cartesian_to_cylindrical(a)  
array([ 3.1622776...,  0.3217505...,  6.        ])
colour.cylindrical_to_cartesian(a)[source]

Transforms given Cylindrical coordinates array \(\rho\phi z\) (azimuth, radial distance and height) to Cartesian coordinates array \(xyz\).

Parameters:a (array_like) – Cylindrical coordinates array \(\rho\phi z\) to transform.
Returns:Cartesian coordinates array \(xyz\).
Return type:ndarray

Examples

>>> a = np.array([3.16227766, 0.32175055, 6.00000000])
>>> cylindrical_to_cartesian(a)  
array([ 3.        ,  0.9999999...,  6.        ])
class colour.Extrapolator(interpolator=None, method=u'Linear', left=None, right=None)[source]

Bases: object

Extrapolates the 1-D function of given interpolator.

The Extrapolator class acts as a wrapper around a given Colour or scipy interpolator class instance with compatible signature. Two extrapolation methods are available:

  • Linear: Linearly extrapolates given points using the slope defined by the interpolator boundaries (xi[0], xi[1]) if x < xi[0] and (xi[-1], xi[-2]) if x > xi[-1].
  • Constant: Extrapolates given points by assigning the interpolator boundaries values xi[0] if x < xi[0] and xi[-1] if x > xi[-1].

Specifying the left and right arguments takes precedence on the chosen extrapolation method and will assign the respective left and right values to the given points.

Parameters:
  • interpolator (object) – Interpolator object.
  • method (unicode, optional) – {‘Linear’, ‘Constant’}, Extrapolation method.
  • left (numeric, optional) – Value to return for x < xi[0].
  • right (numeric, optional) – Value to return for x > xi[-1].
__class__()

Notes

The interpolator must define x and y attributes.

References

[1]sastanin. (n.d.). How to make scipy.interpolate give an extrapolated result beyond the input range? Retrieved August 08, 2014, from http://stackoverflow.com/a/2745496/931625

Examples

Extrapolating a single numeric variable:

>>> from colour.algebra import LinearInterpolator
>>> x = np.array([3, 4, 5])
>>> y = np.array([1, 2, 3])
>>> interpolator = LinearInterpolator(x, y)
>>> extrapolator = Extrapolator(interpolator)
>>> extrapolator(1)
-1.0

Extrapolating an array_like variable:

>>> extrapolator(np.array([6, 7 , 8]))
array([ 4.,  5.,  6.])

Using the Constant extrapolation method:

>>> x = np.array([3, 4, 5])
>>> y = np.array([1, 2, 3])
>>> interpolator = LinearInterpolator(x, y)
>>> extrapolator = Extrapolator(interpolator, method='Constant')
>>> extrapolator(np.array([0.1, 0.2, 8, 9]))
array([ 1.,  1.,  3.,  3.])

Using defined left boundary and Constant extrapolation method:

>>> x = np.array([3, 4, 5])
>>> y = np.array([1, 2, 3])
>>> interpolator = LinearInterpolator(x, y)
>>> extrapolator = Extrapolator(interpolator, method='Constant', left=0)
>>> extrapolator(np.array([0.1, 0.2, 8, 9]))
array([ 0.,  0.,  3.,  3.])
interpolator

Property for self._interpolator private attribute.

Returns:self._interpolator
Return type:object
left

Property for self._left private attribute.

Returns:self._left
Return type:numeric
method

Property for self._method private attribute.

Returns:self._method
Return type:unicode
right

Property for self._right private attribute.

Returns:self._right
Return type:numeric
colour.normalise_vector(a)[source]

Normalises given vector \(a\).

Parameters:a (array_like) – Vector \(a\) to normalise.
Returns:Normalised vector \(a\).
Return type:ndarray

Examples

>>> a = np.array([0.07049534, 0.10080000, 0.09558313])
>>> normalise_vector(a)  
array([ 0.4525410...,  0.6470802...,  0.6135908...])
colour.euclidean_distance(a, b)[source]

Returns the euclidean distance between point arrays \(a\) and \(b\).

Parameters:
  • a (array_like) – Point array \(a\).
  • b (array_like) – Point array \(b\).
Returns:

Euclidean distance.

Return type:

numeric or ndarray

Examples

>>> a = np.array([100.00000000, 21.57210357, 272.22819350])
>>> b = np.array([100.00000000, 426.67945353, 72.39590835])
>>> euclidean_distance(a, b)  
451.7133019...
colour.extend_line_segment(a, b, distance=1)[source]

Extends the line segment defined by point arrays \(a\) and \(b\) by given distance and return the new end point.

Parameters:
  • a (array_like) – Point array \(a\).
  • b (array_like) – Point array \(b\).
  • distance (numeric, optional) – Distance to extend the line segment.
Returns:

New end point.

Return type:

ndarray

References

[1]Saeedn. (n.d.). Extend a line segment a specific distance. Retrieved January 16, 2016, from http://stackoverflow.com/questions/7740507/extend-a-line-segment-a-specific-distance

Notes

  • Input line segment points coordinates are 2d coordinates.

Examples

>>> a = np.array([0.95694934, 0.13720932])
>>> b = np.array([0.28382835, 0.60608318])
>>> extend_line_segment(a, b)  
array([-0.5367248...,  1.1776534...])
class colour.LineSegmentsIntersections_Specification[source]

Bases: colour.algebra.geometry.LineSegmentsIntersections_Specification

Defines the specification for intersection of line segments \(l_1\) and \(l_2\) returned by intersect_line_segments() definition.

Parameters:
  • xy (array_like) – Array of \(l_1\) and \(l_2\) line segments intersections coordinates. Non existing segments intersections coordinates are set with np.nan.
  • intersect (array_like) – Array of bool indicating if line segments \(l_1\) and \(l_2\) intersect.
  • parallel (array_like) – Array of bool indicating if line segments \(l_1\) and \(l_2\) are parallel.
  • coincident (array_like) – Array of bool indicating if line segments \(l_1\) and \(l_2\) are coincident.

Create new instance of LineSegmentsIntersections_Specification(xy, intersect, parallel, coincident)

colour.intersect_line_segments(l_1, l_2)[source]

Computes \(l_1\) line segments intersections with \(l_2\) line segments.

Parameters:
  • l_1 (array_like) – \(l_1\) line segments array, each row is a line segment such as (\(x_1\), \(y_1\), \(x_2\), \(y_2\)) where (\(x_1\), \(y_1\)) and (\(x_2\), \(y_2\)) are respectively the start and end points of \(l_1\) line segments.
  • l_2 (array_like) – \(l_2\) line segments array, each row is a line segment such as (\(x_3\), \(y_3\), \(x_4\), \(y_4\)) where (\(x_3\), \(y_3\)) and (\(x_4\), \(y_4\)) are respectively the start and end points of \(l_2\) line segments.
Returns:

Line segments intersections specification.

Return type:

LineSegmentsIntersections_Specification

References

[2]Bourke, P. (n.d.). Intersection point of two line segments in 2 dimensions. Retrieved January 15, 2016, from http://paulbourke.net/geometry/pointlineplane/
[3]Erdem, U. M. (n.d.). Fast Line Segment Intersection. Retrieved January 15, 2016, from http://www.mathworks.com/matlabcentral/fileexchange/27205-fast-line-segment-intersection

Notes

  • Input line segments points coordinates are 2d coordinates.

Examples

>>> l_1 = np.array([[[0.15416284, 0.7400497],
...                  [0.26331502, 0.53373939]],
...                 [[0.01457496, 0.91874701],
...                  [0.90071485, 0.03342143]]])
>>> l_2 = np.array([[[0.95694934, 0.13720932],
...                  [0.28382835, 0.60608318]],
...                 [[0.94422514, 0.85273554],
...                  [0.00225923, 0.52122603]],
...                 [[0.55203763, 0.48537741],
...                  [0.76813415, 0.16071675]]])
>>> s = intersect_line_segments(l_1, l_2)
>>> s.xy  
array([[[        nan,         nan],
        [ 0.2279184...,  0.6006430...],
        [        nan,         nan]],

       [[ 0.4281451...,  0.5055568...],
        [ 0.3056055...,  0.6279838...],
        [ 0.7578749...,  0.1761301...]]])
>>> s.intersect
array([[False,  True, False],
       [ True,  True,  True]], dtype=bool)
>>> s.parallel
array([[False, False, False],
       [False, False, False]], dtype=bool)
>>> s.coincident
array([[False, False, False],
       [False, False, False]], dtype=bool)
class colour.LinearInterpolator(x=None, y=None)[source]

Bases: object

Linearly interpolates a 1-D function.

Parameters:
  • x (ndarray) – Independent \(x\) variable values corresponding with \(y\) variable.
  • y (ndarray) – Dependent and already known \(y\) variable values to interpolate.
__call__()[source]

Notes

This class is a wrapper around numpy.interp definition.

Examples

Interpolating a single numeric variable:

>>> y = np.array([5.9200,
...               9.3700,
...               10.8135,
...               4.5100,
...               69.5900,
...               27.8007,
...               86.0500])
>>> x = np.arange(len(y))
>>> f = LinearInterpolator(x, y)
>>> # Doctests ellipsis for Python 2.x compatibility.
>>> f(0.5)  
7.64...

Interpolating an array_like variable:

>>> f([0.25, 0.75])
array([ 6.7825,  8.5075])
x

Property for self.__x private attribute.

Returns:self.__x
Return type:array_like
y

Property for self.__y private attribute.

Returns:self.__y
Return type:array_like
class colour.SpragueInterpolator(x=None, y=None)[source]

Bases: object

Constructs a fifth-order polynomial that passes through \(y\) dependent variable.

Sprague (1880) method is recommended by the CIE for interpolating functions having a uniformly spaced independent variable.

Parameters:
  • x (array_like) – Independent \(x\) variable values corresponding with \(y\) variable.
  • y (array_like) – Dependent and already known \(y\) variable values to interpolate.
__call__()[source]

Notes

The minimum number \(k\) of data points required along the interpolation axis is \(k=6\).

References

[1]CIE TC 1-38. (2005). 9.2.4 Method of interpolation for uniformly spaced independent variable. In CIE 167:2005 Recommended Practice for Tabulating Spectral Data for Use in Colour Computations (pp. 1–27). ISBN:978-3-901-90641-1
[2]Westland, S., Ripamonti, C., & Cheung, V. (2012). Interpolation Methods. In Computational Colour Science Using MATLAB (2nd ed., pp. 29–37). ISBN:978-0-470-66569-5

Examples

Interpolating a single numeric variable:

>>> y = np.array([5.9200,
...               9.3700,
...               10.8135,
...               4.5100,
...               69.5900,
...               27.8007,
...               86.0500])
>>> x = np.arange(len(y))
>>> f = SpragueInterpolator(x, y)
>>> f(0.5)  
7.2185025...

Interpolating an array_like variable:

>>> f([0.25, 0.75])  
array([ 6.7295161...,  7.8140625...])
SPRAGUE_C_COEFFICIENTS = array([[ 884, -1960, 3033, -2648, 1080, -180], [ 508, -540, 488, -367, 144, -24], [ -24, 144, -367, 488, -540, 508], [ -180, 1080, -2648, 3033, -1960, 884]])
x

Property for self.__x private attribute.

Returns:self.__x
Return type:array_like
y

Property for self.__y private attribute.

Returns:self.__y
Return type:array_like
colour.lagrange_coefficients(r, n=4)[source]

Computes the Lagrange Coefficients at given point \(r\) for degree \(n\).

Parameters:
  • r (numeric) – Point to get the Lagrange Coefficients at.
  • n (int, optional) – Degree of the Lagrange Coefficients being calculated.
Returns:

Return type:

ndarray

References

[4]Fairman, H. S. (1985). The calculation of weight factors for tristimulus integration. Color Research & Application, 10(4), 199–203. doi:10.1002/col.5080100407
[5]Wikipedia. (n.d.). Lagrange polynomial - Definition. Retrieved January 20, 2016, from https://en.wikipedia.org/wiki/Lagrange_polynomial#Definition

Examples

>>> lagrange_coefficients(0.1)
array([ 0.8265,  0.2755, -0.1305,  0.0285])
colour.is_identity(a, n=3)[source]

Returns if \(a\) array is an identity matrix.

Parameters:
  • a (array_like, (N)) – Variable \(a\) to test.
  • n (int, optional) – Matrix dimension.
Returns:

Is identity matrix.

Return type:

bool

Examples

>>> is_identity(np.array([1, 0, 0, 0, 1, 0, 0, 0, 1]).reshape(3, 3))
True
>>> is_identity(np.array([1, 2, 0, 0, 1, 0, 0, 0, 1]).reshape(3, 3))
False
colour.random_triplet_generator(size, limits=array([[0, 1], [0, 1], [0, 1]]), random_state=<mtrand.RandomState object>)[source]

Returns a generator yielding random triplets.

Parameters:
  • size (integer) – Generator size.
  • limits (array_like, (3, 2)) – Random values limits on each triplet axis.
  • random_state (RandomState) – Mersenne Twister pseudo-random number generator.
Returns:

Random triplets generator.

Return type:

generator

Notes

Examples

>>> from pprint import pprint
>>> prng = np.random.RandomState(4)
>>> pprint(  
...     tuple(random_triplet_generator(10, random_state=prng)))
(array([ 0.9670298...,  0.5472322...,  0.9726843...]),
 array([ 0.7148159...,  0.6977288...,  0.2160895...]),
 array([ 0.9762744...,  0.0062302...,  0.2529823...]),
 array([ 0.4347915...,  0.7793829...,  0.1976850...]),
 array([ 0.8629932...,  0.9834006...,  0.1638422...]),
 array([ 0.5973339...,  0.0089861...,  0.3865712...]),
 array([ 0.0441600...,  0.9566529...,  0.4361466...]),
 array([ 0.9489773...,  0.7863059...,  0.8662893...]),
 array([ 0.1731654...,  0.0749485...,  0.6007427...]),
 array([ 0.1679721...,  0.7333801...,  0.4084438...]))
colour.reaction_rate_MichealisMenten(S, V_max, K_m)[source]

Describes the rate of enzymatic reactions, by relating reaction rate \(v\) to concentration of a substrate \(S\).

Parameters:
  • S (array_like) – Concentration of a substrate \(S\).
  • V_max (array_like) – Maximum rate \(V_{max}\) achieved by the system, at saturating substrate concentration.
  • K_m (array_like) – Substrate concentration \(V_{max}\) at which the reaction rate is half of \(V_{max}\).
Returns:

Reaction rate \(v\).

Return type:

array_like

Examples

>>> reaction_rate_MichealisMenten(0.5, 2.5, 0.8)  
0.9615384...
colour.substrate_concentration_MichealisMenten(v, V_max, K_m)[source]

Describes the rate of enzymatic reactions, by relating concentration of a substrate \(S\) to reaction rate \(v\).

Parameters:
  • v (array_like) – Reaction rate \(v\).
  • V_max (array_like) – Maximum rate \(V_{max}\) achieved by the system, at saturating substrate concentration.
  • K_m (array_like) – Substrate concentration \(V_{max}\) at which the reaction rate is half of \(V_{max}\).
Returns:

Concentration of a substrate \(S\).

Return type:

array_like

Examples

>>> substrate_concentration_MichealisMenten(
...     0.961538461538461, 2.5, 0.8)  
0.4999999...
class colour.SpectralMapping(data=None, wavelength_decimals=10, **kwargs)[source]

Bases: colour.utilities.data_structures.ArbitraryPrecisionMapping

Defines the base mapping for spectral data.

It enables usage of floating point wavelengths as keys by rounding them at a specific decimals count.

Parameters:
  • data (dict or SpectralMapping, optional) – Spectral data in a dict or SpectralMapping as follows: {wavelength \(\lambda_{i}\): value, wavelength \(\lambda_{i+1}\): value, ..., wavelength \(\lambda_{i+n}\): value}
  • wavelength_decimals (int, optional) – Decimals count the keys will be rounded at.
Other Parameters:
 

**kwargs (dict, optional) – Key / Value pairs to store into the mapping at initialisation.

wavelength_decimals

Examples

>>> data1 = {380.1999999998: 0.000039, 380.2000000000: 0.000039}
>>> mapping = SpectralMapping(data1, wavelength_decimals=10)
>>> # Doctests skip for Python 2.x compatibility.
>>> tuple(mapping.keys())  
(380.1999999..., 380.2)
>>> mapping = SpectralMapping(data1, wavelength_decimals=7)
>>> # Doctests skip for Python 2.x compatibility.
>>> tuple(mapping.keys())  
(380.2,)
wavelength_decimals

Property for self.key_decimals attribute.

Returns:self.key_decimals.
Return type:unicode
class colour.SpectralShape(start=None, end=None, interval=None)[source]

Bases: object

Defines the base object for spectral power distribution shape.

Parameters:
  • start (numeric, optional) – Wavelength \(\lambda_{i}\) range start in nm.
  • end (numeric, optional) – Wavelength \(\lambda_{i}\) range end in nm.
  • interval (numeric, optional) – Wavelength \(\lambda_{i}\) range interval.
start
end
interval
boundaries
__str__()[source]
__repr__()[source]
__iter__()[source]
__contains__()[source]
__len__()[source]
__eq__()[source]
__ne__()[source]
range()[source]

Examples

>>> # Doctests skip for Python 2.x compatibility.
>>> SpectralShape(360, 830, 1)  
SpectralShape(360, 830, 1)
boundaries

Property for self._start and self._end private attributes.

Returns:self._start, self._end.
Return type:tuple
end

Property for self._end private attribute.

Returns:self._end.
Return type:numeric
interval

Property for self._interval private attribute.

Returns:self._interval.
Return type:numeric
range()[source]

Returns an iterable range for the spectral power distribution shape.

Returns:Iterable range for the spectral power distribution shape
Return type:ndarray
Raises:RuntimeError – If one of spectral shape start, end or interval attributes is not defined.

Examples

>>> SpectralShape(0, 10, 0.1).range()
array([  0. ,   0.1,   0.2,   0.3,   0.4,   0.5,   0.6,   0.7,   0.8,
         0.9,   1. ,   1.1,   1.2,   1.3,   1.4,   1.5,   1.6,   1.7,
         1.8,   1.9,   2. ,   2.1,   2.2,   2.3,   2.4,   2.5,   2.6,
         2.7,   2.8,   2.9,   3. ,   3.1,   3.2,   3.3,   3.4,   3.5,
         3.6,   3.7,   3.8,   3.9,   4. ,   4.1,   4.2,   4.3,   4.4,
         4.5,   4.6,   4.7,   4.8,   4.9,   5. ,   5.1,   5.2,   5.3,
         5.4,   5.5,   5.6,   5.7,   5.8,   5.9,   6. ,   6.1,   6.2,
         6.3,   6.4,   6.5,   6.6,   6.7,   6.8,   6.9,   7. ,   7.1,
         7.2,   7.3,   7.4,   7.5,   7.6,   7.7,   7.8,   7.9,   8. ,
         8.1,   8.2,   8.3,   8.4,   8.5,   8.6,   8.7,   8.8,   8.9,
         9. ,   9.1,   9.2,   9.3,   9.4,   9.5,   9.6,   9.7,   9.8,
         9.9,  10. ])
start

Property for self._start private attribute.

Returns:self._start.
Return type:numeric
class colour.SpectralPowerDistribution(name, data, title=None)[source]

Bases: object

Defines the base object for spectral data computations.

Parameters:
  • name (unicode) – Spectral power distribution name.
  • data (dict or SpectralMapping) – Spectral power distribution data in a dict or SpectralMapping as follows: {wavelength \(\lambda_{i}\): value, wavelength \(\lambda_{i+1}\): value, ..., wavelength \(\lambda_{i+n}\): value}
  • title (unicode, optional) – Spectral power distribution title for figures.

Notes

  • Underlying spectral data is stored within a colour.SpectralMapping class mapping which implies that wavelengths keys will be rounded.
name
data
title
wavelengths
values
items
shape
__str__()[source]
__repr__()[source]
__hash__()[source]
__init__()[source]
__getitem__()[source]
__setitem__()[source]
__iter__()[source]
__contains__()[source]
__len__()[source]
__eq__()[source]
__ne__()[source]
__add__()[source]
__iadd__()[source]
__sub__()[source]
__isub__()[source]
__mul__()[source]
__imul__()[source]
__div__()[source]
__idiv__()[source]
__pow__()[source]
__ipow__()[source]
get()[source]
is_uniform()[source]
extrapolate()[source]
interpolate()[source]
align()[source]
trim_wavelengths()[source]
zeros()[source]
normalise()[source]
clone()[source]

Examples

>>> data = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> # Doctests skip for Python 2.x compatibility.
>>> spd.wavelengths  
array([510, 520, 530, 540])
>>> spd.values
array([ 49.67,  69.59,  81.73,  88.19])
>>> spd.shape  
SpectralShape(510, 540, 10)
align(shape, interpolation_method=None, extrapolation_method=u'Constant', extrapolation_left=None, extrapolation_right=None)[source]

Aligns the spectral power distribution to given spectral shape: Interpolates first then extrapolates to fit the given range.

Parameters:
  • shape (SpectralShape) – Spectral shape used for alignment.
  • interpolation_method (unicode, optional) – {None, ‘Cubic Spline’, ‘Linear’, ‘Pchip’, ‘Sprague’}, Enforce given interpolation method.
  • extrapolation_method (unicode, optional) – {‘Constant’, ‘Linear’}, Extrapolation method.
  • extrapolation_left (numeric, optional) – Value to return for low extrapolation range.
  • extrapolation_right (numeric, optional) – Value to return for high extrapolation range.
Returns:

Aligned spectral power distribution.

Return type:

SpectralPowerDistribution

Examples

>>> data = {
...     510: 49.67,
...     520: 69.59,
...     530: 81.73,
...     540: 88.19,
...     550: 86.26,
...     560: 77.18}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> print(spd.align(SpectralShape(505, 565, 1)))
SpectralPowerDistribution('Sample', (505.0, 565.0, 1.0))
>>> # Doctests skip for Python 2.x compatibility.
>>> spd.wavelengths  
array([505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
       518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
       531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
       544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
       557, 558, 559, 560, 561, 562, 563, 564, 565])
>>> spd.values  
array([ 49.67     ...,  49.67     ...,  49.67     ...,  49.67     ...,
        49.67     ...,  49.67     ...,  51.8341162...,  53.9856467...,
        56.1229464...,  58.2366197...,  60.3121800...,  62.3327095...,
        64.2815187...,  66.1448055...,  67.9143153...,  69.59     ...,
        71.1759958...,  72.6627938...,  74.0465756...,  75.3329710...,
        76.5339542...,  77.6647421...,  78.7406907...,  79.7741932...,
        80.7715767...,  81.73     ...,  82.6407518...,  83.507872 ...,
        84.3326333...,  85.109696 ...,  85.8292968...,  86.47944  ...,
        87.0480863...,  87.525344 ...,  87.9056578...,  88.19     ...,
        88.3858347...,  88.4975634...,  88.5258906...,  88.4696570...,
        88.3266460...,  88.0943906...,  87.7709802...,  87.3558672...,
        86.8506741...,  86.26     ...,  85.5911699...,  84.8503430...,
        84.0434801...,  83.1771110...,  82.2583874...,  81.2951360...,
        80.2959122...,  79.2700525...,  78.2277286...,  77.18     ...,
        77.18     ...,  77.18     ...,  77.18     ...,  77.18     ...])
clone()[source]

Clones the spectral power distribution.

Most of the SpectralPowerDistribution class operations are conducted in-place. The SpectralPowerDistribution.clone() method provides a convenient way to copy the spectral power distribution to a new object.

Returns:Cloned spectral power distribution.
Return type:SpectralPowerDistribution

Examples

>>> data = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> print(spd)  
SpectralPowerDistribution('Sample', (510..., 540..., 10...))
>>> spd_clone = spd.clone()
>>> print(spd_clone)  
SpectralPowerDistribution('Sample (...)', (510..., 540..., 10...))
data

Property for self._data private attribute.

Returns:self._data.
Return type:SpectralMapping
extrapolate(shape, method=u'Constant', left=None, right=None)[source]

Extrapolates the spectral power distribution following CIE 15:2004 recommendation.

Parameters:
  • shape (SpectralShape) – Spectral shape used for extrapolation.
  • method (unicode, optional) – {‘Constant’, ‘Linear’},, Extrapolation method.
  • left (numeric, optional) – Value to return for low extrapolation range.
  • right (numeric, optional) – Value to return for high extrapolation range.
Returns:

Extrapolated spectral power distribution.

Return type:

SpectralPowerDistribution

References

[2]CIE TC 1-48. (2004). Extrapolation. In CIE 015:2004 Colorimetry, 3rd Edition (p. 24). ISBN:978-3-901-90633-6
[3]CIE TC 1-38. (2005). EXTRAPOLATION. In CIE 167:2005 Recommended Practice for Tabulating Spectral Data for Use in Colour Computations (pp. 19–20). ISBN:978-3-901-90641-1

Examples

>>> data = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> spd.extrapolate(  
...     SpectralShape(400, 700)).shape
SpectralShape(400..., 700..., 10...)
>>> spd[400]  
array(49.67...)
>>> spd[700]  
array(88.1...)
get(wavelength, default=nan)[source]

Returns the value for given wavelength \(\lambda\).

Parameters:
  • wavelength (numeric or ndarray) – Wavelength \(\lambda\) to retrieve the value.
  • default (nan or numeric, optional) – Wavelength \(\lambda\) default value.
Returns:

Wavelength \(\lambda\) value.

Return type:

numeric or ndarray

Examples

>>> data = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> # Doctests ellipsis for Python 2.x compatibility.
>>> spd.get(510)  
array(49.67...)
>>> spd.get(511)
array(nan)
>>> spd.get(np.array([510, 520]))
array([ 49.67,  69.59])
interpolate(shape=SpectralShape(None, None, None), method=None)[source]

Interpolates the spectral power distribution following CIE 167:2005 recommendations: the method developed by Sprague (1880) should be used for interpolating functions having a uniformly spaced independent variable and a Cubic Spline method for non-uniformly spaced independent variable.

Parameters:
  • shape (SpectralShape, optional) – Spectral shape used for interpolation.
  • method (unicode, optional) – {None, ‘Cubic Spline’, ‘Linear’, ‘Pchip’, ‘Sprague’}, Enforce given interpolation method.
Returns:

Interpolated spectral power distribution.

Return type:

SpectralPowerDistribution

Raises:
  • RuntimeError – If Sprague (1880) interpolation method is forced with a non-uniformly spaced independent variable.
  • ValueError – If the interpolation method is not defined.

Notes

Warning

  • If scipy is not unavailable the Cubic Spline method will fallback to legacy Linear interpolation.
  • Cubic Spline interpolator requires at least 3 wavelengths \(\lambda_n\) for interpolation.
  • Linear interpolator requires at least 2 wavelengths \(\lambda_n\) for interpolation.
  • Pchip interpolator requires at least 2 wavelengths \(\lambda_n\) for interpolation.
  • Sprague (1880) interpolator requires at least 6 wavelengths \(\lambda_n\) for interpolation.

References

[4]CIE TC 1-38. (2005). 9. INTERPOLATION. In CIE 167:2005 Recommended Practice for Tabulating Spectral Data for Use in Colour Computations (pp. 14–19). ISBN:978-3-901-90641-1

Examples

Uniform data is using Sprague (1880) interpolation by default:

>>> data = {
...     510: 49.67,
...     520: 69.59,
...     530: 81.73,
...     540: 88.19,
...     550: 86.26,
...     560: 77.18}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> print(spd.interpolate(SpectralShape(interval=1)))
SpectralPowerDistribution('Sample', (510.0, 560.0, 1.0))
>>> spd[515]  
array(60.3121800...)

Non uniform data is using Cubic Spline interpolation by default:

>>> spd = SpectralPowerDistribution('Sample', data)
>>> spd[511] = 31.41
>>> print(spd.interpolate(SpectralShape(interval=1)))
SpectralPowerDistribution('Sample', (510.0, 560.0, 1.0))
>>> spd[515]  
array(21.4835799...)

Enforcing Linear interpolation:

>>> spd = SpectralPowerDistribution('Sample', data)
>>> print(spd.interpolate(
...     SpectralShape(interval=1), method='Linear'))
SpectralPowerDistribution('Sample', (510.0, 560.0, 1.0))
>>> spd[515]  
array(59.63...)

Enforcing Pchip interpolation:

>>> spd = SpectralPowerDistribution('Sample', data)
>>> print(spd.interpolate(
...     SpectralShape(interval=1), method='Pchip'))
SpectralPowerDistribution('Sample', (510.0, 560.0, 1.0))
>>> spd[515]  
array(60.7204982...)
is_uniform()[source]

Returns if the spectral power distribution has uniformly spaced data.

Returns:Is uniform.
Return type:bool

Examples

>>> data = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> spd.is_uniform()
True

Breaking the interval by introducing a new wavelength \(\lambda\) value:

>>> spd[511] = 3.1415
>>> spd.is_uniform()
False
items

Property for self.items attribute. This is a convenient attribute used to iterate over the spectral power distribution.

Returns:Spectral power distribution data.
Return type:ndarray
name

Property for self._name private attribute.

Returns:self._name.
Return type:unicode
normalise(factor=1)[source]

Normalises the spectral power distribution with given normalization factor.

Parameters:factor (numeric, optional) – Normalization factor
Returns:Normalised spectral power distribution.
Return type:SpectralPowerDistribution

Examples

>>> data = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> print(spd.normalise())  
SpectralPowerDistribution('Sample', (510..., 540..., 10...))
>>> spd.values  
array([ 0.5632157...,  0.7890917...,  0.9267490...,  1.        ])
shape

Property for self.shape attribute.

Returns the shape of the spectral power distribution in the form of a SpectralShape class instance.

Returns:Spectral power distribution shape.
Return type:SpectralShape

Notes

  • A non uniform spectral power distribution may will have multiple different interval, in that case SpectralPowerDistribution.shape returns the minimum interval size.

Warning

SpectralPowerDistribution.shape is read only.

Examples

Uniform spectral power distribution:

>>> data = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> SpectralPowerDistribution(  
...     'Sample', data).shape
SpectralShape(510..., 540..., 10...)

Non uniform spectral power distribution:

>>> data = {512.3: 49.67, 524.5: 69.59, 532.4: 81.73, 545.7: 88.19}
>>> # Doctests ellipsis for Python 2.x compatibility.
>>> SpectralPowerDistribution(  
...     'Sample', data).shape
SpectralShape(512.3, 545.7, 7...)
title

Property for self._title private attribute.

Returns:self._title.
Return type:unicode
trim_wavelengths(shape)[source]

Trims the spectral power distribution wavelengths to given spectral shape.

Parameters:shape (SpectralShape) – Spectral shape used for trimming.
Returns:Trimed spectral power distribution.
Return type:SpectralPowerDistribution

Examples

>>> data = {
...     510: 49.67,
...     520: 69.59,
...     530: 81.73,
...     540: 88.19,
...     550: 86.26,
...     560: 77.18}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> print(spd.trim_wavelengths(  
...     SpectralShape(520, 550, 10)))
SpectralPowerDistribution('Sample', (520.0, 550.0, 10.0))
>>> # Doctests skip for Python 2.x compatibility.
>>> spd.wavelengths  
array([ 520.,  530.,  540.,  550.])
values

Property for self.values attribute.

Returns:Spectral power distribution wavelengths \(\lambda_n\) values.
Return type:ndarray

Warning

SpectralPowerDistribution.values is read only.

wavelengths

Property for self.wavelengths attribute.

Returns:Spectral power distribution wavelengths \(\lambda_n\).
Return type:ndarray
zeros(shape=SpectralShape(None, None, None))[source]

Zeros fills the spectral power distribution: Missing values will be replaced with zeros to fit the defined range.

Parameters:shape (SpectralShape, optional) – Spectral shape used for zeros fill.
Returns:Zeros filled spectral power distribution.
Return type:SpectralPowerDistribution
Raises:RuntimeError – If the spectral power distribution cannot be zeros filled.

Examples

>>> data = {
...     510: 49.67,
...     520: 69.59,
...     530: 81.73,
...     540: 88.19,
...     550: 86.26,
...     560: 77.18}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> print(spd.zeros(SpectralShape(505, 565, 1)))
SpectralPowerDistribution('Sample', (505.0, 565.0, 1.0))
>>> spd.values
array([  0.  ,   0.  ,   0.  ,   0.  ,   0.  ,  49.67,   0.  ,   0.  ,
         0.  ,   0.  ,   0.  ,   0.  ,   0.  ,   0.  ,   0.  ,  69.59,
         0.  ,   0.  ,   0.  ,   0.  ,   0.  ,   0.  ,   0.  ,   0.  ,
         0.  ,  81.73,   0.  ,   0.  ,   0.  ,   0.  ,   0.  ,   0.  ,
         0.  ,   0.  ,   0.  ,  88.19,   0.  ,   0.  ,   0.  ,   0.  ,
         0.  ,   0.  ,   0.  ,   0.  ,   0.  ,  86.26,   0.  ,   0.  ,
         0.  ,   0.  ,   0.  ,   0.  ,   0.  ,   0.  ,   0.  ,  77.18,
         0.  ,   0.  ,   0.  ,   0.  ,   0.  ])
class colour.TriSpectralPowerDistribution(name, data, mapping, title=None, labels=None)[source]

Bases: object

Defines the base object for colour matching functions.

A compound of three SpectralPowerDistribution is used to store the underlying axis data.

Parameters:
  • name (unicode) – Tri-spectral power distribution name.
  • data (dict) – Tri-spectral power distribution data.
  • mapping (dict) – Tri-spectral power distribution attributes mapping.
  • title (unicode, optional) – Tri-spectral power distribution title for figures.
  • labels (dict, optional) – Tri-spectral power distribution axis labels mapping for figures.
name
mapping
data
title
labels
x
y
z
wavelengths
values
items
shape
__str__()[source]
__repr__()[source]
__hash__()[source]
__init__()[source]
__getitem__()[source]
__setitem__()[source]
__iter__()[source]
__contains__()[source]
__len__()[source]
__eq__()[source]
__ne__()[source]
__add__()[source]
__iadd__()[source]
__sub__()[source]
__isub__()[source]
__mul__()[source]
__imul__()[source]
__div__()[source]
__idiv__()[source]
__pow__()[source]
__ipow__()[source]
get()[source]
is_uniform()[source]
extrapolate()[source]
interpolate()[source]
align()[source]
trim_wavelengths()[source]
zeros()[source]
normalise()[source]
clone()[source]

Examples

>>> x_bar = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> y_bar = {510: 90.56, 520: 87.34, 530: 45.76, 540: 23.45}
>>> z_bar = {510: 12.43, 520: 23.15, 530: 67.98, 540: 90.28}
>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> # Doctests skip for Python 2.x compatibility.
>>> tri_spd.wavelengths  
array([510, 520, 530, 540])
>>> tri_spd.values
array([[ 49.67,  90.56,  12.43],
       [ 69.59,  87.34,  23.15],
       [ 81.73,  45.76,  67.98],
       [ 88.19,  23.45,  90.28]])
>>> # Doctests skip for Python 2.x compatibility.
>>> tri_spd.shape  
SpectralShape(510, 540, 10)
align(shape, interpolation_method=None, extrapolation_method=u'Constant', extrapolation_left=None, extrapolation_right=None)[source]

Aligns the tri-spectral power distribution to given shape: Interpolates first then extrapolates to fit the given range.

Parameters:
  • shape (SpectralShape) – Spectral shape used for alignment.
  • interpolation_method (unicode, optional) – {None, ‘Cubic Spline’, ‘Linear’, ‘Pchip’, ‘Sprague’}, Enforce given interpolation method.
  • extrapolation_method (unicode, optional) – {‘Constant’, ‘Linear’}, Extrapolation method.
  • extrapolation_left (numeric, optional) – Value to return for low extrapolation range.
  • extrapolation_right (numeric, optional) – Value to return for high extrapolation range.
Returns:

Aligned tri-spectral power distribution.

Return type:

TriSpectralPowerDistribution

Examples

>>> x_bar = {
...     510: 49.67,
...     520: 69.59,
...     530: 81.73,
...     540: 88.19,
...     550: 89.76,
...     560: 90.28}
>>> y_bar = {
...     510: 90.56,
...     520: 87.34,
...     530: 45.76,
...     540: 23.45,
...     550: 15.34,
...     560: 10.11}
>>> z_bar = {
...     510: 12.43,
...     520: 23.15,
...     530: 67.98,
...     540: 90.28,
...     550: 91.61,
...     560: 98.24}
>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> print(tri_spd.align(SpectralShape(505, 565, 1)))
TriSpectralPowerDistribution('Observer', (505.0, 565.0, 1.0))
>>> # Doctests skip for Python 2.x compatibility.
>>> tri_spd.wavelengths  
array([505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
       518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
       531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
       544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
       557, 558, 559, 560, 561, 562, 563, 564, 565])
>>> tri_spd.values  
array([[ 49.67     ...,  90.56     ...,  12.43     ...],
       [ 49.67     ...,  90.56     ...,  12.43     ...],
       [ 49.67     ...,  90.56     ...,  12.43     ...],
       [ 49.67     ...,  90.56     ...,  12.43     ...],
       [ 49.67     ...,  90.56     ...,  12.43     ...],
       [ 49.67     ...,  90.56     ...,  12.43     ...],
       [ 51.8325938...,  91.2994928...,  12.5377184...],
       [ 53.9841952...,  91.9502387...,  12.7233193...],
       [ 56.1205452...,  92.5395463...,  12.9651679...],
       [ 58.2315395...,  93.0150037...,  13.3123777...],
       [ 60.3033208...,  93.2716331...,  13.8605136...],
       [ 62.3203719...,  93.1790455...,  14.7272944...],
       [ 64.2676077...,  92.6085951...,  16.0282961...],
       [ 66.1324679...,  91.4605335...,  17.8526544...],
       [ 67.9070097...,  89.6911649...,  20.2387677...],
       [ 69.59     ...,  87.34     ...,  23.15     ...],
       [ 71.1837378...,  84.4868033...,  26.5150469...],
       [ 72.6800056...,  81.0666018...,  30.3964852...],
       [ 74.0753483...,  77.0766254...,  34.7958422...],
       [ 75.3740343...,  72.6153870...,  39.6178858...],
       [ 76.5856008...,  67.8490714...,  44.7026805...],
       [ 77.7223995...,  62.9779261...,  49.8576432...],
       [ 78.7971418...,  58.2026503...,  54.8895997...],
       [ 79.8204447...,  53.6907852...,  59.6368406...],
       [ 80.798376 ...,  49.5431036...,  64.0011777...],
       [ 81.73     ...,  45.76     ...,  67.98     ...],
       [ 82.6093606...,  42.2678534...,  71.6460893...],
       [ 83.439232 ...,  39.10608  ...,  74.976976 ...],
       [ 84.2220071...,  36.3063728...,  77.9450589...],
       [ 84.956896 ...,  33.85464  ...,  80.552    ...],
       [ 85.6410156...,  31.7051171...,  82.8203515...],
       [ 86.27048  ...,  29.79448  ...,  84.785184 ...],
       [ 86.8414901...,  28.0559565...,  86.4857131...],
       [ 87.351424 ...,  26.43344  ...,  87.956928 ...],
       [ 87.7999266...,  24.8956009...,  89.2212178...],
       [ 88.19     ...,  23.45     ...,  90.28     ...],
       [ 88.5265036...,  22.1424091...,  91.1039133...],
       [ 88.8090803...,  20.9945234...,  91.6538035...],
       [ 89.0393279...,  20.0021787...,  91.9333499...],
       [ 89.2222817...,  19.1473370...,  91.9858818...],
       [ 89.3652954...,  18.4028179...,  91.8811002...],
       [ 89.4769231...,  17.7370306...,  91.7018000...],
       [ 89.5657996...,  17.1187058...,  91.5305910...],
       [ 89.6395227...,  16.5216272...,  91.4366204...],
       [ 89.7035339...,  15.9293635...,  91.4622944...],
       [ 89.76     ...,  15.34     ...,  91.61     ...],
       [ 89.8094041...,  14.7659177...,  91.8528616...],
       [ 89.8578890...,  14.2129190...,  92.2091737...],
       [ 89.9096307...,  13.6795969...,  92.6929664...],
       [ 89.9652970...,  13.1613510...,  93.2988377...],
       [ 90.0232498...,  12.6519811...,  94.0078786...],
       [ 90.0807467...,  12.1452800...,  94.7935995...],
       [ 90.1351435...,  11.6366269...,  95.6278555...],
       [ 90.1850956...,  11.1245805...,  96.4867724...],
       [ 90.2317606...,  10.6124724...,  97.3566724...],
       [ 90.28     ...,  10.11     ...,  98.24     ...],
       [ 90.28     ...,  10.11     ...,  98.24     ...],
       [ 90.28     ...,  10.11     ...,  98.24     ...],
       [ 90.28     ...,  10.11     ...,  98.24     ...],
       [ 90.28     ...,  10.11     ...,  98.24     ...],
       [ 90.28     ...,  10.11     ...,  98.24     ...]])
clone()[source]

Clones the tri-spectral power distribution.

Most of the TriSpectralPowerDistribution class operations are conducted in-place. The TriSpectralPowerDistribution.clone() method provides a convenient way to copy the tri-spectral power distribution to a new object.

Returns:Cloned tri-spectral power distribution.
Return type:TriSpectralPowerDistribution

Examples

>>> x_bar = {
...     510: 49.67,
...     520: 69.59,
...     530: 81.73,
...     540: 88.19,
...     550: 89.76,
...     560: 90.28}
>>> y_bar = {
...     510: 90.56,
...     520: 87.34,
...     530: 45.76,
...     540: 23.45,
...     550: 15.34,
...     560: 10.11}
>>> z_bar = {
...     510: 12.43,
...     520: 23.15,
...     530: 67.98,
...     540: 90.28,
...     550: 91.61,
...     560: 98.24}
>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> print(tri_spd)  
TriSpectralPowerDistribution('Observer', (510..., 560..., 10...))
>>> tri_spd_clone = tri_spd.clone()
>>> print(tri_spd_clone)  
TriSpectralPowerDistribution('Observer (...)', (510..., 560..., 10...))
data

Property for self._data private attribute.

Returns:self._data.
Return type:dict
extrapolate(shape, method=u'Constant', left=None, right=None)[source]

Extrapolates the tri-spectral power distribution following CIE 15:2004 recommendation. [2]_ [3]_

Parameters:
  • shape (SpectralShape) – Spectral shape used for extrapolation.
  • method (unicode, optional) – {‘Constant’, ‘Linear’}, Extrapolation method.
  • left (numeric, optional) – Value to return for low extrapolation range.
  • right (numeric, optional) – Value to return for high extrapolation range.
Returns:

Extrapolated tri-spectral power distribution.

Return type:

TriSpectralPowerDistribution

Examples

>>> x_bar = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> y_bar = {510: 90.56, 520: 87.34, 530: 45.76, 540: 23.45}
>>> z_bar = {510: 12.43, 520: 23.15, 530: 67.98, 540: 90.28}
>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> tri_spd.extrapolate(  
...     SpectralShape(400, 700)).shape
SpectralShape(400..., 700..., 10...)
>>> tri_spd[400]
array([ 49.67,  90.56,  12.43])
>>> tri_spd[700]
array([ 88.19,  23.45,  90.28])
get(wavelength, default=nan)[source]

Returns the values for given wavelength \(\lambda\).

Parameters:
  • wavelength (numeric or array_like) – Wavelength \(\lambda\) to retrieve the values.
  • default (nan, numeric or array_like, optional) – Wavelength \(\lambda\) default values.
Returns:

Wavelength \(\lambda\) values.

Return type:

numeric or array_like

Examples

>>> x_bar = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> y_bar = {510: 90.56, 520: 87.34, 530: 45.76, 540: 23.45}
>>> z_bar = {510: 12.43, 520: 23.15, 530: 67.98, 540: 90.28}
>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> tri_spd.get(510)
array([ 49.67,  90.56,  12.43])
>>> tri_spd.get(np.array([510, 520]))
array([[ 49.67,  90.56,  12.43],
       [ 69.59,  87.34,  23.15]])
>>> tri_spd.get(511)
array([ nan,  nan,  nan])
>>> tri_spd.get(np.array([510, 520]))
array([[ 49.67,  90.56,  12.43],
       [ 69.59,  87.34,  23.15]])
interpolate(shape=SpectralShape(None, None, None), method=None)[source]

Interpolates the tri-spectral power distribution following CIE 167:2005 recommendations: the method developed by Sprague (1880) should be used for interpolating functions having a uniformly spaced independent variable and a Cubic Spline method for non-uniformly spaced independent variable. [4]_

Parameters:
  • shape (SpectralShape, optional) – Spectral shape used for interpolation.
  • method (unicode, optional) – {None, ‘Cubic Spline’, ‘Linear’, ‘Pchip’, ‘Sprague’}, Enforce given interpolation method.
Returns:

Interpolated tri-spectral power distribution.

Return type:

TriSpectralPowerDistribution

Notes

Warning

See SpectralPowerDistribution.interpolate() method warning section.

Examples

Uniform data is using Sprague (1880) interpolation by default:

>>> x_bar = {
...     510: 49.67,
...     520: 69.59,
...     530: 81.73,
...     540: 88.19,
...     550: 89.76,
...     560: 90.28}
>>> y_bar = {
...     510: 90.56,
...     520: 87.34,
...     530: 45.76,
...     540: 23.45,
...     550: 15.34,
...     560: 10.11}
>>> z_bar = {
...     510: 12.43,
...     520: 23.15,
...     530: 67.98,
...     540: 90.28,
...     550: 91.61,
...     560: 98.24}
>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> print(tri_spd.interpolate(SpectralShape(interval=1)))
TriSpectralPowerDistribution('Observer', (510.0, 560.0, 1.0))
>>> tri_spd[515]  
array([ 60.3033208...,  93.2716331...,  13.8605136...])

Non uniform data is using Cubic Spline interpolation by default:

>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> tri_spd[511] = np.array([31.41, 95.27, 15.06])
>>> print(tri_spd.interpolate(SpectralShape(interval=1)))
TriSpectralPowerDistribution('Observer', (510.0, 560.0, 1.0))
>>> tri_spd[515]  
array([  21.4752929...,  100.6436744...,   18.8153985...])

Enforcing Linear interpolation:

>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> print(tri_spd.interpolate(  
...     SpectralShape(interval=1), method='Linear'))
TriSpectralPowerDistribution('Observer', (510.0, 560.0, 1.0))
>>> tri_spd[515]  
array([ 59.63...,  88.95...,  17.79...])

Enforcing Pchip interpolation:

>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> print(tri_spd.interpolate(  
...     SpectralShape(interval=1), method='Pchip'))
TriSpectralPowerDistribution('Observer', (510.0, 560.0, 1.0))
>>> tri_spd[515]  
array([ 60.7204982...,  89.6971406...,  15.6271845...])
is_uniform()[source]

Returns if the tri-spectral power distribution has uniformly spaced data.

Returns:Is uniform.
Return type:bool

Examples

>>> x_bar = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> y_bar = {510: 90.56, 520: 87.34, 530: 45.76, 540: 23.45}
>>> z_bar = {510: 12.43, 520: 23.15, 530: 67.98, 540: 90.28}
>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> tri_spd.is_uniform()
True

Breaking the interval by introducing new wavelength \(\lambda\) values:

>>> tri_spd[511] = np.array([49.6700, 49.6700, 49.6700])
>>> tri_spd.is_uniform()
False
items

Property for self.items attribute. This is a convenient attribute used to iterate over the tri-spectral power distribution.

Notes

Returns:Tri-spectral power distribution data.
Return type:list
labels

Property for self._labels private attribute.

Returns:self._labels.
Return type:dict
mapping

Property for self._mapping private attribute.

Returns:self._mapping.
Return type:dict
name

Property for self._name private attribute.

Returns:self._name.
Return type:unicode
normalise(factor=1)[source]

Normalises the tri-spectral power distribution with given normalization factor.

Parameters:factor (numeric, optional) – Normalization factor
Returns:Normalised tri- spectral power distribution.
Return type:TriSpectralPowerDistribution

Notes

  • The implementation uses the maximum value for all axis.

Examples

>>> x_bar = {
...     510: 49.67,
...     520: 69.59,
...     530: 81.73,
...     540: 88.19,
...     550: 89.76,
...     560: 90.28}
>>> y_bar = {
...     510: 90.56,
...     520: 87.34,
...     530: 45.76,
...     540: 23.45,
...     550: 15.34,
...     560: 10.11}
>>> z_bar = {
...     510: 12.43,
...     520: 23.15,
...     530: 67.98,
...     540: 90.28,
...     550: 91.61,
...     560: 98.24}
>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> print(tri_spd.normalise())  
TriSpectralPowerDistribution('Observer', (510..., 560..., 10...))
>>> tri_spd.values  
array([[ 0.5055985...,  0.9218241...,  0.1265268...],
       [ 0.7083672...,  0.8890472...,  0.2356473...],
       [ 0.8319421...,  0.4657980...,  0.6919788...],
       [ 0.8976995...,  0.2387011...,  0.9189739...],
       [ 0.9136807...,  0.1561482...,  0.9325122...],
       [ 0.9189739...,  0.1029112...,  1.       ...]])
shape

Property for self.shape attribute.

Returns the shape of the tri-spectral power distribution in the form of a SpectralShape class instance.

Returns:Tri-spectral power distribution shape.
Return type:SpectralShape

Warning

TriSpectralPowerDistribution.shape is read only.

Examples

>>> x_bar = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> y_bar = {510: 90.56, 520: 87.34, 530: 45.76, 540: 23.45}
>>> z_bar = {510: 12.43, 520: 23.15, 530: 67.98, 540: 90.28}
>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> tri_spd.shape  
SpectralShape(510..., 540..., 10...)
title

Property for self._title private attribute.

Returns:self._title.
Return type:unicode
trim_wavelengths(shape)[source]

Trims the tri-spectral power distribution wavelengths to given shape.

Parameters:shape (SpectralShape) – Spectral shape used for trimming.
Returns:Trimmed tri-spectral power distribution.
Return type:TriSpectralPowerDistribution

Examples

>>> x_bar = {
...     510: 49.67,
...     520: 69.59,
...     530: 81.73,
...     540: 88.19,
...     550: 89.76,
...     560: 90.28}
>>> y_bar = {
...     510: 90.56,
...     520: 87.34,
...     530: 45.76,
...     540: 23.45,
...     550: 15.34,
...     560: 10.11}
>>> z_bar = {
...     510: 12.43,
...     520: 23.15,
...     530: 67.98,
...     540: 90.28,
...     550: 91.61,
...     560: 98.24}
>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> # Doctests skip for Python 2.x compatibility.
>>> print(tri_spd.trim_wavelengths(  
...     SpectralShape(520, 550, 10)))
TriSpectralPowerDistribution('Observer', (520.0, 550.0, 10.0))
>>> tri_spd.wavelengths  
array([ 520.,  530.,  540.,  550.])
values

Property for self.values attribute.

Returns:Tri-spectral power distribution wavelengths \(\lambda_n\) values.
Return type:ndarray

Warning

TriSpectralPowerDistribution.values is read only.

wavelengths

Property for self.wavelengths attribute.

Returns:Tri-spectral power distribution wavelengths \(\lambda_n\).
Return type:ndarray
x

Property for self.x attribute.

Returns:Spectral power distribution for x axis.
Return type:SpectralPowerDistribution

Warning

TriSpectralPowerDistribution.x is read only.

y

Property for self.y attribute.

Returns:Spectral power distribution for y axis.
Return type:SpectralPowerDistribution

Warning

TriSpectralPowerDistribution.y is read only.

z

Property for self.z attribute.

Returns:Spectral power distribution for z axis.
Return type:SpectralPowerDistribution

Warning

TriSpectralPowerDistribution.z is read only.

zeros(shape=SpectralShape(None, None, None))[source]

Zeros fills the tri-spectral power distribution: Missing values will be replaced with zeros to fit the defined range.

Parameters:shape (SpectralShape, optional) – Spectral shape used for zeros fill.
Returns:Zeros filled tri-spectral power distribution.
Return type:TriSpectralPowerDistribution

Examples

>>> x_bar = {
...     510: 49.67,
...     520: 69.59,
...     530: 81.73,
...     540: 88.19,
...     550: 89.76,
...     560: 90.28}
>>> y_bar = {
...     510: 90.56,
...     520: 87.34,
...     530: 45.76,
...     540: 23.45,
...     550: 15.34,
...     560: 10.11}
>>> z_bar = {
...     510: 12.43,
...     520: 23.15,
...     530: 67.98,
...     540: 90.28,
...     550: 91.61,
...     560: 98.24}
>>> data = {'x_bar': x_bar, 'y_bar': y_bar, 'z_bar': z_bar}
>>> mapping = {'x': 'x_bar', 'y': 'y_bar', 'z': 'z_bar'}
>>> tri_spd = TriSpectralPowerDistribution('Observer', data, mapping)
>>> print(tri_spd.zeros(SpectralShape(505, 565, 1)))
TriSpectralPowerDistribution('Observer', (505.0, 565.0, 1.0))
>>> tri_spd.values
array([[  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [ 49.67,  90.56,  12.43],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [ 69.59,  87.34,  23.15],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [ 81.73,  45.76,  67.98],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [ 88.19,  23.45,  90.28],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [ 89.76,  15.34,  91.61],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [ 90.28,  10.11,  98.24],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ],
       [  0.  ,   0.  ,   0.  ]])
colour.constant_spd(k, shape=SpectralShape(360.0, 780.0, 1.0))[source]

Returns a spectral power distribution of given spectral shape filled with constant \(k\) values.

Parameters:
  • k (numeric) – Constant \(k\) to fill the spectral power distribution with.
  • shape (SpectralShape, optional) – Spectral shape used to create the spectral power distribution.
Returns:

Constant \(k\) to filled spectral power distribution.

Return type:

SpectralPowerDistribution

Notes

  • By default, the spectral power distribution will use the shape given by DEFAULT_SPECTRAL_SHAPE attribute.

Examples

>>> spd = constant_spd(100)
>>> spd.shape
SpectralShape(360.0, 780.0, 1.0)
>>> spd[400]
array(100.0)
colour.zeros_spd(shape=SpectralShape(360.0, 780.0, 1.0))[source]

Returns a spectral power distribution of given spectral shape filled with zeros.

Parameters:shape (SpectralShape, optional) – Spectral shape used to create the spectral power distribution.
Returns:Zeros filled spectral power distribution.
Return type:SpectralPowerDistribution

See also

constant_spd()

Notes

  • By default, the spectral power distribution will use the shape given by DEFAULT_SPECTRAL_SHAPE attribute.

Examples

>>> spd = zeros_spd()
>>> spd.shape
SpectralShape(360.0, 780.0, 1.0)
>>> spd[400]
array(0.0)
colour.ones_spd(shape=SpectralShape(360.0, 780.0, 1.0))[source]

Returns a spectral power distribution of given spectral shape filled with ones.

Parameters:shape (SpectralShape, optional) – Spectral shape used to create the spectral power distribution.
Returns:Ones filled spectral power distribution.
Return type:SpectralPowerDistribution

See also

constant_spd()

Notes

  • By default, the spectral power distribution will use the shape given by DEFAULT_SPECTRAL_SHAPE attribute.

Examples

>>> spd = ones_spd()
>>> spd.shape
SpectralShape(360.0, 780.0, 1.0)
>>> spd[400]
array(1.0)
colour.blackbody_spd(temperature, shape=SpectralShape(360.0, 780.0, 1.0), c1=3.741771e-16, c2=0.014388, n=1)[source]

Returns the spectral power distribution of the planckian radiator for given temperature \(T[K]\).

Parameters:
  • temperature (numeric) – Temperature \(T[K]\) in kelvin degrees.
  • shape (SpectralShape, optional) – Spectral shape used to create the spectral power distribution of the planckian radiator.
  • c1 (numeric, optional) – The official value of \(c1\) is provided by the Committee on Data for Science and Technology (CODATA) and is \(c1=3,741771x10.16\ W/m_2\) (Mohr and Taylor, 2000).
  • c2 (numeric, optional) – Since \(T\) is measured on the International Temperature Scale, the value of \(c2\) used in colorimetry should follow that adopted in the current International Temperature Scale (ITS-90) (Preston-Thomas, 1990; Mielenz et aI., 1991), namely \(c2=1,4388x10.2\ m/K\).
  • n (numeric, optional) – Medium index of refraction. For dry air at 15°C and 101 325 Pa, containing 0,03 percent by volume of carbon dioxide, it is approximately 1,00028 throughout the visible region although CIE 15:2004 recommends using \(n=1\).
Returns:

Blackbody spectral power distribution.

Return type:

SpectralPowerDistribution

Examples

>>> from colour import STANDARD_OBSERVERS_CMFS
>>> cmfs = STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer']
>>> print(blackbody_spd(5000, cmfs.shape))
SpectralPowerDistribution('5000K Blackbody', (360.0, 830.0, 1.0))
colour.blackbody_spectral_radiance(wavelength, temperature, c1=3.741771e-16, c2=0.014388, n=1)

Returns the spectral radiance of a blackbody at thermodynamic temperature \(T[K]\) in a medium having index of refraction \(n\).

Parameters:
  • wavelength (numeric or array_like) – Wavelength in meters.
  • temperature (numeric or array_like) – Temperature \(T[K]\) in kelvin degrees.
  • c1 (numeric or array_like, optional) – The official value of \(c1\) is provided by the Committee on Data for Science and Technology (CODATA) and is \(c1=3,741771x10.16\ W/m_2\) (Mohr and Taylor, 2000).
  • c2 (numeric or array_like, optional) – Since \(T\) is measured on the International Temperature Scale, the value of \(c2\) used in colorimetry should follow that adopted in the current International Temperature Scale (ITS-90) (Preston-Thomas, 1990; Mielenz et aI., 1991), namely \(c2=1,4388x10.2\ m/K\).
  • n (numeric or array_like, optional) – Medium index of refraction. For dry air at 15°C and 101 325 Pa, containing 0,03 percent by volume of carbon dioxide, it is approximately 1,00028 throughout the visible region although CIE 15:2004 recommends using \(n=1\).
Returns:

Radiance in watts per steradian per square metre.

Return type:

numeric or ndarray

Notes

  • The following form implementation is expressed in term of wavelength.
  • The SI unit of radiance is watts per steradian per square metre.

References

[1]CIE TC 1-48. (2004). APPENDIX E. INFORMATION ON THE USE OF PLANCK’S EQUATION FOR STANDARD AIR. In CIE 015:2004 Colorimetry, 3rd Edition (pp. 77–82). ISBN:978-3-901-90633-6

Examples

>>> # Doctests ellipsis for Python 2.x compatibility.
>>> planck_law(500 * 1e-9, 5500)  
20472701909806.5...
colour.planck_law(wavelength, temperature, c1=3.741771e-16, c2=0.014388, n=1)[source]

Returns the spectral radiance of a blackbody at thermodynamic temperature \(T[K]\) in a medium having index of refraction \(n\).

Parameters:
  • wavelength (numeric or array_like) – Wavelength in meters.
  • temperature (numeric or array_like) – Temperature \(T[K]\) in kelvin degrees.
  • c1 (numeric or array_like, optional) – The official value of \(c1\) is provided by the Committee on Data for Science and Technology (CODATA) and is \(c1=3,741771x10.16\ W/m_2\) (Mohr and Taylor, 2000).
  • c2 (numeric or array_like, optional) – Since \(T\) is measured on the International Temperature Scale, the value of \(c2\) used in colorimetry should follow that adopted in the current International Temperature Scale (ITS-90) (Preston-Thomas, 1990; Mielenz et aI., 1991), namely \(c2=1,4388x10.2\ m/K\).
  • n (numeric or array_like, optional) – Medium index of refraction. For dry air at 15°C and 101 325 Pa, containing 0,03 percent by volume of carbon dioxide, it is approximately 1,00028 throughout the visible region although CIE 15:2004 recommends using \(n=1\).
Returns:

Radiance in watts per steradian per square metre.

Return type:

numeric or ndarray

Notes

  • The following form implementation is expressed in term of wavelength.
  • The SI unit of radiance is watts per steradian per square metre.

References

[1]CIE TC 1-48. (2004). APPENDIX E. INFORMATION ON THE USE OF PLANCK’S EQUATION FOR STANDARD AIR. In CIE 015:2004 Colorimetry, 3rd Edition (pp. 77–82). ISBN:978-3-901-90633-6

Examples

>>> # Doctests ellipsis for Python 2.x compatibility.
>>> planck_law(500 * 1e-9, 5500)  
20472701909806.5...
class colour.LMS_ConeFundamentals(name, data, title=None)[source]

Bases: colour.colorimetry.spectrum.TriSpectralPowerDistribution

Implements support for the Stockman and Sharpe LMS cone fundamentals colour matching functions.

Parameters:
  • name (unicode) – LMS colour matching functions name.
  • data (dict) – LMS colour matching functions.
  • title (unicode, optional) – LMS colour matching functions title for figures.
l_bar
m_bar
s_bar
l_bar

Property for self.x attribute.

Returns:self.x
Return type:SpectralPowerDistribution

Warning

LMS_ConeFundamentals.l_bar is read only.

m_bar

Property for self.y attribute.

Returns:self.y
Return type:SpectralPowerDistribution

Warning

LMS_ConeFundamentals.m_bar is read only.

s_bar

Property for self.z attribute.

Returns:self.z
Return type:SpectralPowerDistribution

Warning

LMS_ConeFundamentals.s_bar is read only.

class colour.RGB_ColourMatchingFunctions(name, data, title=None)[source]

Bases: colour.colorimetry.spectrum.TriSpectralPowerDistribution

Implements support for the CIE RGB colour matching functions.

Parameters:
  • name (unicode) – CIE RGB colour matching functions name.
  • data (dict) – CIE RGB colour matching functions.
  • title (unicode, optional) – CIE RGB colour matching functions title for figures.
r_bar
g_bar
b_bar
b_bar

Property for self.z attribute.

Returns:self.z
Return type:SpectralPowerDistribution

Warning

RGB_ColourMatchingFunctions.b_bar is read only.

g_bar

Property for self.y attribute.

Returns:self.y
Return type:SpectralPowerDistribution

Warning

RGB_ColourMatchingFunctions.g_bar is read only.

r_bar

Property for self.x attribute.

Returns:self.x
Return type:SpectralPowerDistribution

Warning

RGB_ColourMatchingFunctions.r_bar is read only.

class colour.XYZ_ColourMatchingFunctions(name, data, title=None)[source]

Bases: colour.colorimetry.spectrum.TriSpectralPowerDistribution

Implements support for the CIE Standard Observers XYZ colour matching functions.

Parameters:
  • name (unicode) – CIE Standard Observer XYZ colour matching functions name.
  • data (dict) – CIE Standard Observer XYZ colour matching functions.
  • title (unicode, optional) – CIE Standard Observer XYZ colour matching functions title for figures.
x_bar
y_bar
z_bar
x_bar

Property for self.x attribute.

Returns:self.x
Return type:SpectralPowerDistribution

Warning

XYZ_ColourMatchingFunctions.x_bar is read only.

y_bar

Property for self.y attribute.

Returns:self.y
Return type:SpectralPowerDistribution

Warning

XYZ_ColourMatchingFunctions.y_bar is read only.

z_bar

Property for self.z attribute.

Returns:self.z
Return type:SpectralPowerDistribution

Warning

XYZ_ColourMatchingFunctions.z_bar is read only.

colour.bandpass_correction(spd, method=u'Stearns 1988')[source]

Implements spectral bandpass dependence correction on given spectral power distribution using given method.

Parameters:
  • spd (SpectralPowerDistribution) – Spectral power distribution.
  • method (unicode, optional) – (‘Stearns 1988’, ) Correction method.
Returns:

Spectral bandpass dependence corrected spectral power distribution.

Return type:

SpectralPowerDistribution

colour.bandpass_correction_Stearns1988(spd)[source]

Implements spectral bandpass dependence correction on given spectral power distribution using Stearns and Stearns (1988) method.

Parameters:spd (SpectralPowerDistribution) – Spectral power distribution.
Returns:Spectral bandpass dependence corrected spectral power distribution.
Return type:SpectralPowerDistribution

References

[1]Westland, S., Ripamonti, C., & Cheung, V. (2012). Correction for Spectral Bandpass. In Computational Colour Science Using MATLAB (2nd ed., p. 38). ISBN:978-0-470-66569-5
[2]Stearns, E. I., & Stearns, R. E. (1988). An example of a method for correcting radiance data for Bandpass error. Color Research & Application, 13(4), 257–259. doi:10.1002/col.5080130410

Examples

>>> from colour import SpectralPowerDistribution
>>> data = {510: 49.67, 520: 69.59, 530: 81.73, 540: 88.19}
>>> spd = SpectralPowerDistribution('Spd', data)
>>> corrected_spd = bandpass_correction_Stearns1988(spd)
>>> corrected_spd.values  
array([ 48.01664   ,  70.3729688...,  82.0919506...,  88.72618   ])
colour.D_illuminant_relative_spd(xy)[source]

Returns the relative spectral power distribution of given CIE Standard Illuminant D Series using given xy chromaticity coordinates.

References

[1]Wyszecki, G., & Stiles, W. S. (2000). CIE Method of Calculating D-Illuminants. In Color Science: Concepts and Methods, Quantitative Data and Formulae (pp. 145–146). Wiley. ISBN:978-0471399186
[2]Lindbloom, B. (2007). Spectral Power Distribution of a CIE D-Illuminant. Retrieved April 05, 2014, from http://www.brucelindbloom.com/Eqn_DIlluminant.html
Parameters:xy (array_like) – xy chromaticity coordinates.
Returns:CIE Standard Illuminant D Series relative spectral power distribution.
Return type:SpectralPowerDistribution

Examples

>>> xy = np.array([0.34570, 0.35850])
>>> print(D_illuminant_relative_spd(xy))
SpectralPowerDistribution('CIE Standard Illuminant D Series', (300.0, 830.0, 10.0))
colour.CIE_standard_illuminant_A_function(wl)[source]

CIE Standard Illuminant A is intended to represent typical, domestic, tungsten-filament lighting. Its relative spectral power distribution is that of a Planckian radiator at a temperature of approximately 2856 K. CIE Standard Illuminant A should be used in all applications of colorimetry involving the use of incandescent lighting, unless there are specific reasons for using a different illuminant.

Parameters:wl (array_like) – Wavelength to evaluate the function at.
Returns:CIE Standard Illuminant A value at given wavelength.
Return type:ndarray

References

[1]CIE TC 1-48. (2004). 3.1 Recommendations concerning standard physical data of illuminants. In CIE 015:2004 Colorimetry, 3rd Edition (pp. 12–13). ISBN:978-3-901-90633-6

Examples

>>> wl = np.array([560, 580, 581.5])
>>> CIE_standard_illuminant_A_function(wl)  
array([ 100.        ,  114.4363383...,  115.5285063...])
colour.mesopic_luminous_efficiency_function(Lp, source=u'Blue Heavy', method=u'MOVE', photopic_lef=SpectralPowerDistribution( 'CIE 1924 Photopic Standard Observer', {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.770578e-07, 820.0: 9.1093e-07, 821.0: 8.492513e-07, 822.0: 7.917212e-07, 823.0: 7.380904e-07, 824.0: 6.881098e-07, 825.0: 6.4153e-07, 826.0: 5.980895e-07, 827.0: 5.575746e-07, 828.0: 5.19808e-07, 829.0: 4.846123e-07, 830.0: 4.5181e-07}), scotopic_lef=SpectralPowerDistribution( 'CIE 1951 Scotopic Standard Observer', {380.0: 0.000589, 381.0: 0.000665, 382.0: 0.000752, 383.0: 0.000854, 384.0: 0.000972, 385.0: 0.001108, 386.0: 0.001268, 387.0: 0.001453, 388.0: 0.001668, 389.0: 0.001918, 390.0: 0.002209, 391.0: 0.002547, 392.0: 0.002939, 393.0: 0.003394, 394.0: 0.003921, 395.0: 0.00453, 396.0: 0.00524, 397.0: 0.00605, 398.0: 0.00698, 399.0: 0.00806, 400.0: 0.00929, 401.0: 0.0107, 402.0: 0.01231, 403.0: 0.01413, 404.0: 0.01619, 405.0: 0.01852, 406.0: 0.02113, 407.0: 0.02405, 408.0: 0.0273, 409.0: 0.03089, 410.0: 0.03484, 411.0: 0.03916, 412.0: 0.0439, 413.0: 0.049, 414.0: 0.0545, 415.0: 0.0604, 416.0: 0.0668, 417.0: 0.0736, 418.0: 0.0808, 419.0: 0.0885, 420.0: 0.0966, 421.0: 0.1052, 422.0: 0.1141, 423.0: 0.1235, 424.0: 0.1334, 425.0: 0.1436, 426.0: 0.1541, 427.0: 0.1651, 428.0: 0.1764, 429.0: 0.1879, 430.0: 0.1998, 431.0: 0.2119, 432.0: 0.2243, 433.0: 0.2369, 434.0: 0.2496, 435.0: 0.2625, 436.0: 0.2755, 437.0: 0.2886, 438.0: 0.3017, 439.0: 0.3149, 440.0: 0.3281, 441.0: 0.3412, 442.0: 0.3543, 443.0: 0.3673, 444.0: 0.3803, 445.0: 0.3931, 446.0: 0.406, 447.0: 0.418, 448.0: 0.431, 449.0: 0.443, 450.0: 0.455, 451.0: 0.467, 452.0: 0.479, 453.0: 0.49, 454.0: 0.502, 455.0: 0.513, 456.0: 0.524, 457.0: 0.535, 458.0: 0.546, 459.0: 0.557, 460.0: 0.567, 461.0: 0.578, 462.0: 0.588, 463.0: 0.599, 464.0: 0.61, 465.0: 0.62, 466.0: 0.631, 467.0: 0.642, 468.0: 0.653, 469.0: 0.664, 470.0: 0.676, 471.0: 0.687, 472.0: 0.699, 473.0: 0.71, 474.0: 0.722, 475.0: 0.734, 476.0: 0.745, 477.0: 0.757, 478.0: 0.769, 479.0: 0.781, 480.0: 0.793, 481.0: 0.805, 482.0: 0.817, 483.0: 0.828, 484.0: 0.84, 485.0: 0.851, 486.0: 0.862, 487.0: 0.873, 488.0: 0.884, 489.0: 0.894, 490.0: 0.904, 491.0: 0.914, 492.0: 0.923, 493.0: 0.932, 494.0: 0.941, 495.0: 0.949, 496.0: 0.957, 497.0: 0.964, 498.0: 0.97, 499.0: 0.976, 500.0: 0.982, 501.0: 0.986, 502.0: 0.99, 503.0: 0.994, 504.0: 0.997, 505.0: 0.998, 506.0: 1.0, 507.0: 1.0, 508.0: 1.0, 509.0: 0.998, 510.0: 0.997, 511.0: 0.994, 512.0: 0.99, 513.0: 0.986, 514.0: 0.981, 515.0: 0.975, 516.0: 0.968, 517.0: 0.961, 518.0: 0.953, 519.0: 0.944, 520.0: 0.935, 521.0: 0.925, 522.0: 0.915, 523.0: 0.904, 524.0: 0.892, 525.0: 0.88, 526.0: 0.867, 527.0: 0.854, 528.0: 0.84, 529.0: 0.826, 530.0: 0.811, 531.0: 0.796, 532.0: 0.781, 533.0: 0.765, 534.0: 0.749, 535.0: 0.733, 536.0: 0.717, 537.0: 0.7, 538.0: 0.683, 539.0: 0.667, 540.0: 0.65, 541.0: 0.633, 542.0: 0.616, 543.0: 0.599, 544.0: 0.581, 545.0: 0.564, 546.0: 0.548, 547.0: 0.531, 548.0: 0.514, 549.0: 0.497, 550.0: 0.481, 551.0: 0.465, 552.0: 0.448, 553.0: 0.433, 554.0: 0.417, 555.0: 0.402, 556.0: 0.3864, 557.0: 0.3715, 558.0: 0.3569, 559.0: 0.3427, 560.0: 0.3288, 561.0: 0.3151, 562.0: 0.3018, 563.0: 0.2888, 564.0: 0.2762, 565.0: 0.2639, 566.0: 0.2519, 567.0: 0.2403, 568.0: 0.2291, 569.0: 0.2182, 570.0: 0.2076, 571.0: 0.1974, 572.0: 0.1876, 573.0: 0.1782, 574.0: 0.169, 575.0: 0.1602, 576.0: 0.1517, 577.0: 0.1436, 578.0: 0.1358, 579.0: 0.1284, 580.0: 0.1212, 581.0: 0.1143, 582.0: 0.1078, 583.0: 0.1015, 584.0: 0.0956, 585.0: 0.0899, 586.0: 0.0845, 587.0: 0.0793, 588.0: 0.0745, 589.0: 0.0699, 590.0: 0.0655, 591.0: 0.0613, 592.0: 0.0574, 593.0: 0.0537, 594.0: 0.0502, 595.0: 0.0469, 596.0: 0.0438, 597.0: 0.0409, 598.0: 0.03816, 599.0: 0.03558, 600.0: 0.03315, 601.0: 0.03087, 602.0: 0.02874, 603.0: 0.02674, 604.0: 0.02487, 605.0: 0.02312, 606.0: 0.02147, 607.0: 0.01994, 608.0: 0.01851, 609.0: 0.01718, 610.0: 0.01593, 611.0: 0.01477, 612.0: 0.01369, 613.0: 0.01269, 614.0: 0.01175, 615.0: 0.01088, 616.0: 0.01007, 617.0: 0.00932, 618.0: 0.00862, 619.0: 0.00797, 620.0: 0.00737, 621.0: 0.00682, 622.0: 0.0063, 623.0: 0.00582, 624.0: 0.00538, 625.0: 0.00497, 626.0: 0.00459, 627.0: 0.00424, 628.0: 0.003913, 629.0: 0.003613, 630.0: 0.003335, 631.0: 0.003079, 632.0: 0.002842, 633.0: 0.002623, 634.0: 0.002421, 635.0: 0.002235, 636.0: 0.002062, 637.0: 0.001903, 638.0: 0.001757, 639.0: 0.001621, 640.0: 0.001497, 641.0: 0.001382, 642.0: 0.001276, 643.0: 0.001178, 644.0: 0.001088, 645.0: 0.001005, 646.0: 0.000928, 647.0: 0.000857, 648.0: 0.000792, 649.0: 0.000732, 650.0: 0.000677, 651.0: 0.000626, 652.0: 0.000579, 653.0: 0.000536, 654.0: 0.000496, 655.0: 0.000459, 656.0: 0.000425, 657.0: 0.0003935, 658.0: 0.0003645, 659.0: 0.0003377, 660.0: 0.0003129, 661.0: 0.0002901, 662.0: 0.0002689, 663.0: 0.0002493, 664.0: 0.0002313, 665.0: 0.0002146, 666.0: 0.0001991, 667.0: 0.0001848, 668.0: 0.0001716, 669.0: 0.0001593, 670.0: 0.000148, 671.0: 0.0001375, 672.0: 0.0001277, 673.0: 0.0001187, 674.0: 0.0001104, 675.0: 0.0001026, 676.0: 9.54e-05, 677.0: 8.88e-05, 678.0: 8.26e-05, 679.0: 7.69e-05, 680.0: 7.15e-05, 681.0: 6.66e-05, 682.0: 6.2e-05, 683.0: 5.78e-05, 684.0: 5.38e-05, 685.0: 5.01e-05, 686.0: 4.67e-05, 687.0: 4.36e-05, 688.0: 4.06e-05, 689.0: 3.789e-05, 690.0: 3.533e-05, 691.0: 3.295e-05, 692.0: 3.075e-05, 693.0: 2.87e-05, 694.0: 2.679e-05, 695.0: 2.501e-05, 696.0: 2.336e-05, 697.0: 2.182e-05, 698.0: 2.038e-05, 699.0: 1.905e-05, 700.0: 1.78e-05, 701.0: 1.664e-05, 702.0: 1.556e-05, 703.0: 1.454e-05, 704.0: 1.36e-05, 705.0: 1.273e-05, 706.0: 1.191e-05, 707.0: 1.114e-05, 708.0: 1.043e-05, 709.0: 9.76e-06, 710.0: 9.14e-06, 711.0: 8.56e-06, 712.0: 8.02e-06, 713.0: 7.51e-06, 714.0: 7.04e-06, 715.0: 6.6e-06, 716.0: 6.18e-06, 717.0: 5.8e-06, 718.0: 5.44e-06, 719.0: 5.1e-06, 720.0: 4.78e-06, 721.0: 4.49e-06, 722.0: 4.21e-06, 723.0: 3.951e-06, 724.0: 3.709e-06, 725.0: 3.482e-06, 726.0: 3.27e-06, 727.0: 3.07e-06, 728.0: 2.884e-06, 729.0: 2.71e-06, 730.0: 2.546e-06, 731.0: 2.393e-06, 732.0: 2.25e-06, 733.0: 2.115e-06, 734.0: 1.989e-06, 735.0: 1.87e-06, 736.0: 1.759e-06, 737.0: 1.655e-06, 738.0: 1.557e-06, 739.0: 1.466e-06, 740.0: 1.379e-06, 741.0: 1.299e-06, 742.0: 1.223e-06, 743.0: 1.151e-06, 744.0: 1.084e-06, 745.0: 1.022e-06, 746.0: 9.62e-07, 747.0: 9.07e-07, 748.0: 8.55e-07, 749.0: 8.06e-07, 750.0: 7.6e-07, 751.0: 7.16e-07, 752.0: 6.75e-07, 753.0: 6.37e-07, 754.0: 6.01e-07, 755.0: 5.67e-07, 756.0: 5.35e-07, 757.0: 5.05e-07, 758.0: 4.77e-07, 759.0: 4.5e-07, 760.0: 4.25e-07, 761.0: 4.01e-07, 762.0: 3.79e-07, 763.0: 3.58e-07, 764.0: 3.382e-07, 765.0: 3.196e-07, 766.0: 3.021e-07, 767.0: 2.855e-07, 768.0: 2.699e-07, 769.0: 2.552e-07, 770.0: 2.413e-07, 771.0: 2.282e-07, 772.0: 2.159e-07, 773.0: 2.042e-07, 774.0: 1.932e-07, 775.0: 1.829e-07, 776.0: 1.731e-07, 777.0: 1.638e-07, 778.0: 1.551e-07, 779.0: 1.468e-07, 780.0: 1.39e-07}))[source]

Returns the mesopic luminous efficiency function \(V_m(\lambda)\) for given photopic luminance \(L_p\).

Parameters:
  • Lp (numeric) – Photopic luminance \(L_p\).
  • source (unicode, optional) – {‘Blue Heavy’, ‘Red Heavy’}, Light source colour temperature.
  • method (unicode, optional) – {‘MOVE’, ‘LRC’}, Method to calculate the weighting factor.
  • photopic_lef (SpectralPowerDistribution, optional) – \(V(\lambda)\) photopic luminous efficiency function.
  • scotopic_lef (SpectralPowerDistribution, optional) – \(V^\prime(\lambda)\) scotopic luminous efficiency function.
Returns:

Mesopic luminous efficiency function \(V_m(\lambda)\).

Return type:

SpectralPowerDistribution

Examples

>>> print(mesopic_luminous_efficiency_function(0.2))
SpectralPowerDistribution('0.2 Lp Mesopic Luminous Efficiency Function', (380.0, 780.0, 1.0))
colour.mesopic_weighting_function(wavelength, Lp, source=u'Blue Heavy', method=u'MOVE', photopic_lef=SpectralPowerDistribution( 'CIE 1924 Photopic Standard Observer', {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.770578e-07, 820.0: 9.1093e-07, 821.0: 8.492513e-07, 822.0: 7.917212e-07, 823.0: 7.380904e-07, 824.0: 6.881098e-07, 825.0: 6.4153e-07, 826.0: 5.980895e-07, 827.0: 5.575746e-07, 828.0: 5.19808e-07, 829.0: 4.846123e-07, 830.0: 4.5181e-07}), scotopic_lef=SpectralPowerDistribution( 'CIE 1951 Scotopic Standard Observer', {380.0: 0.000589, 381.0: 0.000665, 382.0: 0.000752, 383.0: 0.000854, 384.0: 0.000972, 385.0: 0.001108, 386.0: 0.001268, 387.0: 0.001453, 388.0: 0.001668, 389.0: 0.001918, 390.0: 0.002209, 391.0: 0.002547, 392.0: 0.002939, 393.0: 0.003394, 394.0: 0.003921, 395.0: 0.00453, 396.0: 0.00524, 397.0: 0.00605, 398.0: 0.00698, 399.0: 0.00806, 400.0: 0.00929, 401.0: 0.0107, 402.0: 0.01231, 403.0: 0.01413, 404.0: 0.01619, 405.0: 0.01852, 406.0: 0.02113, 407.0: 0.02405, 408.0: 0.0273, 409.0: 0.03089, 410.0: 0.03484, 411.0: 0.03916, 412.0: 0.0439, 413.0: 0.049, 414.0: 0.0545, 415.0: 0.0604, 416.0: 0.0668, 417.0: 0.0736, 418.0: 0.0808, 419.0: 0.0885, 420.0: 0.0966, 421.0: 0.1052, 422.0: 0.1141, 423.0: 0.1235, 424.0: 0.1334, 425.0: 0.1436, 426.0: 0.1541, 427.0: 0.1651, 428.0: 0.1764, 429.0: 0.1879, 430.0: 0.1998, 431.0: 0.2119, 432.0: 0.2243, 433.0: 0.2369, 434.0: 0.2496, 435.0: 0.2625, 436.0: 0.2755, 437.0: 0.2886, 438.0: 0.3017, 439.0: 0.3149, 440.0: 0.3281, 441.0: 0.3412, 442.0: 0.3543, 443.0: 0.3673, 444.0: 0.3803, 445.0: 0.3931, 446.0: 0.406, 447.0: 0.418, 448.0: 0.431, 449.0: 0.443, 450.0: 0.455, 451.0: 0.467, 452.0: 0.479, 453.0: 0.49, 454.0: 0.502, 455.0: 0.513, 456.0: 0.524, 457.0: 0.535, 458.0: 0.546, 459.0: 0.557, 460.0: 0.567, 461.0: 0.578, 462.0: 0.588, 463.0: 0.599, 464.0: 0.61, 465.0: 0.62, 466.0: 0.631, 467.0: 0.642, 468.0: 0.653, 469.0: 0.664, 470.0: 0.676, 471.0: 0.687, 472.0: 0.699, 473.0: 0.71, 474.0: 0.722, 475.0: 0.734, 476.0: 0.745, 477.0: 0.757, 478.0: 0.769, 479.0: 0.781, 480.0: 0.793, 481.0: 0.805, 482.0: 0.817, 483.0: 0.828, 484.0: 0.84, 485.0: 0.851, 486.0: 0.862, 487.0: 0.873, 488.0: 0.884, 489.0: 0.894, 490.0: 0.904, 491.0: 0.914, 492.0: 0.923, 493.0: 0.932, 494.0: 0.941, 495.0: 0.949, 496.0: 0.957, 497.0: 0.964, 498.0: 0.97, 499.0: 0.976, 500.0: 0.982, 501.0: 0.986, 502.0: 0.99, 503.0: 0.994, 504.0: 0.997, 505.0: 0.998, 506.0: 1.0, 507.0: 1.0, 508.0: 1.0, 509.0: 0.998, 510.0: 0.997, 511.0: 0.994, 512.0: 0.99, 513.0: 0.986, 514.0: 0.981, 515.0: 0.975, 516.0: 0.968, 517.0: 0.961, 518.0: 0.953, 519.0: 0.944, 520.0: 0.935, 521.0: 0.925, 522.0: 0.915, 523.0: 0.904, 524.0: 0.892, 525.0: 0.88, 526.0: 0.867, 527.0: 0.854, 528.0: 0.84, 529.0: 0.826, 530.0: 0.811, 531.0: 0.796, 532.0: 0.781, 533.0: 0.765, 534.0: 0.749, 535.0: 0.733, 536.0: 0.717, 537.0: 0.7, 538.0: 0.683, 539.0: 0.667, 540.0: 0.65, 541.0: 0.633, 542.0: 0.616, 543.0: 0.599, 544.0: 0.581, 545.0: 0.564, 546.0: 0.548, 547.0: 0.531, 548.0: 0.514, 549.0: 0.497, 550.0: 0.481, 551.0: 0.465, 552.0: 0.448, 553.0: 0.433, 554.0: 0.417, 555.0: 0.402, 556.0: 0.3864, 557.0: 0.3715, 558.0: 0.3569, 559.0: 0.3427, 560.0: 0.3288, 561.0: 0.3151, 562.0: 0.3018, 563.0: 0.2888, 564.0: 0.2762, 565.0: 0.2639, 566.0: 0.2519, 567.0: 0.2403, 568.0: 0.2291, 569.0: 0.2182, 570.0: 0.2076, 571.0: 0.1974, 572.0: 0.1876, 573.0: 0.1782, 574.0: 0.169, 575.0: 0.1602, 576.0: 0.1517, 577.0: 0.1436, 578.0: 0.1358, 579.0: 0.1284, 580.0: 0.1212, 581.0: 0.1143, 582.0: 0.1078, 583.0: 0.1015, 584.0: 0.0956, 585.0: 0.0899, 586.0: 0.0845, 587.0: 0.0793, 588.0: 0.0745, 589.0: 0.0699, 590.0: 0.0655, 591.0: 0.0613, 592.0: 0.0574, 593.0: 0.0537, 594.0: 0.0502, 595.0: 0.0469, 596.0: 0.0438, 597.0: 0.0409, 598.0: 0.03816, 599.0: 0.03558, 600.0: 0.03315, 601.0: 0.03087, 602.0: 0.02874, 603.0: 0.02674, 604.0: 0.02487, 605.0: 0.02312, 606.0: 0.02147, 607.0: 0.01994, 608.0: 0.01851, 609.0: 0.01718, 610.0: 0.01593, 611.0: 0.01477, 612.0: 0.01369, 613.0: 0.01269, 614.0: 0.01175, 615.0: 0.01088, 616.0: 0.01007, 617.0: 0.00932, 618.0: 0.00862, 619.0: 0.00797, 620.0: 0.00737, 621.0: 0.00682, 622.0: 0.0063, 623.0: 0.00582, 624.0: 0.00538, 625.0: 0.00497, 626.0: 0.00459, 627.0: 0.00424, 628.0: 0.003913, 629.0: 0.003613, 630.0: 0.003335, 631.0: 0.003079, 632.0: 0.002842, 633.0: 0.002623, 634.0: 0.002421, 635.0: 0.002235, 636.0: 0.002062, 637.0: 0.001903, 638.0: 0.001757, 639.0: 0.001621, 640.0: 0.001497, 641.0: 0.001382, 642.0: 0.001276, 643.0: 0.001178, 644.0: 0.001088, 645.0: 0.001005, 646.0: 0.000928, 647.0: 0.000857, 648.0: 0.000792, 649.0: 0.000732, 650.0: 0.000677, 651.0: 0.000626, 652.0: 0.000579, 653.0: 0.000536, 654.0: 0.000496, 655.0: 0.000459, 656.0: 0.000425, 657.0: 0.0003935, 658.0: 0.0003645, 659.0: 0.0003377, 660.0: 0.0003129, 661.0: 0.0002901, 662.0: 0.0002689, 663.0: 0.0002493, 664.0: 0.0002313, 665.0: 0.0002146, 666.0: 0.0001991, 667.0: 0.0001848, 668.0: 0.0001716, 669.0: 0.0001593, 670.0: 0.000148, 671.0: 0.0001375, 672.0: 0.0001277, 673.0: 0.0001187, 674.0: 0.0001104, 675.0: 0.0001026, 676.0: 9.54e-05, 677.0: 8.88e-05, 678.0: 8.26e-05, 679.0: 7.69e-05, 680.0: 7.15e-05, 681.0: 6.66e-05, 682.0: 6.2e-05, 683.0: 5.78e-05, 684.0: 5.38e-05, 685.0: 5.01e-05, 686.0: 4.67e-05, 687.0: 4.36e-05, 688.0: 4.06e-05, 689.0: 3.789e-05, 690.0: 3.533e-05, 691.0: 3.295e-05, 692.0: 3.075e-05, 693.0: 2.87e-05, 694.0: 2.679e-05, 695.0: 2.501e-05, 696.0: 2.336e-05, 697.0: 2.182e-05, 698.0: 2.038e-05, 699.0: 1.905e-05, 700.0: 1.78e-05, 701.0: 1.664e-05, 702.0: 1.556e-05, 703.0: 1.454e-05, 704.0: 1.36e-05, 705.0: 1.273e-05, 706.0: 1.191e-05, 707.0: 1.114e-05, 708.0: 1.043e-05, 709.0: 9.76e-06, 710.0: 9.14e-06, 711.0: 8.56e-06, 712.0: 8.02e-06, 713.0: 7.51e-06, 714.0: 7.04e-06, 715.0: 6.6e-06, 716.0: 6.18e-06, 717.0: 5.8e-06, 718.0: 5.44e-06, 719.0: 5.1e-06, 720.0: 4.78e-06, 721.0: 4.49e-06, 722.0: 4.21e-06, 723.0: 3.951e-06, 724.0: 3.709e-06, 725.0: 3.482e-06, 726.0: 3.27e-06, 727.0: 3.07e-06, 728.0: 2.884e-06, 729.0: 2.71e-06, 730.0: 2.546e-06, 731.0: 2.393e-06, 732.0: 2.25e-06, 733.0: 2.115e-06, 734.0: 1.989e-06, 735.0: 1.87e-06, 736.0: 1.759e-06, 737.0: 1.655e-06, 738.0: 1.557e-06, 739.0: 1.466e-06, 740.0: 1.379e-06, 741.0: 1.299e-06, 742.0: 1.223e-06, 743.0: 1.151e-06, 744.0: 1.084e-06, 745.0: 1.022e-06, 746.0: 9.62e-07, 747.0: 9.07e-07, 748.0: 8.55e-07, 749.0: 8.06e-07, 750.0: 7.6e-07, 751.0: 7.16e-07, 752.0: 6.75e-07, 753.0: 6.37e-07, 754.0: 6.01e-07, 755.0: 5.67e-07, 756.0: 5.35e-07, 757.0: 5.05e-07, 758.0: 4.77e-07, 759.0: 4.5e-07, 760.0: 4.25e-07, 761.0: 4.01e-07, 762.0: 3.79e-07, 763.0: 3.58e-07, 764.0: 3.382e-07, 765.0: 3.196e-07, 766.0: 3.021e-07, 767.0: 2.855e-07, 768.0: 2.699e-07, 769.0: 2.552e-07, 770.0: 2.413e-07, 771.0: 2.282e-07, 772.0: 2.159e-07, 773.0: 2.042e-07, 774.0: 1.932e-07, 775.0: 1.829e-07, 776.0: 1.731e-07, 777.0: 1.638e-07, 778.0: 1.551e-07, 779.0: 1.468e-07, 780.0: 1.39e-07}))[source]

Calculates the mesopic weighting function factor at given wavelength \(\lambda\) using the photopic luminance \(L_p\).

Parameters:
  • wavelength (numeric or array_like) – Wavelength \(\lambda\) to calculate the mesopic weighting function factor.
  • Lp (numeric) – Photopic luminance \(L_p\).
  • source (unicode, optional) – {‘Blue Heavy’, ‘Red Heavy’}, Light source colour temperature.
  • method (unicode, optional) – {‘MOVE’, ‘LRC’}, Method to calculate the weighting factor.
  • photopic_lef (SpectralPowerDistribution, optional) – \(V(\lambda)\) photopic luminous efficiency function.
  • scotopic_lef (SpectralPowerDistribution, optional) – \(V^\prime(\lambda)\) scotopic luminous efficiency function.
Returns:

Mesopic weighting function factor.

Return type:

numeric or ndarray

Examples

>>> mesopic_weighting_function(500, 0.2)  
0.7052200...
colour.lightness(Y, method=u'CIE 1976', **kwargs)[source]

Returns the Lightness \(L\) using given method.

Parameters:
  • Y (numeric or array_like) – luminance \(Y\).
  • method (unicode, optional) – {‘CIE 1976’, ‘Glasser 1958’, ‘Wyszecki 1963’, ‘Fairchild 2010’}, Computation method.
Other Parameters:
 
Returns:

Lightness \(L\).

Return type:

numeric or array_like

Notes

  • Input luminance \(Y\) and optional \(Y_n\) are in domain [0, 100] or [0, \(\infty\)].
  • Output Lightness \(L\) is in range [0, 100].

Examples

>>> lightness(10.08)  
array(37.9856290...)
>>> lightness(10.08, Y_n=100)  
array(37.9856290...)
>>> lightness(10.08, Y_n=95)  
array(38.9165987...)
>>> lightness(10.08, method='Glasser 1958')  
36.2505626...
>>> lightness(10.08, method='Wyszecki 1963')  
37.0041149...
>>> lightness(
...     10.08 / 100,
...     epsilon=1.836,
...     method='Fairchild 2010')  
24.9022902...
colour.lightness_Glasser1958(Y)[source]

Returns the Lightness \(L\) of given luminance \(Y\) using Glasser et al. (1958) method.

Parameters:Y (numeric or array_like) – luminance \(Y\).
Returns:Lightness \(L\).
Return type:numeric or array_like

Notes

  • Input luminance \(Y\) is in domain [0, 100].
  • Output Lightness \(L\) is in range [0, 100].

References

[2]Glasser, L. G., McKinney, A. H., Reilly, C. D., & Schnelle, P. D. (1958). Cube-Root Color Coordinate System. J. Opt. Soc. Am., 48(10), 736–740. doi:10.1364/JOSA.48.000736

Examples

>>> lightness_Glasser1958(10.08)  
36.2505626...
colour.lightness_Wyszecki1963(Y)[source]

Returns the Lightness \(W\) of given luminance \(Y\) using Wyszecki (1963) method.

Parameters:Y (numeric or array_like) – luminance \(Y\).
Returns:Lightness \(W\).
Return type:numeric or array_like

Notes

  • Input luminance \(Y\) is in domain [0, 100].
  • Output Lightness \(W\) is in range [0, 100].

References

[3]Wyszecki, G. (1963). Proposal for a New Color-Difference Formula. J. Opt. Soc. Am., 53(11), 1318–1319. doi:10.1364/JOSA.53.001318

Examples

>>> lightness_Wyszecki1963(10.08)  
37.0041149...
colour.lightness_CIE1976(Y, Y_n=100)[source]

Returns the Lightness \(L^*\) of given luminance \(Y\) using given reference white luminance \(Y_n\) as per CIE 1976 recommendation.

Parameters:
  • Y (numeric or array_like) – luminance \(Y\).
  • Y_n (numeric or array_like, optional) – White reference luminance \(Y_n\).
Returns:

Lightness \(L^*\).

Return type:

numeric or array_like

Notes

  • Input luminance \(Y\) and \(Y_n\) are in domain [0, 100].
  • Output Lightness \(L^*\) is in range [0, 100].

References

[4]Wyszecki, G., & Stiles, W. S. (2000). CIE 1976 (L*u*v*)-Space and Color-Difference Formula. In Color Science: Concepts and Methods, Quantitative Data and Formulae (p. 167). Wiley. ISBN:978-0471399186
[5]Lindbloom, B. (2003). A Continuity Study of the CIE L* Function. Retrieved February 24, 2014, from http://brucelindbloom.com/LContinuity.html

Examples

>>> lightness_CIE1976(10.08)  
array(37.9856290...)
colour.lightness_Fairchild2010(Y, epsilon=2)[source]

Computes Lightness \(L_{hdr}\) of given luminance \(Y\) using Fairchild and Wyble (2010) method accordingly to Michealis-Menten kinetics.

Parameters:
  • Y (array_like) – luminance \(Y\).
  • epsilon (numeric or array_like, optional) – \(\epsilon\) exponent.
Returns:

Lightness \(L_{hdr}\).

Return type:

array_like

Warning

The input domain of that definition is non standard!

Notes

  • Input luminance \(Y\) is in domain [0, \(\infty\)].

References

[6]Fairchild, M. D., & Wyble, D. R. (2010). hdr-CIELAB and hdr-IPT: Simple Models for Describing the Color of High-Dynamic-Range and Wide-Color-Gamut Images. In Proc. of Color and Imaging Conference (pp. 322–326). ISBN:9781629932156

Examples

>>> lightness_Fairchild2010(10.08 / 100, 1.836)  
24.9022902...
colour.luminance(LV, method=u'CIE 1976', **kwargs)[source]

Returns the luminance \(Y\) of given Lightness \(L^*\) or given Munsell value \(V\).

Parameters:
  • LV (numeric or array_like) – Lightness \(L^*\) or Munsell value \(V\).
  • method (unicode, optional) – {‘CIE 1976’, ‘Newhall 1943’, ‘ASTM D1535-08’, ‘Fairchild 2010’}, Computation method.
Other Parameters:
 
Returns:

luminance \(Y\).

Return type:

numeric or array_like

Notes

  • Input LV is in domain [0, 100], [0, 10] or [0, 1] and optional luminance \(Y_n\) is in domain [0, 100].
  • Output luminance \(Y\) is in range [0, 100] or [0, math:infty].

Examples

>>> luminance(37.98562910)  
array(10.0800000...)
>>> luminance(37.98562910, Y_n=100)  
array(10.0800000...)
>>> luminance(37.98562910, Y_n=95)  
array(9.5760000...)
>>> luminance(3.74629715, method='Newhall 1943')  
10.4089874...
>>> luminance(3.74629715, method='ASTM D1535-08')  
10.1488096...
>>> luminance(
...     24.902290269546651,
...     epsilon=1.836,
...     method='Fairchild 2010')  
0.1007999...
colour.luminance_Newhall1943(V)[source]

Returns the luminance \(R_Y\) of given Munsell value \(V\) using Newhall et al. (1943) method.

Parameters:V (numeric or array_like) – Munsell value \(V\).
Returns:luminance \(R_Y\).
Return type:numeric or array_like

Notes

  • Input Munsell value \(V\) is in domain [0, 10].
  • Output luminance \(R_Y\) is in range [0, 100].

References

[1]Newhall, S. M., Nickerson, D., & Judd, D. B. (1943). Final report of the OSA subcommittee on the spacing of the munsell colors. JOSA, 33(7), 385. doi:10.1364/JOSA.33.000385

Examples

>>> luminance_Newhall1943(3.74629715382)  
10.4089874...
colour.luminance_ASTMD153508(V)[source]

Returns the luminance \(Y\) of given Munsell value \(V\) using ASTM D1535-08e1 method.

Parameters:V (numeric or array_like) – Munsell value \(V\).
Returns:luminance \(Y\).
Return type:numeric or array_like

Notes

  • Input Munsell value \(V\) is in domain [0, 10].
  • Output luminance \(Y\) is in range [0, 100].

References

[4]ASTM International. (n.d.). ASTM D1535-08e1 Standard Practice for Specifying Color by the Munsell System. doi:10.1520/D1535-08E01

Examples

>>> luminance_ASTMD153508(3.74629715382)  
10.1488096...
colour.luminance_CIE1976(Lstar, Y_n=100)[source]

Returns the luminance \(Y\) of given Lightness \(L^*\) with given reference white luminance \(Y_n\).

Parameters:
  • Lstar (numeric or array_like) – Lightness \(L^*\)
  • Y_n (numeric or array_like) – White reference luminance \(Y_n\).
Returns:

luminance \(Y\).

Return type:

numeric or array_like

Notes

  • Input Lightness \(L^*\) and reference white luminance \(Y_n\) are in domain [0, 100].
  • Output luminance \(Y\) is in range [0, 100].

References

[2]Wyszecki, G., & Stiles, W. S. (2000). CIE 1976 (L*u*v*)-Space and Color-Difference Formula. In Color Science: Concepts and Methods, Quantitative Data and Formulae (p. 167). Wiley. ISBN:978-0471399186
[3]Lindbloom, B. (2003). A Continuity Study of the CIE L* Function. Retrieved February 24, 2014, from http://brucelindbloom.com/LContinuity.html

Examples

>>> luminance_CIE1976(37.98562910)  
array(10.0800000...)
>>> luminance_CIE1976(37.98562910, 95)  
array(9.5760000...)
colour.luminance_Fairchild2010(L_hdr, epsilon=2)[source]

Computes luminance \(Y\) of given Lightness \(L_{hdr}\) using Fairchild and Wyble (2010) method accordingly to Michealis-Menten kinetics.

Parameters:
  • L_hdr (array_like) – Lightness \(L_{hdr}\).
  • epsilon (numeric or array_like, optional) – \(\epsilon\) exponent.
Returns:

luminance \(Y\).

Return type:

array_like

Warning

The output range of that definition is non standard!

Notes

  • Output luminance \(Y\) is in range [0, math:infty].

References

[4]Fairchild, M. D., & Wyble, D. R. (2010). hdr-CIELAB and hdr-IPT: Simple Models for Describing the Color of High-Dynamic-Range and Wide-Color-Gamut Images. In Proc. of Color and Imaging Conference (pp. 322–326). ISBN:9781629932156

Examples

>>> luminance_Fairchild2010(
...     24.902290269546651, 1.836)  
0.1007999...
colour.dominant_wavelength(xy, xy_n, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'), reverse=False)[source]

Returns the dominant wavelength \(\lambda_d\) for given colour stimulus \(xy\) and the related \(xy_wl\) first and \(xy_{cw}\) second intersection coordinates with the spectral locus.

In the eventuality where the \(xy_wl\) first intersection coordinates are on the line of purples, the complementary wavelength will be computed in lieu.

The complementary wavelength is indicated by a negative sign and the \(xy_{cw}\) second intersection coordinates which are set by default to the same value than \(xy_wl\) first intersection coordinates will be set to the complementary dominant wavelength intersection coordinates with the spectral locus.

Parameters:
  • xy (array_like) – Colour stimulus xy chromaticity coordinates.
  • xy_n (array_like) – Achromatic stimulus xy chromaticity coordinates.
  • cmfs (XYZ_ColourMatchingFunctions, optional) – Standard observer colour matching functions.
  • reverse (bool, optional) – Reverse the computation direction to retrieve the complementary wavelength.
Returns:

Dominant wavelength, first intersection point xy chromaticity coordinates, second intersection point xy chromaticity coordinates.

Return type:

tuple

Examples

Dominant wavelength computation:

>>> from pprint import pprint
>>> xy = np.array([0.26415, 0.37770])
>>> xy_n = np.array([0.31270, 0.32900])
>>> cmfs = CMFS['CIE 1931 2 Degree Standard Observer']
>>> pprint(dominant_wavelength(xy, xy_n, cmfs))  
(array(504...),
 array([ 0.0036969...,  0.6389577...]),
 array([ 0.0036969...,  0.6389577...]))

Complementary dominant wavelength is returned if the first intersection is located on the line of purples:

>>> xy = np.array([0.35000, 0.25000])
>>> pprint(dominant_wavelength(xy, xy_n, cmfs))  
(array(-520...),
 array([ 0.4133314...,  0.1158663...]),
 array([ 0.0743553...,  0.8338050...]))
colour.complementary_wavelength(xy, xy_n, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'))[source]

Returns the complementary wavelength \(\lambda_c\) for given colour stimulus \(xy\) and the related \(xy_wl\) first and \(xy_{cw}\) second intersection coordinates with the spectral locus.

In the eventuality where the \(xy_wl\) first intersection coordinates are on the line of purples, the dominant wavelength will be computed in lieu.

The dominant wavelength is indicated by a negative sign and the \(xy_{cw}\) second intersection coordinates which are set by default to the same value than \(xy_wl\) first intersection coordinates will be set to the dominant wavelength intersection coordinates with the spectral locus.

Parameters:
  • xy (array_like) – Colour stimulus xy chromaticity coordinates.
  • xy_n (array_like) – Achromatic stimulus xy chromaticity coordinates.
  • cmfs (XYZ_ColourMatchingFunctions, optional) – Standard observer colour matching functions.
Returns:

Complementary wavelength, first intersection point xy chromaticity coordinates, second intersection point xy chromaticity coordinates.

Return type:

tuple

Examples

Complementary wavelength computation:

>>> from pprint import pprint
>>> xy = np.array([0.35000, 0.25000])
>>> xy_n = np.array([0.31270, 0.32900])
>>> cmfs = CMFS['CIE 1931 2 Degree Standard Observer']
>>> pprint(complementary_wavelength(xy, xy_n, cmfs))  
(array(520...),
 array([ 0.0743553...,  0.8338050...]),
 array([ 0.0743553...,  0.8338050...]))

Dominant wavelength is returned if the first intersection is located on the line of purples:

>>> xy = np.array([0.26415, 0.37770])
>>> pprint(complementary_wavelength(xy, xy_n, cmfs))  
(array(-504...),
 array([ 0.4897494...,  0.1514035...]),
 array([ 0.0036969...,  0.6389577...]))
colour.excitation_purity(xy, xy_n, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'))[source]

Returns the excitation purity \(P_e\) for given colour stimulus \(xy\).

Parameters:
  • xy (array_like) – Colour stimulus xy chromaticity coordinates.
  • xy_n (array_like) – Achromatic stimulus xy chromaticity coordinates.
  • cmfs (XYZ_ColourMatchingFunctions, optional) – Standard observer colour matching functions.
Returns:

Excitation purity \(P_e\).

Return type:

numeric or array_like

Examples

>>> xy = np.array([0.28350, 0.68700])
>>> xy_n = np.array([0.31270, 0.32900])
>>> cmfs = CMFS['CIE 1931 2 Degree Standard Observer']
>>> excitation_purity(xy, xy_n, cmfs)  
0.9386035...
colour.colorimetric_purity(xy, xy_n, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'))[source]

Returns the colorimetric purity \(P_c\) for given colour stimulus \(xy\).

Parameters:
  • xy (array_like) – Colour stimulus xy chromaticity coordinates.
  • xy_n (array_like) – Achromatic stimulus xy chromaticity coordinates.
  • cmfs (XYZ_ColourMatchingFunctions, optional) – Standard observer colour matching functions.
Returns:

Colorimetric purity \(P_c\).

Return type:

numeric or array_like

Examples

>>> xy = np.array([0.28350, 0.68700])
>>> xy_n = np.array([0.31270, 0.32900])
>>> cmfs = CMFS['CIE 1931 2 Degree Standard Observer']
>>> colorimetric_purity(xy, xy_n, cmfs)  
0.9705976...
colour.luminous_flux(spd, lef=SpectralPowerDistribution( 'CIE 1924 Photopic Standard Observer', {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.770578e-07, 820.0: 9.1093e-07, 821.0: 8.492513e-07, 822.0: 7.917212e-07, 823.0: 7.380904e-07, 824.0: 6.881098e-07, 825.0: 6.4153e-07, 826.0: 5.980895e-07, 827.0: 5.575746e-07, 828.0: 5.19808e-07, 829.0: 4.846123e-07, 830.0: 4.5181e-07}), K_m=683)[source]

Returns the luminous flux for given spectral power distribution using given luminous efficiency function.

Parameters:
Returns:

Luminous flux.

Return type:

numeric

Examples

>>> from colour import LIGHT_SOURCES_RELATIVE_SPDS
>>> spd = LIGHT_SOURCES_RELATIVE_SPDS['Neodimium Incandescent']
>>> luminous_flux(spd)  
23807.6555273...
colour.luminous_efficiency(spd, lef=SpectralPowerDistribution( 'CIE 1924 Photopic Standard Observer', {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.770578e-07, 820.0: 9.1093e-07, 821.0: 8.492513e-07, 822.0: 7.917212e-07, 823.0: 7.380904e-07, 824.0: 6.881098e-07, 825.0: 6.4153e-07, 826.0: 5.980895e-07, 827.0: 5.575746e-07, 828.0: 5.19808e-07, 829.0: 4.846123e-07, 830.0: 4.5181e-07}))[source]

Returns the luminous efficiency of given spectral power distribution using given luminous efficiency function.

Parameters:
Returns:

Luminous efficiency.

Return type:

numeric

Examples

>>> from colour import LIGHT_SOURCES_RELATIVE_SPDS
>>> spd = LIGHT_SOURCES_RELATIVE_SPDS['Neodimium Incandescent']
>>> luminous_efficiency(spd)  
0.1994393...
colour.luminous_efficacy(spd, lef=SpectralPowerDistribution( 'CIE 1924 Photopic Standard Observer', {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.770578e-07, 820.0: 9.1093e-07, 821.0: 8.492513e-07, 822.0: 7.917212e-07, 823.0: 7.380904e-07, 824.0: 6.881098e-07, 825.0: 6.4153e-07, 826.0: 5.980895e-07, 827.0: 5.575746e-07, 828.0: 5.19808e-07, 829.0: 4.846123e-07, 830.0: 4.5181e-07}))[source]

Returns the luminous efficacy in \(lm\cdot W^{-1}\) of given spectral power distribution using given luminous efficiency function.

Parameters:
Returns:

Luminous efficacy in \(lm\cdot W^{-1}\).

Return type:

numeric

Examples

>>> from colour import LIGHT_SOURCES_RELATIVE_SPDS
>>> spd = LIGHT_SOURCES_RELATIVE_SPDS['Neodimium Incandescent']
>>> luminous_efficacy(spd)  
136.2170803...
colour.RGB_10_degree_cmfs_to_LMS_10_degree_cmfs(wavelength)[source]

Converts Stiles & Burch 1959 10 Degree RGB CMFs colour matching functions into the Stockman & Sharpe 10 Degree Cone Fundamentals spectral sensitivity functions.

Parameters:wavelength (numeric or array_like) – Wavelength \(\lambda\) in nm.
Returns:Stockman & Sharpe 10 Degree Cone Fundamentals spectral tristimulus values.
Return type:ndarray

Notes

  • Data for the Stockman & Sharpe 10 Degree Cone Fundamentals already exists, this definition is intended for educational purpose.

References

[3]CIE TC 1-36. (2006). CIE 170-1:2006 Fundamental Chromaticity Diagram with Physiological Axes - Part 1 (pp. 1–56). ISBN:978-3-901-90646-6

Examples

>>> RGB_10_degree_cmfs_to_LMS_10_degree_cmfs(700)  
array([ 0.0052860...,  0.0003252...,  0.        ])
colour.RGB_2_degree_cmfs_to_XYZ_2_degree_cmfs(wavelength)[source]

Converts Wright & Guild 1931 2 Degree RGB CMFs colour matching functions into the CIE 1931 2 Degree Standard Observer colour matching functions.

Parameters:wavelength (numeric or array_like) – Wavelength \(\lambda\) in nm.
Returns:CIE 1931 2 Degree Standard Observer spectral tristimulus values.
Return type:ndarray

Notes

  • Data for the CIE 1931 2 Degree Standard Observer already exists, this definition is intended for educational purpose.

References

[1]Wyszecki, G., & Stiles, W. S. (2000). Table 1(3.3.3). In Color Science: Concepts and Methods, Quantitative Data and Formulae (pp. 138–139). Wiley. ISBN:978-0471399186

Examples

>>> RGB_2_degree_cmfs_to_XYZ_2_degree_cmfs(700)  
array([ 0.0113577...,  0.004102  ,  0.        ])
colour.RGB_10_degree_cmfs_to_XYZ_10_degree_cmfs(wavelength)[source]

Converts Stiles & Burch 1959 10 Degree RGB CMFs colour matching functions into the CIE 1964 10 Degree Standard Observer colour matching functions.

Parameters:wavelength (numeric or array_like) – Wavelength \(\lambda\) in nm.
Returns:CIE 1964 10 Degree Standard Observer spectral tristimulus values.
Return type:ndarray

Notes

  • Data for the CIE 1964 10 Degree Standard Observer already exists, this definition is intended for educational purpose.

References

[2]Wyszecki, G., & Stiles, W. S. (2000). The CIE 1964 Standard Observer. In Color Science: Concepts and Methods, Quantitative Data and Formulae (p. 141). Wiley. ISBN:978-0471399186

Examples

>>> RGB_10_degree_cmfs_to_XYZ_10_degree_cmfs(700)  
array([  9.6432150...e-03,   3.7526317...e-03,  -4.1078830...e-06])
colour.LMS_2_degree_cmfs_to_XYZ_2_degree_cmfs(wavelength)[source]

Converts Stockman & Sharpe 2 Degree Cone Fundamentals colour matching functions into the CIE 2012 2 Degree Standard Observer colour matching functions.

Parameters:wavelength (numeric or array_like) – Wavelength \(\lambda\) in nm.
Returns:CIE 2012 2 Degree Standard Observer spectral tristimulus values.
Return type:ndarray

Notes

  • Data for the CIE 2012 2 Degree Standard Observer already exists, this definition is intended for educational purpose.

References

[4]CVRL. (n.d.). CIE (2012) 2-deg XYZ “physiologically-relevant” colour matching functions. Retrieved June 25, 2014, from http://www.cvrl.org/database/text/cienewxyz/cie2012xyz2.htm

Examples

>>> LMS_2_degree_cmfs_to_XYZ_2_degree_cmfs(700)  
array([ 0.0109677...,  0.0041959...,  0.        ])
colour.LMS_10_degree_cmfs_to_XYZ_10_degree_cmfs(wavelength)[source]

Converts Stockman & Sharpe 10 Degree Cone Fundamentals colour matching functions into the CIE 2012 10 Degree Standard Observer colour matching functions.

Parameters:wavelength (numeric or array_like) – Wavelength \(\lambda\) in nm.
Returns:CIE 2012 10 Degree Standard Observer spectral tristimulus values.
Return type:ndarray

Notes

  • Data for the CIE 2012 10 Degree Standard Observer already exists, this definition is intended for educational purpose.

References

[5]CVRL. (n.d.). CIE (2012) 10-deg XYZ “physiologically-relevant” colour matching functions. Retrieved June 25, 2014, from http://www.cvrl.org/database/text/cienewxyz/cie2012xyz10.htm

Examples

>>> LMS_10_degree_cmfs_to_XYZ_10_degree_cmfs(700)  
array([ 0.0098162...,  0.0037761...,  0.        ])
colour.spectral_to_XYZ(spd, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'), illuminant=SpectralPowerDistribution( '1 Constant', {360.0: 1.0, 361.0: 1.0, 362.0: 1.0, 363.0: 1.0, 364.0: 1.0, 365.0: 1.0, 366.0: 1.0, 367.0: 1.0, 368.0: 1.0, 369.0: 1.0, 370.0: 1.0, 371.0: 1.0, 372.0: 1.0, 373.0: 1.0, 374.0: 1.0, 375.0: 1.0, 376.0: 1.0, 377.0: 1.0, 378.0: 1.0, 379.0: 1.0, 380.0: 1.0, 381.0: 1.0, 382.0: 1.0, 383.0: 1.0, 384.0: 1.0, 385.0: 1.0, 386.0: 1.0, 387.0: 1.0, 388.0: 1.0, 389.0: 1.0, 390.0: 1.0, 391.0: 1.0, 392.0: 1.0, 393.0: 1.0, 394.0: 1.0, 395.0: 1.0, 396.0: 1.0, 397.0: 1.0, 398.0: 1.0, 399.0: 1.0, 400.0: 1.0, 401.0: 1.0, 402.0: 1.0, 403.0: 1.0, 404.0: 1.0, 405.0: 1.0, 406.0: 1.0, 407.0: 1.0, 408.0: 1.0, 409.0: 1.0, 410.0: 1.0, 411.0: 1.0, 412.0: 1.0, 413.0: 1.0, 414.0: 1.0, 415.0: 1.0, 416.0: 1.0, 417.0: 1.0, 418.0: 1.0, 419.0: 1.0, 420.0: 1.0, 421.0: 1.0, 422.0: 1.0, 423.0: 1.0, 424.0: 1.0, 425.0: 1.0, 426.0: 1.0, 427.0: 1.0, 428.0: 1.0, 429.0: 1.0, 430.0: 1.0, 431.0: 1.0, 432.0: 1.0, 433.0: 1.0, 434.0: 1.0, 435.0: 1.0, 436.0: 1.0, 437.0: 1.0, 438.0: 1.0, 439.0: 1.0, 440.0: 1.0, 441.0: 1.0, 442.0: 1.0, 443.0: 1.0, 444.0: 1.0, 445.0: 1.0, 446.0: 1.0, 447.0: 1.0, 448.0: 1.0, 449.0: 1.0, 450.0: 1.0, 451.0: 1.0, 452.0: 1.0, 453.0: 1.0, 454.0: 1.0, 455.0: 1.0, 456.0: 1.0, 457.0: 1.0, 458.0: 1.0, 459.0: 1.0, 460.0: 1.0, 461.0: 1.0, 462.0: 1.0, 463.0: 1.0, 464.0: 1.0, 465.0: 1.0, 466.0: 1.0, 467.0: 1.0, 468.0: 1.0, 469.0: 1.0, 470.0: 1.0, 471.0: 1.0, 472.0: 1.0, 473.0: 1.0, 474.0: 1.0, 475.0: 1.0, 476.0: 1.0, 477.0: 1.0, 478.0: 1.0, 479.0: 1.0, 480.0: 1.0, 481.0: 1.0, 482.0: 1.0, 483.0: 1.0, 484.0: 1.0, 485.0: 1.0, 486.0: 1.0, 487.0: 1.0, 488.0: 1.0, 489.0: 1.0, 490.0: 1.0, 491.0: 1.0, 492.0: 1.0, 493.0: 1.0, 494.0: 1.0, 495.0: 1.0, 496.0: 1.0, 497.0: 1.0, 498.0: 1.0, 499.0: 1.0, 500.0: 1.0, 501.0: 1.0, 502.0: 1.0, 503.0: 1.0, 504.0: 1.0, 505.0: 1.0, 506.0: 1.0, 507.0: 1.0, 508.0: 1.0, 509.0: 1.0, 510.0: 1.0, 511.0: 1.0, 512.0: 1.0, 513.0: 1.0, 514.0: 1.0, 515.0: 1.0, 516.0: 1.0, 517.0: 1.0, 518.0: 1.0, 519.0: 1.0, 520.0: 1.0, 521.0: 1.0, 522.0: 1.0, 523.0: 1.0, 524.0: 1.0, 525.0: 1.0, 526.0: 1.0, 527.0: 1.0, 528.0: 1.0, 529.0: 1.0, 530.0: 1.0, 531.0: 1.0, 532.0: 1.0, 533.0: 1.0, 534.0: 1.0, 535.0: 1.0, 536.0: 1.0, 537.0: 1.0, 538.0: 1.0, 539.0: 1.0, 540.0: 1.0, 541.0: 1.0, 542.0: 1.0, 543.0: 1.0, 544.0: 1.0, 545.0: 1.0, 546.0: 1.0, 547.0: 1.0, 548.0: 1.0, 549.0: 1.0, 550.0: 1.0, 551.0: 1.0, 552.0: 1.0, 553.0: 1.0, 554.0: 1.0, 555.0: 1.0, 556.0: 1.0, 557.0: 1.0, 558.0: 1.0, 559.0: 1.0, 560.0: 1.0, 561.0: 1.0, 562.0: 1.0, 563.0: 1.0, 564.0: 1.0, 565.0: 1.0, 566.0: 1.0, 567.0: 1.0, 568.0: 1.0, 569.0: 1.0, 570.0: 1.0, 571.0: 1.0, 572.0: 1.0, 573.0: 1.0, 574.0: 1.0, 575.0: 1.0, 576.0: 1.0, 577.0: 1.0, 578.0: 1.0, 579.0: 1.0, 580.0: 1.0, 581.0: 1.0, 582.0: 1.0, 583.0: 1.0, 584.0: 1.0, 585.0: 1.0, 586.0: 1.0, 587.0: 1.0, 588.0: 1.0, 589.0: 1.0, 590.0: 1.0, 591.0: 1.0, 592.0: 1.0, 593.0: 1.0, 594.0: 1.0, 595.0: 1.0, 596.0: 1.0, 597.0: 1.0, 598.0: 1.0, 599.0: 1.0, 600.0: 1.0, 601.0: 1.0, 602.0: 1.0, 603.0: 1.0, 604.0: 1.0, 605.0: 1.0, 606.0: 1.0, 607.0: 1.0, 608.0: 1.0, 609.0: 1.0, 610.0: 1.0, 611.0: 1.0, 612.0: 1.0, 613.0: 1.0, 614.0: 1.0, 615.0: 1.0, 616.0: 1.0, 617.0: 1.0, 618.0: 1.0, 619.0: 1.0, 620.0: 1.0, 621.0: 1.0, 622.0: 1.0, 623.0: 1.0, 624.0: 1.0, 625.0: 1.0, 626.0: 1.0, 627.0: 1.0, 628.0: 1.0, 629.0: 1.0, 630.0: 1.0, 631.0: 1.0, 632.0: 1.0, 633.0: 1.0, 634.0: 1.0, 635.0: 1.0, 636.0: 1.0, 637.0: 1.0, 638.0: 1.0, 639.0: 1.0, 640.0: 1.0, 641.0: 1.0, 642.0: 1.0, 643.0: 1.0, 644.0: 1.0, 645.0: 1.0, 646.0: 1.0, 647.0: 1.0, 648.0: 1.0, 649.0: 1.0, 650.0: 1.0, 651.0: 1.0, 652.0: 1.0, 653.0: 1.0, 654.0: 1.0, 655.0: 1.0, 656.0: 1.0, 657.0: 1.0, 658.0: 1.0, 659.0: 1.0, 660.0: 1.0, 661.0: 1.0, 662.0: 1.0, 663.0: 1.0, 664.0: 1.0, 665.0: 1.0, 666.0: 1.0, 667.0: 1.0, 668.0: 1.0, 669.0: 1.0, 670.0: 1.0, 671.0: 1.0, 672.0: 1.0, 673.0: 1.0, 674.0: 1.0, 675.0: 1.0, 676.0: 1.0, 677.0: 1.0, 678.0: 1.0, 679.0: 1.0, 680.0: 1.0, 681.0: 1.0, 682.0: 1.0, 683.0: 1.0, 684.0: 1.0, 685.0: 1.0, 686.0: 1.0, 687.0: 1.0, 688.0: 1.0, 689.0: 1.0, 690.0: 1.0, 691.0: 1.0, 692.0: 1.0, 693.0: 1.0, 694.0: 1.0, 695.0: 1.0, 696.0: 1.0, 697.0: 1.0, 698.0: 1.0, 699.0: 1.0, 700.0: 1.0, 701.0: 1.0, 702.0: 1.0, 703.0: 1.0, 704.0: 1.0, 705.0: 1.0, 706.0: 1.0, 707.0: 1.0, 708.0: 1.0, 709.0: 1.0, 710.0: 1.0, 711.0: 1.0, 712.0: 1.0, 713.0: 1.0, 714.0: 1.0, 715.0: 1.0, 716.0: 1.0, 717.0: 1.0, 718.0: 1.0, 719.0: 1.0, 720.0: 1.0, 721.0: 1.0, 722.0: 1.0, 723.0: 1.0, 724.0: 1.0, 725.0: 1.0, 726.0: 1.0, 727.0: 1.0, 728.0: 1.0, 729.0: 1.0, 730.0: 1.0, 731.0: 1.0, 732.0: 1.0, 733.0: 1.0, 734.0: 1.0, 735.0: 1.0, 736.0: 1.0, 737.0: 1.0, 738.0: 1.0, 739.0: 1.0, 740.0: 1.0, 741.0: 1.0, 742.0: 1.0, 743.0: 1.0, 744.0: 1.0, 745.0: 1.0, 746.0: 1.0, 747.0: 1.0, 748.0: 1.0, 749.0: 1.0, 750.0: 1.0, 751.0: 1.0, 752.0: 1.0, 753.0: 1.0, 754.0: 1.0, 755.0: 1.0, 756.0: 1.0, 757.0: 1.0, 758.0: 1.0, 759.0: 1.0, 760.0: 1.0, 761.0: 1.0, 762.0: 1.0, 763.0: 1.0, 764.0: 1.0, 765.0: 1.0, 766.0: 1.0, 767.0: 1.0, 768.0: 1.0, 769.0: 1.0, 770.0: 1.0, 771.0: 1.0, 772.0: 1.0, 773.0: 1.0, 774.0: 1.0, 775.0: 1.0, 776.0: 1.0, 777.0: 1.0, 778.0: 1.0, 779.0: 1.0, 780.0: 1.0}), method=u'ASTM E308-15', **kwargs)[source]

Converts given spectral power distribution to CIE XYZ tristimulus values using given colour matching functions, illuminant and method.

Parameters:
Other Parameters:
 
  • use_practice_range (bool, optional) – {spectral_to_XYZ_ASTME30815()}, Practise ASTM E308-15 working wavelengths range is [360, 780], if True this argument will trim the colour matching functions appropriately.
  • mi_5nm_omission_method (bool, optional) – {spectral_to_XYZ_ASTME30815()}, 5 nm measurement intervals spectral power distribution conversion to tristimulus values will use a 5 nm version of the colour matching functions instead of a table of tristimulus weighting factors.
  • mi_20nm_interpolation_method (bool, optional) – {spectral_to_XYZ_ASTME30815()}, 20 nm measurement intervals spectral power distribution conversion to tristimulus values will use a dedicated interpolation method instead of a table of tristimulus weighting factors.
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray, (3,)

Warning

The output range of that definition is non standard!

Notes

  • Output CIE XYZ tristimulus values are in range [0, 100].

Examples

>>> from colour import (
...     CMFS, ILLUMINANTS_RELATIVE_SPDS, SpectralPowerDistribution)
>>> cmfs = CMFS['CIE 1931 2 Degree Standard Observer']
>>> data = {
...     400: 0.0641,
...     420: 0.0645,
...     440: 0.0562,
...     460: 0.0537,
...     480: 0.0559,
...     500: 0.0651,
...     520: 0.0705,
...     540: 0.0772,
...     560: 0.0870,
...     580: 0.1128,
...     600: 0.1360,
...     620: 0.1511,
...     640: 0.1688,
...     660: 0.1996,
...     680: 0.2397,
...     700: 0.2852}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> illuminant = ILLUMINANTS_RELATIVE_SPDS['D50']
>>> spectral_to_XYZ(  
...     spd, cmfs, illuminant)
array([ 11.5290265...,   9.9502091...,   4.7098882...])
>>> spectral_to_XYZ(  
...     spd, cmfs, illuminant, use_practice_range=False)
array([ 11.5291275...,   9.9502369...,   4.7098811...])
>>> spectral_to_XYZ(  
...     spd, cmfs, illuminant, method='Integration')
array([ 11.5296285...,   9.9499467...,   4.7066079...])
colour.lagrange_coefficients_ASTME202211(interval=10, interval_type=u'inner')[source]

Computes the Lagrange Coefficients for given interval size using practise ASTM E2022-11 method [1]_.

Parameters:
  • interval (int) – Interval size in nm.
  • interval_type (unicode, optional) – {‘inner’, ‘boundary’}, If the interval is an inner interval Lagrange Coefficients are computed for degree 4. Degree 3 is used for a boundary interval.
Returns:

Lagrange Coefficients.

Return type:

ndarray

Examples

>>> lagrange_coefficients_ASTME202211(  
...     10, 'inner')
array([[-0.028...,  0.940...,  0.104..., -0.016...],
       [-0.048...,  0.864...,  0.216..., -0.032...],
       [-0.059...,  0.773...,  0.331..., -0.045...],
       [-0.064...,  0.672...,  0.448..., -0.056...],
       [-0.062...,  0.562...,  0.562..., -0.062...],
       [-0.056...,  0.448...,  0.672..., -0.064...],
       [-0.045...,  0.331...,  0.773..., -0.059...],
       [-0.032...,  0.216...,  0.864..., -0.048...],
       [-0.016...,  0.104...,  0.940..., -0.028...]])
>>> lagrange_coefficients_ASTME202211(  
...     10, 'boundary')
array([[ 0.85...,  0.19..., -0.04...],
       [ 0.72...,  0.36..., -0.08...],
       [ 0.59...,  0.51..., -0.10...],
       [ 0.48...,  0.64..., -0.12...],
       [ 0.37...,  0.75..., -0.12...],
       [ 0.28...,  0.84..., -0.12...],
       [ 0.19...,  0.91..., -0.10...],
       [ 0.12...,  0.96..., -0.08...],
       [ 0.05...,  0.99..., -0.04...]])
colour.tristimulus_weighting_factors_ASTME202211(cmfs, illuminant, shape)[source]

Returns a table of tristimulus weighting factors for given colour matching functions and illuminant using practise ASTM E2022-11 method [1]_.

The computed table of tristimulus weighting factors should be used with spectral data that has been corrected for spectral bandpass dependence.

Parameters:
Returns:

Tristimulus weighting factors table.

Return type:

ndarray

Raises:

ValueError – If the colour matching functions or illuminant intervals are not equal to 1 nm.

Warning

  • The tables of tristimulus weighting factors are cached in _TRISTIMULUS_WEIGHTING_FACTORS_CACHE attribute. Their identifier key is defined by the colour matching functions and illuminant names along the current shape such as: CIE 1964 10 Degree Standard Observer, A, (360.0, 830.0, 10.0) Considering the above, one should be mindful that using similar colour matching functions and illuminant names but with different spectral data will lead to unexpected behaviour.

Notes

  • Input colour matching functions and illuminant intervals are expected to be equal to 1 nm. If the illuminant data is not available at 1 nm interval, it needs to be interpolated using CIE recommendations: The method developed by Sprague (1880) should be used for interpolating functions having a uniformly spaced independent variable and a Cubic Spline method for non-uniformly spaced independent variable.

Examples

>>> from colour import (
...     CMFS,
...     CIE_standard_illuminant_A_function,
...     SpectralPowerDistribution,
...     SpectralShape)
>>> cmfs = CMFS['CIE 1964 10 Degree Standard Observer']
>>> wl = cmfs.shape.range()
>>> A = SpectralPowerDistribution(
...     'A (360, 830, 1)',
...     dict(zip(wl, CIE_standard_illuminant_A_function(wl))))
>>> tristimulus_weighting_factors_ASTME202211(  
...     cmfs, A, SpectralShape(360, 830, 20))
array([[ -2.9816934...e-04,  -3.1709762...e-05,  -1.3301218...e-03],
       [ -8.7154955...e-03,  -8.9154168...e-04,  -4.0743684...e-02],
       [  5.9967988...e-02,   5.0203497...e-03,   2.5650183...e-01],
       [  7.7342255...e-01,   7.7983983...e-02,   3.6965732...e+00],
       [  1.9000905...e+00,   3.0370051...e-01,   9.7554195...e+00],
       [  1.9707727...e+00,   8.5528092...e-01,   1.1486732...e+01],
       [  7.1836236...e-01,   2.1457000...e+00,   6.7845806...e+00],
       [  4.2666758...e-02,   4.8985328...e+00,   2.3208000...e+00],
       [  1.5223302...e+00,   9.6471138...e+00,   7.4306714...e-01],
       [  5.6770329...e+00,   1.4460970...e+01,   1.9581949...e-01],
       [  1.2445174...e+01,   1.7474254...e+01,   5.1826979...e-03],
       [  2.0553577...e+01,   1.7583821...e+01,  -2.6512696...e-03],
       [  2.5331538...e+01,   1.4895703...e+01,   0.0000000...e+00],
       [  2.1571157...e+01,   1.0079661...e+01,   0.0000000...e+00],
       [  1.2178581...e+01,   5.0680655...e+00,   0.0000000...e+00],
       [  4.6675746...e+00,   1.8303239...e+00,   0.0000000...e+00],
       [  1.3236117...e+00,   5.1296946...e-01,   0.0000000...e+00],
       [  3.1753258...e-01,   1.2300847...e-01,   0.0000000...e+00],
       [  7.4634128...e-02,   2.9024389...e-02,   0.0000000...e+00],
       [  1.8299016...e-02,   7.1606335...e-03,   0.0000000...e+00],
       [  4.7942065...e-03,   1.8888730...e-03,   0.0000000...e+00],
       [  1.3293045...e-03,   5.2774591...e-04,   0.0000000...e+00],
       [  4.2546928...e-04,   1.7041978...e-04,   0.0000000...e+00],
       [  9.6251115...e-05,   3.8955295...e-05,   0.0000000...e+00]])
colour.adjust_tristimulus_weighting_factors_ASTME30815(W, shape_r, shape_t)[source]

Adjusts given table of tristimulus weighting factors to account for a shorter wavelengths range of the test spectral shape compared to the reference spectral shape using practise ASTM E308-15 method [2]_: Weights at the wavelengths for which data are not available are added to the weights at the shortest and longest wavelength for which spectral data are available.

Parameters:
  • W (array_like) – Tristimulus weighting factors table.
  • shape_r (SpectralShape) – Reference spectral shape.
  • shape_t (SpectralShape) – Test spectral shape.
Returns:

Adjusted tristimulus weighting factors.

Return type:

ndarray

Examples

>>> from colour import (
...     CMFS,
...     CIE_standard_illuminant_A_function,
...     SpectralPowerDistribution,
...     SpectralShape)
>>> cmfs = CMFS['CIE 1964 10 Degree Standard Observer']
>>> wl = cmfs.shape.range()
>>> A = SpectralPowerDistribution(
...     'A (360, 830, 1)',
...     dict(zip(wl, CIE_standard_illuminant_A_function(wl))))
>>> W = tristimulus_weighting_factors_ASTME202211(
...     cmfs, A, SpectralShape(360, 830, 20))
>>> adjust_tristimulus_weighting_factors_ASTME30815(  
...     W, SpectralShape(360, 830, 20), SpectralShape(400, 700, 20))
array([[  5.0954324...e-02,   4.0970982...e-03,   2.1442802...e-01],
       [  7.7342255...e-01,   7.7983983...e-02,   3.6965732...e+00],
       [  1.9000905...e+00,   3.0370051...e-01,   9.7554195...e+00],
       [  1.9707727...e+00,   8.5528092...e-01,   1.1486732...e+01],
       [  7.1836236...e-01,   2.1457000...e+00,   6.7845806...e+00],
       [  4.2666758...e-02,   4.8985328...e+00,   2.3208000...e+00],
       [  1.5223302...e+00,   9.6471138...e+00,   7.4306714...e-01],
       [  5.6770329...e+00,   1.4460970...e+01,   1.9581949...e-01],
       [  1.2445174...e+01,   1.7474254...e+01,   5.1826979...e-03],
       [  2.0553577...e+01,   1.7583821...e+01,  -2.6512696...e-03],
       [  2.5331538...e+01,   1.4895703...e+01,   0.0000000...e+00],
       [  2.1571157...e+01,   1.0079661...e+01,   0.0000000...e+00],
       [  1.2178581...e+01,   5.0680655...e+00,   0.0000000...e+00],
       [  4.6675746...e+00,   1.8303239...e+00,   0.0000000...e+00],
       [  1.3236117...e+00,   5.1296946...e-01,   0.0000000...e+00],
       [  4.1711096...e-01,   1.6181949...e-01,   0.0000000...e+00]])
colour.spectral_to_XYZ_integration(spd, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'), illuminant=SpectralPowerDistribution( '1 Constant', {360.0: 1.0, 361.0: 1.0, 362.0: 1.0, 363.0: 1.0, 364.0: 1.0, 365.0: 1.0, 366.0: 1.0, 367.0: 1.0, 368.0: 1.0, 369.0: 1.0, 370.0: 1.0, 371.0: 1.0, 372.0: 1.0, 373.0: 1.0, 374.0: 1.0, 375.0: 1.0, 376.0: 1.0, 377.0: 1.0, 378.0: 1.0, 379.0: 1.0, 380.0: 1.0, 381.0: 1.0, 382.0: 1.0, 383.0: 1.0, 384.0: 1.0, 385.0: 1.0, 386.0: 1.0, 387.0: 1.0, 388.0: 1.0, 389.0: 1.0, 390.0: 1.0, 391.0: 1.0, 392.0: 1.0, 393.0: 1.0, 394.0: 1.0, 395.0: 1.0, 396.0: 1.0, 397.0: 1.0, 398.0: 1.0, 399.0: 1.0, 400.0: 1.0, 401.0: 1.0, 402.0: 1.0, 403.0: 1.0, 404.0: 1.0, 405.0: 1.0, 406.0: 1.0, 407.0: 1.0, 408.0: 1.0, 409.0: 1.0, 410.0: 1.0, 411.0: 1.0, 412.0: 1.0, 413.0: 1.0, 414.0: 1.0, 415.0: 1.0, 416.0: 1.0, 417.0: 1.0, 418.0: 1.0, 419.0: 1.0, 420.0: 1.0, 421.0: 1.0, 422.0: 1.0, 423.0: 1.0, 424.0: 1.0, 425.0: 1.0, 426.0: 1.0, 427.0: 1.0, 428.0: 1.0, 429.0: 1.0, 430.0: 1.0, 431.0: 1.0, 432.0: 1.0, 433.0: 1.0, 434.0: 1.0, 435.0: 1.0, 436.0: 1.0, 437.0: 1.0, 438.0: 1.0, 439.0: 1.0, 440.0: 1.0, 441.0: 1.0, 442.0: 1.0, 443.0: 1.0, 444.0: 1.0, 445.0: 1.0, 446.0: 1.0, 447.0: 1.0, 448.0: 1.0, 449.0: 1.0, 450.0: 1.0, 451.0: 1.0, 452.0: 1.0, 453.0: 1.0, 454.0: 1.0, 455.0: 1.0, 456.0: 1.0, 457.0: 1.0, 458.0: 1.0, 459.0: 1.0, 460.0: 1.0, 461.0: 1.0, 462.0: 1.0, 463.0: 1.0, 464.0: 1.0, 465.0: 1.0, 466.0: 1.0, 467.0: 1.0, 468.0: 1.0, 469.0: 1.0, 470.0: 1.0, 471.0: 1.0, 472.0: 1.0, 473.0: 1.0, 474.0: 1.0, 475.0: 1.0, 476.0: 1.0, 477.0: 1.0, 478.0: 1.0, 479.0: 1.0, 480.0: 1.0, 481.0: 1.0, 482.0: 1.0, 483.0: 1.0, 484.0: 1.0, 485.0: 1.0, 486.0: 1.0, 487.0: 1.0, 488.0: 1.0, 489.0: 1.0, 490.0: 1.0, 491.0: 1.0, 492.0: 1.0, 493.0: 1.0, 494.0: 1.0, 495.0: 1.0, 496.0: 1.0, 497.0: 1.0, 498.0: 1.0, 499.0: 1.0, 500.0: 1.0, 501.0: 1.0, 502.0: 1.0, 503.0: 1.0, 504.0: 1.0, 505.0: 1.0, 506.0: 1.0, 507.0: 1.0, 508.0: 1.0, 509.0: 1.0, 510.0: 1.0, 511.0: 1.0, 512.0: 1.0, 513.0: 1.0, 514.0: 1.0, 515.0: 1.0, 516.0: 1.0, 517.0: 1.0, 518.0: 1.0, 519.0: 1.0, 520.0: 1.0, 521.0: 1.0, 522.0: 1.0, 523.0: 1.0, 524.0: 1.0, 525.0: 1.0, 526.0: 1.0, 527.0: 1.0, 528.0: 1.0, 529.0: 1.0, 530.0: 1.0, 531.0: 1.0, 532.0: 1.0, 533.0: 1.0, 534.0: 1.0, 535.0: 1.0, 536.0: 1.0, 537.0: 1.0, 538.0: 1.0, 539.0: 1.0, 540.0: 1.0, 541.0: 1.0, 542.0: 1.0, 543.0: 1.0, 544.0: 1.0, 545.0: 1.0, 546.0: 1.0, 547.0: 1.0, 548.0: 1.0, 549.0: 1.0, 550.0: 1.0, 551.0: 1.0, 552.0: 1.0, 553.0: 1.0, 554.0: 1.0, 555.0: 1.0, 556.0: 1.0, 557.0: 1.0, 558.0: 1.0, 559.0: 1.0, 560.0: 1.0, 561.0: 1.0, 562.0: 1.0, 563.0: 1.0, 564.0: 1.0, 565.0: 1.0, 566.0: 1.0, 567.0: 1.0, 568.0: 1.0, 569.0: 1.0, 570.0: 1.0, 571.0: 1.0, 572.0: 1.0, 573.0: 1.0, 574.0: 1.0, 575.0: 1.0, 576.0: 1.0, 577.0: 1.0, 578.0: 1.0, 579.0: 1.0, 580.0: 1.0, 581.0: 1.0, 582.0: 1.0, 583.0: 1.0, 584.0: 1.0, 585.0: 1.0, 586.0: 1.0, 587.0: 1.0, 588.0: 1.0, 589.0: 1.0, 590.0: 1.0, 591.0: 1.0, 592.0: 1.0, 593.0: 1.0, 594.0: 1.0, 595.0: 1.0, 596.0: 1.0, 597.0: 1.0, 598.0: 1.0, 599.0: 1.0, 600.0: 1.0, 601.0: 1.0, 602.0: 1.0, 603.0: 1.0, 604.0: 1.0, 605.0: 1.0, 606.0: 1.0, 607.0: 1.0, 608.0: 1.0, 609.0: 1.0, 610.0: 1.0, 611.0: 1.0, 612.0: 1.0, 613.0: 1.0, 614.0: 1.0, 615.0: 1.0, 616.0: 1.0, 617.0: 1.0, 618.0: 1.0, 619.0: 1.0, 620.0: 1.0, 621.0: 1.0, 622.0: 1.0, 623.0: 1.0, 624.0: 1.0, 625.0: 1.0, 626.0: 1.0, 627.0: 1.0, 628.0: 1.0, 629.0: 1.0, 630.0: 1.0, 631.0: 1.0, 632.0: 1.0, 633.0: 1.0, 634.0: 1.0, 635.0: 1.0, 636.0: 1.0, 637.0: 1.0, 638.0: 1.0, 639.0: 1.0, 640.0: 1.0, 641.0: 1.0, 642.0: 1.0, 643.0: 1.0, 644.0: 1.0, 645.0: 1.0, 646.0: 1.0, 647.0: 1.0, 648.0: 1.0, 649.0: 1.0, 650.0: 1.0, 651.0: 1.0, 652.0: 1.0, 653.0: 1.0, 654.0: 1.0, 655.0: 1.0, 656.0: 1.0, 657.0: 1.0, 658.0: 1.0, 659.0: 1.0, 660.0: 1.0, 661.0: 1.0, 662.0: 1.0, 663.0: 1.0, 664.0: 1.0, 665.0: 1.0, 666.0: 1.0, 667.0: 1.0, 668.0: 1.0, 669.0: 1.0, 670.0: 1.0, 671.0: 1.0, 672.0: 1.0, 673.0: 1.0, 674.0: 1.0, 675.0: 1.0, 676.0: 1.0, 677.0: 1.0, 678.0: 1.0, 679.0: 1.0, 680.0: 1.0, 681.0: 1.0, 682.0: 1.0, 683.0: 1.0, 684.0: 1.0, 685.0: 1.0, 686.0: 1.0, 687.0: 1.0, 688.0: 1.0, 689.0: 1.0, 690.0: 1.0, 691.0: 1.0, 692.0: 1.0, 693.0: 1.0, 694.0: 1.0, 695.0: 1.0, 696.0: 1.0, 697.0: 1.0, 698.0: 1.0, 699.0: 1.0, 700.0: 1.0, 701.0: 1.0, 702.0: 1.0, 703.0: 1.0, 704.0: 1.0, 705.0: 1.0, 706.0: 1.0, 707.0: 1.0, 708.0: 1.0, 709.0: 1.0, 710.0: 1.0, 711.0: 1.0, 712.0: 1.0, 713.0: 1.0, 714.0: 1.0, 715.0: 1.0, 716.0: 1.0, 717.0: 1.0, 718.0: 1.0, 719.0: 1.0, 720.0: 1.0, 721.0: 1.0, 722.0: 1.0, 723.0: 1.0, 724.0: 1.0, 725.0: 1.0, 726.0: 1.0, 727.0: 1.0, 728.0: 1.0, 729.0: 1.0, 730.0: 1.0, 731.0: 1.0, 732.0: 1.0, 733.0: 1.0, 734.0: 1.0, 735.0: 1.0, 736.0: 1.0, 737.0: 1.0, 738.0: 1.0, 739.0: 1.0, 740.0: 1.0, 741.0: 1.0, 742.0: 1.0, 743.0: 1.0, 744.0: 1.0, 745.0: 1.0, 746.0: 1.0, 747.0: 1.0, 748.0: 1.0, 749.0: 1.0, 750.0: 1.0, 751.0: 1.0, 752.0: 1.0, 753.0: 1.0, 754.0: 1.0, 755.0: 1.0, 756.0: 1.0, 757.0: 1.0, 758.0: 1.0, 759.0: 1.0, 760.0: 1.0, 761.0: 1.0, 762.0: 1.0, 763.0: 1.0, 764.0: 1.0, 765.0: 1.0, 766.0: 1.0, 767.0: 1.0, 768.0: 1.0, 769.0: 1.0, 770.0: 1.0, 771.0: 1.0, 772.0: 1.0, 773.0: 1.0, 774.0: 1.0, 775.0: 1.0, 776.0: 1.0, 777.0: 1.0, 778.0: 1.0, 779.0: 1.0, 780.0: 1.0, 781.0: 1.0, 782.0: 1.0, 783.0: 1.0, 784.0: 1.0, 785.0: 1.0, 786.0: 1.0, 787.0: 1.0, 788.0: 1.0, 789.0: 1.0, 790.0: 1.0, 791.0: 1.0, 792.0: 1.0, 793.0: 1.0, 794.0: 1.0, 795.0: 1.0, 796.0: 1.0, 797.0: 1.0, 798.0: 1.0, 799.0: 1.0, 800.0: 1.0, 801.0: 1.0, 802.0: 1.0, 803.0: 1.0, 804.0: 1.0, 805.0: 1.0, 806.0: 1.0, 807.0: 1.0, 808.0: 1.0, 809.0: 1.0, 810.0: 1.0, 811.0: 1.0, 812.0: 1.0, 813.0: 1.0, 814.0: 1.0, 815.0: 1.0, 816.0: 1.0, 817.0: 1.0, 818.0: 1.0, 819.0: 1.0, 820.0: 1.0, 821.0: 1.0, 822.0: 1.0, 823.0: 1.0, 824.0: 1.0, 825.0: 1.0, 826.0: 1.0, 827.0: 1.0, 828.0: 1.0, 829.0: 1.0, 830.0: 1.0}))[source]

Converts given spectral power distribution to CIE XYZ tristimulus values using given colour matching functions and illuminant accordingly to classical integration method.

Parameters:
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray, (3,)

Warning

The output range of that definition is non standard!

Notes

  • Output CIE XYZ tristimulus values are in range [0, 100].

References

[3]Wyszecki, G., & Stiles, W. S. (2000). Integration Replace by Summation. In Color Science: Concepts and Methods, Quantitative Data and Formulae (pp. 158–163). Wiley. ISBN:978-0471399186

Examples

>>> from colour import (
...     CMFS, ILLUMINANTS_RELATIVE_SPDS, SpectralPowerDistribution)
>>> cmfs = CMFS['CIE 1931 2 Degree Standard Observer']
>>> data = {
...     400: 0.0641,
...     420: 0.0645,
...     440: 0.0562,
...     460: 0.0537,
...     480: 0.0559,
...     500: 0.0651,
...     520: 0.0705,
...     540: 0.0772,
...     560: 0.0870,
...     580: 0.1128,
...     600: 0.1360,
...     620: 0.1511,
...     640: 0.1688,
...     660: 0.1996,
...     680: 0.2397,
...     700: 0.2852}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> illuminant = ILLUMINANTS_RELATIVE_SPDS['D50']
>>> spectral_to_XYZ_integration(  
...     spd, cmfs, illuminant)
array([ 11.5296285...,   9.9499467...,   4.7066079...])
colour.spectral_to_XYZ_tristimulus_weighting_factors_ASTME30815(spd, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'), illuminant=SpectralPowerDistribution( '1 Constant', {360.0: 1.0, 361.0: 1.0, 362.0: 1.0, 363.0: 1.0, 364.0: 1.0, 365.0: 1.0, 366.0: 1.0, 367.0: 1.0, 368.0: 1.0, 369.0: 1.0, 370.0: 1.0, 371.0: 1.0, 372.0: 1.0, 373.0: 1.0, 374.0: 1.0, 375.0: 1.0, 376.0: 1.0, 377.0: 1.0, 378.0: 1.0, 379.0: 1.0, 380.0: 1.0, 381.0: 1.0, 382.0: 1.0, 383.0: 1.0, 384.0: 1.0, 385.0: 1.0, 386.0: 1.0, 387.0: 1.0, 388.0: 1.0, 389.0: 1.0, 390.0: 1.0, 391.0: 1.0, 392.0: 1.0, 393.0: 1.0, 394.0: 1.0, 395.0: 1.0, 396.0: 1.0, 397.0: 1.0, 398.0: 1.0, 399.0: 1.0, 400.0: 1.0, 401.0: 1.0, 402.0: 1.0, 403.0: 1.0, 404.0: 1.0, 405.0: 1.0, 406.0: 1.0, 407.0: 1.0, 408.0: 1.0, 409.0: 1.0, 410.0: 1.0, 411.0: 1.0, 412.0: 1.0, 413.0: 1.0, 414.0: 1.0, 415.0: 1.0, 416.0: 1.0, 417.0: 1.0, 418.0: 1.0, 419.0: 1.0, 420.0: 1.0, 421.0: 1.0, 422.0: 1.0, 423.0: 1.0, 424.0: 1.0, 425.0: 1.0, 426.0: 1.0, 427.0: 1.0, 428.0: 1.0, 429.0: 1.0, 430.0: 1.0, 431.0: 1.0, 432.0: 1.0, 433.0: 1.0, 434.0: 1.0, 435.0: 1.0, 436.0: 1.0, 437.0: 1.0, 438.0: 1.0, 439.0: 1.0, 440.0: 1.0, 441.0: 1.0, 442.0: 1.0, 443.0: 1.0, 444.0: 1.0, 445.0: 1.0, 446.0: 1.0, 447.0: 1.0, 448.0: 1.0, 449.0: 1.0, 450.0: 1.0, 451.0: 1.0, 452.0: 1.0, 453.0: 1.0, 454.0: 1.0, 455.0: 1.0, 456.0: 1.0, 457.0: 1.0, 458.0: 1.0, 459.0: 1.0, 460.0: 1.0, 461.0: 1.0, 462.0: 1.0, 463.0: 1.0, 464.0: 1.0, 465.0: 1.0, 466.0: 1.0, 467.0: 1.0, 468.0: 1.0, 469.0: 1.0, 470.0: 1.0, 471.0: 1.0, 472.0: 1.0, 473.0: 1.0, 474.0: 1.0, 475.0: 1.0, 476.0: 1.0, 477.0: 1.0, 478.0: 1.0, 479.0: 1.0, 480.0: 1.0, 481.0: 1.0, 482.0: 1.0, 483.0: 1.0, 484.0: 1.0, 485.0: 1.0, 486.0: 1.0, 487.0: 1.0, 488.0: 1.0, 489.0: 1.0, 490.0: 1.0, 491.0: 1.0, 492.0: 1.0, 493.0: 1.0, 494.0: 1.0, 495.0: 1.0, 496.0: 1.0, 497.0: 1.0, 498.0: 1.0, 499.0: 1.0, 500.0: 1.0, 501.0: 1.0, 502.0: 1.0, 503.0: 1.0, 504.0: 1.0, 505.0: 1.0, 506.0: 1.0, 507.0: 1.0, 508.0: 1.0, 509.0: 1.0, 510.0: 1.0, 511.0: 1.0, 512.0: 1.0, 513.0: 1.0, 514.0: 1.0, 515.0: 1.0, 516.0: 1.0, 517.0: 1.0, 518.0: 1.0, 519.0: 1.0, 520.0: 1.0, 521.0: 1.0, 522.0: 1.0, 523.0: 1.0, 524.0: 1.0, 525.0: 1.0, 526.0: 1.0, 527.0: 1.0, 528.0: 1.0, 529.0: 1.0, 530.0: 1.0, 531.0: 1.0, 532.0: 1.0, 533.0: 1.0, 534.0: 1.0, 535.0: 1.0, 536.0: 1.0, 537.0: 1.0, 538.0: 1.0, 539.0: 1.0, 540.0: 1.0, 541.0: 1.0, 542.0: 1.0, 543.0: 1.0, 544.0: 1.0, 545.0: 1.0, 546.0: 1.0, 547.0: 1.0, 548.0: 1.0, 549.0: 1.0, 550.0: 1.0, 551.0: 1.0, 552.0: 1.0, 553.0: 1.0, 554.0: 1.0, 555.0: 1.0, 556.0: 1.0, 557.0: 1.0, 558.0: 1.0, 559.0: 1.0, 560.0: 1.0, 561.0: 1.0, 562.0: 1.0, 563.0: 1.0, 564.0: 1.0, 565.0: 1.0, 566.0: 1.0, 567.0: 1.0, 568.0: 1.0, 569.0: 1.0, 570.0: 1.0, 571.0: 1.0, 572.0: 1.0, 573.0: 1.0, 574.0: 1.0, 575.0: 1.0, 576.0: 1.0, 577.0: 1.0, 578.0: 1.0, 579.0: 1.0, 580.0: 1.0, 581.0: 1.0, 582.0: 1.0, 583.0: 1.0, 584.0: 1.0, 585.0: 1.0, 586.0: 1.0, 587.0: 1.0, 588.0: 1.0, 589.0: 1.0, 590.0: 1.0, 591.0: 1.0, 592.0: 1.0, 593.0: 1.0, 594.0: 1.0, 595.0: 1.0, 596.0: 1.0, 597.0: 1.0, 598.0: 1.0, 599.0: 1.0, 600.0: 1.0, 601.0: 1.0, 602.0: 1.0, 603.0: 1.0, 604.0: 1.0, 605.0: 1.0, 606.0: 1.0, 607.0: 1.0, 608.0: 1.0, 609.0: 1.0, 610.0: 1.0, 611.0: 1.0, 612.0: 1.0, 613.0: 1.0, 614.0: 1.0, 615.0: 1.0, 616.0: 1.0, 617.0: 1.0, 618.0: 1.0, 619.0: 1.0, 620.0: 1.0, 621.0: 1.0, 622.0: 1.0, 623.0: 1.0, 624.0: 1.0, 625.0: 1.0, 626.0: 1.0, 627.0: 1.0, 628.0: 1.0, 629.0: 1.0, 630.0: 1.0, 631.0: 1.0, 632.0: 1.0, 633.0: 1.0, 634.0: 1.0, 635.0: 1.0, 636.0: 1.0, 637.0: 1.0, 638.0: 1.0, 639.0: 1.0, 640.0: 1.0, 641.0: 1.0, 642.0: 1.0, 643.0: 1.0, 644.0: 1.0, 645.0: 1.0, 646.0: 1.0, 647.0: 1.0, 648.0: 1.0, 649.0: 1.0, 650.0: 1.0, 651.0: 1.0, 652.0: 1.0, 653.0: 1.0, 654.0: 1.0, 655.0: 1.0, 656.0: 1.0, 657.0: 1.0, 658.0: 1.0, 659.0: 1.0, 660.0: 1.0, 661.0: 1.0, 662.0: 1.0, 663.0: 1.0, 664.0: 1.0, 665.0: 1.0, 666.0: 1.0, 667.0: 1.0, 668.0: 1.0, 669.0: 1.0, 670.0: 1.0, 671.0: 1.0, 672.0: 1.0, 673.0: 1.0, 674.0: 1.0, 675.0: 1.0, 676.0: 1.0, 677.0: 1.0, 678.0: 1.0, 679.0: 1.0, 680.0: 1.0, 681.0: 1.0, 682.0: 1.0, 683.0: 1.0, 684.0: 1.0, 685.0: 1.0, 686.0: 1.0, 687.0: 1.0, 688.0: 1.0, 689.0: 1.0, 690.0: 1.0, 691.0: 1.0, 692.0: 1.0, 693.0: 1.0, 694.0: 1.0, 695.0: 1.0, 696.0: 1.0, 697.0: 1.0, 698.0: 1.0, 699.0: 1.0, 700.0: 1.0, 701.0: 1.0, 702.0: 1.0, 703.0: 1.0, 704.0: 1.0, 705.0: 1.0, 706.0: 1.0, 707.0: 1.0, 708.0: 1.0, 709.0: 1.0, 710.0: 1.0, 711.0: 1.0, 712.0: 1.0, 713.0: 1.0, 714.0: 1.0, 715.0: 1.0, 716.0: 1.0, 717.0: 1.0, 718.0: 1.0, 719.0: 1.0, 720.0: 1.0, 721.0: 1.0, 722.0: 1.0, 723.0: 1.0, 724.0: 1.0, 725.0: 1.0, 726.0: 1.0, 727.0: 1.0, 728.0: 1.0, 729.0: 1.0, 730.0: 1.0, 731.0: 1.0, 732.0: 1.0, 733.0: 1.0, 734.0: 1.0, 735.0: 1.0, 736.0: 1.0, 737.0: 1.0, 738.0: 1.0, 739.0: 1.0, 740.0: 1.0, 741.0: 1.0, 742.0: 1.0, 743.0: 1.0, 744.0: 1.0, 745.0: 1.0, 746.0: 1.0, 747.0: 1.0, 748.0: 1.0, 749.0: 1.0, 750.0: 1.0, 751.0: 1.0, 752.0: 1.0, 753.0: 1.0, 754.0: 1.0, 755.0: 1.0, 756.0: 1.0, 757.0: 1.0, 758.0: 1.0, 759.0: 1.0, 760.0: 1.0, 761.0: 1.0, 762.0: 1.0, 763.0: 1.0, 764.0: 1.0, 765.0: 1.0, 766.0: 1.0, 767.0: 1.0, 768.0: 1.0, 769.0: 1.0, 770.0: 1.0, 771.0: 1.0, 772.0: 1.0, 773.0: 1.0, 774.0: 1.0, 775.0: 1.0, 776.0: 1.0, 777.0: 1.0, 778.0: 1.0, 779.0: 1.0, 780.0: 1.0}))[source]

Converts given spectral power distribution to CIE XYZ tristimulus values using given colour matching functions and illuminant using a table of tristimulus weighting factors accordingly to practise ASTM E308-15 method [2]_.

Parameters:
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray, (3,)

Warning

The output range of that definition is non standard!

Notes

  • Output CIE XYZ tristimulus values are in range [0, 100].

Examples

>>> from colour import (
...     CMFS, ILLUMINANTS_RELATIVE_SPDS, SpectralPowerDistribution)
>>> cmfs = CMFS['CIE 1931 2 Degree Standard Observer']
>>> data = {
...     400: 0.0641,
...     420: 0.0645,
...     440: 0.0562,
...     460: 0.0537,
...     480: 0.0559,
...     500: 0.0651,
...     520: 0.0705,
...     540: 0.0772,
...     560: 0.0870,
...     580: 0.1128,
...     600: 0.1360,
...     620: 0.1511,
...     640: 0.1688,
...     660: 0.1996,
...     680: 0.2397,
...     700: 0.2852}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> illuminant = ILLUMINANTS_RELATIVE_SPDS['D50']
>>> spectral_to_XYZ_tristimulus_weighting_factors_ASTME30815(
...     spd, cmfs, illuminant)  
array([ 11.5296311...,   9.9505845...,   4.7098037...])
colour.spectral_to_XYZ_ASTME30815(spd, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'), illuminant=SpectralPowerDistribution( '1 Constant', {360.0: 1.0, 361.0: 1.0, 362.0: 1.0, 363.0: 1.0, 364.0: 1.0, 365.0: 1.0, 366.0: 1.0, 367.0: 1.0, 368.0: 1.0, 369.0: 1.0, 370.0: 1.0, 371.0: 1.0, 372.0: 1.0, 373.0: 1.0, 374.0: 1.0, 375.0: 1.0, 376.0: 1.0, 377.0: 1.0, 378.0: 1.0, 379.0: 1.0, 380.0: 1.0, 381.0: 1.0, 382.0: 1.0, 383.0: 1.0, 384.0: 1.0, 385.0: 1.0, 386.0: 1.0, 387.0: 1.0, 388.0: 1.0, 389.0: 1.0, 390.0: 1.0, 391.0: 1.0, 392.0: 1.0, 393.0: 1.0, 394.0: 1.0, 395.0: 1.0, 396.0: 1.0, 397.0: 1.0, 398.0: 1.0, 399.0: 1.0, 400.0: 1.0, 401.0: 1.0, 402.0: 1.0, 403.0: 1.0, 404.0: 1.0, 405.0: 1.0, 406.0: 1.0, 407.0: 1.0, 408.0: 1.0, 409.0: 1.0, 410.0: 1.0, 411.0: 1.0, 412.0: 1.0, 413.0: 1.0, 414.0: 1.0, 415.0: 1.0, 416.0: 1.0, 417.0: 1.0, 418.0: 1.0, 419.0: 1.0, 420.0: 1.0, 421.0: 1.0, 422.0: 1.0, 423.0: 1.0, 424.0: 1.0, 425.0: 1.0, 426.0: 1.0, 427.0: 1.0, 428.0: 1.0, 429.0: 1.0, 430.0: 1.0, 431.0: 1.0, 432.0: 1.0, 433.0: 1.0, 434.0: 1.0, 435.0: 1.0, 436.0: 1.0, 437.0: 1.0, 438.0: 1.0, 439.0: 1.0, 440.0: 1.0, 441.0: 1.0, 442.0: 1.0, 443.0: 1.0, 444.0: 1.0, 445.0: 1.0, 446.0: 1.0, 447.0: 1.0, 448.0: 1.0, 449.0: 1.0, 450.0: 1.0, 451.0: 1.0, 452.0: 1.0, 453.0: 1.0, 454.0: 1.0, 455.0: 1.0, 456.0: 1.0, 457.0: 1.0, 458.0: 1.0, 459.0: 1.0, 460.0: 1.0, 461.0: 1.0, 462.0: 1.0, 463.0: 1.0, 464.0: 1.0, 465.0: 1.0, 466.0: 1.0, 467.0: 1.0, 468.0: 1.0, 469.0: 1.0, 470.0: 1.0, 471.0: 1.0, 472.0: 1.0, 473.0: 1.0, 474.0: 1.0, 475.0: 1.0, 476.0: 1.0, 477.0: 1.0, 478.0: 1.0, 479.0: 1.0, 480.0: 1.0, 481.0: 1.0, 482.0: 1.0, 483.0: 1.0, 484.0: 1.0, 485.0: 1.0, 486.0: 1.0, 487.0: 1.0, 488.0: 1.0, 489.0: 1.0, 490.0: 1.0, 491.0: 1.0, 492.0: 1.0, 493.0: 1.0, 494.0: 1.0, 495.0: 1.0, 496.0: 1.0, 497.0: 1.0, 498.0: 1.0, 499.0: 1.0, 500.0: 1.0, 501.0: 1.0, 502.0: 1.0, 503.0: 1.0, 504.0: 1.0, 505.0: 1.0, 506.0: 1.0, 507.0: 1.0, 508.0: 1.0, 509.0: 1.0, 510.0: 1.0, 511.0: 1.0, 512.0: 1.0, 513.0: 1.0, 514.0: 1.0, 515.0: 1.0, 516.0: 1.0, 517.0: 1.0, 518.0: 1.0, 519.0: 1.0, 520.0: 1.0, 521.0: 1.0, 522.0: 1.0, 523.0: 1.0, 524.0: 1.0, 525.0: 1.0, 526.0: 1.0, 527.0: 1.0, 528.0: 1.0, 529.0: 1.0, 530.0: 1.0, 531.0: 1.0, 532.0: 1.0, 533.0: 1.0, 534.0: 1.0, 535.0: 1.0, 536.0: 1.0, 537.0: 1.0, 538.0: 1.0, 539.0: 1.0, 540.0: 1.0, 541.0: 1.0, 542.0: 1.0, 543.0: 1.0, 544.0: 1.0, 545.0: 1.0, 546.0: 1.0, 547.0: 1.0, 548.0: 1.0, 549.0: 1.0, 550.0: 1.0, 551.0: 1.0, 552.0: 1.0, 553.0: 1.0, 554.0: 1.0, 555.0: 1.0, 556.0: 1.0, 557.0: 1.0, 558.0: 1.0, 559.0: 1.0, 560.0: 1.0, 561.0: 1.0, 562.0: 1.0, 563.0: 1.0, 564.0: 1.0, 565.0: 1.0, 566.0: 1.0, 567.0: 1.0, 568.0: 1.0, 569.0: 1.0, 570.0: 1.0, 571.0: 1.0, 572.0: 1.0, 573.0: 1.0, 574.0: 1.0, 575.0: 1.0, 576.0: 1.0, 577.0: 1.0, 578.0: 1.0, 579.0: 1.0, 580.0: 1.0, 581.0: 1.0, 582.0: 1.0, 583.0: 1.0, 584.0: 1.0, 585.0: 1.0, 586.0: 1.0, 587.0: 1.0, 588.0: 1.0, 589.0: 1.0, 590.0: 1.0, 591.0: 1.0, 592.0: 1.0, 593.0: 1.0, 594.0: 1.0, 595.0: 1.0, 596.0: 1.0, 597.0: 1.0, 598.0: 1.0, 599.0: 1.0, 600.0: 1.0, 601.0: 1.0, 602.0: 1.0, 603.0: 1.0, 604.0: 1.0, 605.0: 1.0, 606.0: 1.0, 607.0: 1.0, 608.0: 1.0, 609.0: 1.0, 610.0: 1.0, 611.0: 1.0, 612.0: 1.0, 613.0: 1.0, 614.0: 1.0, 615.0: 1.0, 616.0: 1.0, 617.0: 1.0, 618.0: 1.0, 619.0: 1.0, 620.0: 1.0, 621.0: 1.0, 622.0: 1.0, 623.0: 1.0, 624.0: 1.0, 625.0: 1.0, 626.0: 1.0, 627.0: 1.0, 628.0: 1.0, 629.0: 1.0, 630.0: 1.0, 631.0: 1.0, 632.0: 1.0, 633.0: 1.0, 634.0: 1.0, 635.0: 1.0, 636.0: 1.0, 637.0: 1.0, 638.0: 1.0, 639.0: 1.0, 640.0: 1.0, 641.0: 1.0, 642.0: 1.0, 643.0: 1.0, 644.0: 1.0, 645.0: 1.0, 646.0: 1.0, 647.0: 1.0, 648.0: 1.0, 649.0: 1.0, 650.0: 1.0, 651.0: 1.0, 652.0: 1.0, 653.0: 1.0, 654.0: 1.0, 655.0: 1.0, 656.0: 1.0, 657.0: 1.0, 658.0: 1.0, 659.0: 1.0, 660.0: 1.0, 661.0: 1.0, 662.0: 1.0, 663.0: 1.0, 664.0: 1.0, 665.0: 1.0, 666.0: 1.0, 667.0: 1.0, 668.0: 1.0, 669.0: 1.0, 670.0: 1.0, 671.0: 1.0, 672.0: 1.0, 673.0: 1.0, 674.0: 1.0, 675.0: 1.0, 676.0: 1.0, 677.0: 1.0, 678.0: 1.0, 679.0: 1.0, 680.0: 1.0, 681.0: 1.0, 682.0: 1.0, 683.0: 1.0, 684.0: 1.0, 685.0: 1.0, 686.0: 1.0, 687.0: 1.0, 688.0: 1.0, 689.0: 1.0, 690.0: 1.0, 691.0: 1.0, 692.0: 1.0, 693.0: 1.0, 694.0: 1.0, 695.0: 1.0, 696.0: 1.0, 697.0: 1.0, 698.0: 1.0, 699.0: 1.0, 700.0: 1.0, 701.0: 1.0, 702.0: 1.0, 703.0: 1.0, 704.0: 1.0, 705.0: 1.0, 706.0: 1.0, 707.0: 1.0, 708.0: 1.0, 709.0: 1.0, 710.0: 1.0, 711.0: 1.0, 712.0: 1.0, 713.0: 1.0, 714.0: 1.0, 715.0: 1.0, 716.0: 1.0, 717.0: 1.0, 718.0: 1.0, 719.0: 1.0, 720.0: 1.0, 721.0: 1.0, 722.0: 1.0, 723.0: 1.0, 724.0: 1.0, 725.0: 1.0, 726.0: 1.0, 727.0: 1.0, 728.0: 1.0, 729.0: 1.0, 730.0: 1.0, 731.0: 1.0, 732.0: 1.0, 733.0: 1.0, 734.0: 1.0, 735.0: 1.0, 736.0: 1.0, 737.0: 1.0, 738.0: 1.0, 739.0: 1.0, 740.0: 1.0, 741.0: 1.0, 742.0: 1.0, 743.0: 1.0, 744.0: 1.0, 745.0: 1.0, 746.0: 1.0, 747.0: 1.0, 748.0: 1.0, 749.0: 1.0, 750.0: 1.0, 751.0: 1.0, 752.0: 1.0, 753.0: 1.0, 754.0: 1.0, 755.0: 1.0, 756.0: 1.0, 757.0: 1.0, 758.0: 1.0, 759.0: 1.0, 760.0: 1.0, 761.0: 1.0, 762.0: 1.0, 763.0: 1.0, 764.0: 1.0, 765.0: 1.0, 766.0: 1.0, 767.0: 1.0, 768.0: 1.0, 769.0: 1.0, 770.0: 1.0, 771.0: 1.0, 772.0: 1.0, 773.0: 1.0, 774.0: 1.0, 775.0: 1.0, 776.0: 1.0, 777.0: 1.0, 778.0: 1.0, 779.0: 1.0, 780.0: 1.0}), use_practice_range=True, mi_5nm_omission_method=True, mi_20nm_interpolation_method=True)[source]

Converts given spectral power distribution to CIE XYZ tristimulus values using given colour matching functions and illuminant accordingly to practise ASTM E308-15 method [2]_.

Parameters:
  • spd (SpectralPowerDistribution) – Spectral power distribution.
  • cmfs (XYZ_ColourMatchingFunctions) – Standard observer colour matching functions.
  • illuminant (SpectralPowerDistribution, optional) – Illuminant spectral power distribution.
  • use_practice_range (bool, optional) – Practise ASTM E308-15 working wavelengths range is [360, 780], if True this argument will trim the colour matching functions appropriately.
  • mi_5nm_omission_method (bool, optional) – 5 nm measurement intervals spectral power distribution conversion to tristimulus values will use a 5 nm version of the colour matching functions instead of a table of tristimulus weighting factors.
  • mi_20nm_interpolation_method (bool, optional) – 20 nm measurement intervals spectral power distribution conversion to tristimulus values will use a dedicated interpolation method instead of a table of tristimulus weighting factors.
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray, (3,)

Warning

  • The tables of tristimulus weighting factors are cached in _TRISTIMULUS_WEIGHTING_FACTORS_CACHE attribute. Their identifier key is defined by the colour matching functions and illuminant names along the current shape such as: CIE 1964 10 Degree Standard Observer, A, (360.0, 830.0, 10.0) Considering the above, one should be mindful that using similar colour matching functions and illuminant names but with different spectral data will lead to unexpected behaviour.
  • The output range of that definition is non standard!

Notes

  • Output CIE XYZ tristimulus values are in range [0, 100].

Examples

>>> from colour import (
...     CMFS, ILLUMINANTS_RELATIVE_SPDS, SpectralPowerDistribution)
>>> cmfs = CMFS['CIE 1931 2 Degree Standard Observer']
>>> data = {
...     400: 0.0641,
...     420: 0.0645,
...     440: 0.0562,
...     460: 0.0537,
...     480: 0.0559,
...     500: 0.0651,
...     520: 0.0705,
...     540: 0.0772,
...     560: 0.0870,
...     580: 0.1128,
...     600: 0.1360,
...     620: 0.1511,
...     640: 0.1688,
...     660: 0.1996,
...     680: 0.2397,
...     700: 0.2852}
>>> spd = SpectralPowerDistribution('Sample', data)
>>> illuminant = ILLUMINANTS_RELATIVE_SPDS['D50']
>>> spectral_to_XYZ_ASTME30815(
...     spd, cmfs, illuminant)  
array([ 11.5290265...,   9.9502091...,   4.7098882...])
colour.wavelength_to_XYZ(wavelength, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'), method=None)[source]

Converts given wavelength \(\lambda\) to CIE XYZ tristimulus values using given colour matching functions.

If the wavelength \(\lambda\) is not available in the colour matching function, its value will be calculated using CIE recommendations: The method developed by Sprague (1880) should be used for interpolating functions having a uniformly spaced independent variable and a Cubic Spline method for non-uniformly spaced independent variable.

Parameters:
  • wavelength (numeric or array_like) – Wavelength \(\lambda\) in nm.
  • cmfs (XYZ_ColourMatchingFunctions, optional) – Standard observer colour matching functions.
  • method (unicode, optional) – {None, ‘Cubic Spline’, ‘Linear’, ‘Pchip’, ‘Sprague’}, Enforce given interpolation method.
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray

Raises:
  • RuntimeError – If Sprague (1880) interpolation method is forced with a non-uniformly spaced independent variable.
  • ValueError – If the interpolation method is not defined or if wavelength \(\lambda\) is not contained in the colour matching functions domain.

Notes

  • Output CIE XYZ tristimulus values are in range [0, 1].
  • If scipy is not unavailable the Cubic Spline method will fallback to legacy Linear interpolation.
  • Sprague (1880) interpolator cannot be used for interpolating functions having a non-uniformly spaced independent variable.

Warning

  • If scipy is not unavailable the Cubic Spline method will fallback to legacy Linear interpolation.
  • Cubic Spline interpolator requires at least 3 wavelengths \(\lambda_n\) for interpolation.
  • Linear interpolator requires at least 2 wavelengths \(\lambda_n\) for interpolation.
  • Pchip interpolator requires at least 2 wavelengths \(\lambda_n\) for interpolation.
  • Sprague (1880) interpolator requires at least 6 wavelengths \(\lambda_n\) for interpolation.

Examples

Uniform data is using Sprague (1880) interpolation by default:

>>> from colour import CMFS
>>> cmfs = CMFS['CIE 1931 2 Degree Standard Observer']
>>> wavelength_to_XYZ(480, cmfs)  
array([ 0.09564  ,  0.13902  ,  0.812950...])
>>> wavelength_to_XYZ(480.5, cmfs)  
array([ 0.0914287...,  0.1418350...,  0.7915726...])

Enforcing Cubic Spline interpolation:

>>> wavelength_to_XYZ(480.5, cmfs, 'Cubic Spline')  
array([ 0.0914288...,  0.1418351...,  0.7915729...])

Enforcing Linear interpolation:

>>> wavelength_to_XYZ(480.5, cmfs, 'Linear')  
array([ 0.0914697...,  0.1418482...,  0.7917337...])

Enforcing Pchip interpolation:

>>> wavelength_to_XYZ(480.5, cmfs, 'Pchip')  
array([ 0.0914280...,  0.1418341...,  0.7915711...])
colour.whiteness(method=u'CIE 2004', **kwargs)[source]

Returns the whiteness \(W\) using given method.

Parameters:

method (unicode, optional) – {‘CIE 2004’, ‘Berger 1959’, ‘Taube 1960’, ‘Stensby 1968’, ‘ASTM E313’, ‘Ganz 1979’, ‘CIE 2004’}, Computation method.

Other Parameters:
 
Returns:

whiteness \(W\).

Return type:

numeric or ndarray

Examples

>>> xy = np.array([0.3167, 0.3334])
>>> Y = 100
>>> xy_n = np.array([0.3139, 0.3311])
>>> whiteness(xy=xy, Y=Y, xy_n=xy_n)  
array([ 93.85...,  -1.305...])
>>> XYZ = np.array([95.00000000, 100.00000000, 105.00000000])
>>> XYZ_0 = np.array([94.80966767, 100.00000000, 107.30513595])
>>> method = 'Taube 1960'
>>> whiteness(XYZ=XYZ, XYZ_0=XYZ_0, method=method)  
91.4071738...
colour.whiteness_Berger1959(XYZ, XYZ_0)[source]

Returns the whiteness index \(WI\) of given sample CIE XYZ tristimulus values using Berger (1959) method. [2]_

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of sample.
  • XYZ_0 (array_like) – CIE XYZ tristimulus values of reference white.
Returns:

Whiteness \(WI\).

Return type:

numeric or ndarray

Notes

  • Input CIE XYZ and CIE XYZ_0 tristimulus values are in domain [0, 100].
  • Whiteness \(WI\) values larger than 33.33 indicate a bluish white and values smaller than 33.33 indicate a yellowish white.

Warning

The input domain of that definition is non standard!

Examples

>>> XYZ = np.array([95.00000000, 100.00000000, 105.00000000])
>>> XYZ_0 = np.array([94.80966767, 100.00000000, 107.30513595])
>>> whiteness_Berger1959(XYZ, XYZ_0)  
30.3638017...
colour.whiteness_Taube1960(XYZ, XYZ_0)[source]

Returns the whiteness index \(WI\) of given sample CIE XYZ tristimulus values using Taube (1960) method. [2]_

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of sample.
  • XYZ_0 (array_like) – CIE XYZ tristimulus values of reference white.
Returns:

Whiteness \(WI\).

Return type:

numeric or ndarray

Notes

  • Input CIE XYZ and CIE XYZ_0 tristimulus values are in domain [0, 100].
  • Whiteness \(WI\) values larger than 100 indicate a bluish white and values smaller than 100 indicate a yellowish white.

Examples

>>> XYZ = np.array([95.00000000, 100.00000000, 105.00000000])
>>> XYZ_0 = np.array([94.80966767, 100.00000000, 107.30513595])
>>> whiteness_Taube1960(XYZ, XYZ_0)  
91.4071738...
colour.whiteness_Stensby1968(Lab)[source]

Returns the whiteness index \(WI\) of given sample CIE Lab colourspace array using Stensby (1968) method. [2]_

Parameters:Lab (array_like) – CIE Lab colourspace array of sample.
Returns:Whiteness \(WI\).
Return type:numeric or ndarray

Notes

  • Input CIE Lab colourspace array is in domain [0, 100].
  • Whiteness \(WI\) values larger than 100 indicate a bluish white and values smaller than 100 indicate a yellowish white.

Examples

>>> Lab = np.array([100.00000000, -2.46875131, -16.72486654])
>>> whiteness_Stensby1968(Lab)  
142.7683456...
colour.whiteness_ASTME313(XYZ)[source]

Returns the whiteness index \(WI\) of given sample CIE XYZ tristimulus values using ASTM E313 method. [2]_

Parameters:XYZ (array_like) – CIE XYZ tristimulus values of sample.
Returns:Whiteness \(WI\).
Return type:numeric or ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 100].

Warning

The input domain of that definition is non standard!

Examples

>>> XYZ = np.array([95.00000000, 100.00000000, 105.00000000])
>>> whiteness_ASTME313(XYZ)  
55.7400000...
colour.whiteness_Ganz1979(xy, Y)[source]

Returns the whiteness index \(W\) and tint \(T\) of given sample xy chromaticity coordinates using Ganz and Griesser (1979) method. [2]_

Parameters:
  • xy (array_like) – Chromaticity coordinates xy of sample.
  • Y (numeric or array_like) – Tristimulus \(Y\) value of sample.
Returns:

Whiteness \(W\) and tint \(T\).

Return type:

ndarray

Notes

  • Input tristimulus \(Y\) value is in domain [0, 100].
  • The formula coefficients are valid for CIE Standard Illuminant D Series D65 and CIE 1964 10 Degree Standard Observer.
  • Positive output tint \(T\) values indicate a greener tint while negative values indicate a redder tint.
  • Whiteness differences of less than 5 Ganz units appear to be indistinguishable to the human eye.
  • Tint differences of less than 0.5 Ganz units appear to be indistinguishable to the human eye.

Warning

The input domain of that definition is non standard!

Examples

>>> xy = np.array([0.3167, 0.3334])
>>> whiteness_Ganz1979(xy, 100)  
array([ 85.6003766...,   0.6789003...])
colour.whiteness_CIE2004(xy, Y, xy_n, observer=u'CIE 1931 2 Degree Standard Observer')[source]

Returns the whiteness \(W\) or \(W_{10}\) and tint \(T\) or \(T_{10}\) of given sample xy chromaticity coordinates using CIE 2004 method.

Parameters:
  • xy (array_like) – Chromaticity coordinates xy of sample.
  • Y (numeric or array_like) – Tristimulus \(Y\) value of sample.
  • xy_n (array_like) – Chromaticity coordinates xy_n of perfect diffuser.
  • observer (unicode, optional) – {‘CIE 1931 2 Degree Standard Observer’, ‘CIE 1964 10 Degree Standard Observer’}, CIE Standard Observer used for computations, tint \(T\) or \(T_{10}\) value is dependent on viewing field angular subtense.
Returns:

Whiteness \(W\) or \(W_{10}\) and tint \(T\) or \(T_{10}\) of given sample.

Return type:

ndarray

Notes

  • Input tristimulus \(Y\) value is in domain [0, 100].
  • This method may be used only for samples whose values of \(W\) or \(W_{10}\) lie within the following limits: greater than 40 and less than 5Y - 280, or 5Y10 - 280.
  • This method may be used only for samples whose values of \(T\) or \(T_{10}\) lie within the following limits: greater than -4 and less than +2.
  • Output whiteness \(W\) or \(W_{10}\) values larger than 100 indicate a bluish white while values smaller than 100 indicate a yellowish white. [2]_
  • Positive output tint \(T\) or \(T_{10}\) values indicate a greener tint while negative values indicate a redder tint.

Warning

The input domain of that definition is non standard!

References

[4]CIE TC 1-48. (2004). The evaluation of whiteness. In CIE 015:2004 Colorimetry, 3rd Edition (p. 24). ISBN:978-3-901-90633-6

Examples

>>> xy = np.array([0.3167, 0.3334])
>>> xy_n = np.array([0.3139, 0.3311])
>>> whiteness_CIE2004(xy, 100, xy_n)  
array([ 93.85...,  -1.305...])
colour.yellowness(XYZ, method=u'ASTM E313')[source]

Returns the yellowness \(W\) using given method.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of sample.
  • method (unicode, optional) – {‘ASTM E313’, ‘ASTM D1925’}, Computation method.
Returns:

yellowness \(Y\).

Return type:

numeric or ndarray

Examples

>>> import numpy as np
>>> XYZ = np.array([95.00000000, 100.00000000, 105.00000000])
>>> yellowness(XYZ)  
11.0650000...
>>> method = 'ASTM D1925'
>>> yellowness(XYZ, method=method)  
10.2999999...
colour.yellowness_ASTMD1925(XYZ)[source]

Returns the yellowness index \(YI\) of given sample CIE XYZ tristimulus values using ASTM D1925 method. [1]_

ASTM D1925 has been specifically developed for the definition of the Yellowness of homogeneous, non-fluorescent, almost neutral-transparent, white-scattering or opaque plastics as they will be reviewed under daylight condition. It can be other materials as well, as long as they fit into this description.

Parameters:XYZ (array_like) – CIE XYZ tristimulus values of sample.
Returns:Whiteness \(YI\).
Return type:numeric or ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 100].

Warning

The input domain of that definition is non standard!

Examples

>>> import numpy as np
>>> XYZ = np.array([95.00000000, 100.00000000, 105.00000000])
>>> yellowness_ASTMD1925(XYZ)  
10.2999999...
colour.yellowness_ASTME313(XYZ)[source]

Returns the yellowness index \(YI\) of given sample CIE XYZ tristimulus values using ASTM E313 method. [1]_

ASTM E313 has successfully been used for a variety of white or near white materials. This includes coatings, Plastics, Textiles.

Parameters:XYZ (array_like) – CIE XYZ tristimulus values of sample.
Returns:Whiteness \(YI\).
Return type:numeric or ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 100].

Warning

The input domain of that definition is non standard!

Examples

>>> import numpy as np
>>> XYZ = np.array([95.00000000, 100.00000000, 105.00000000])
>>> yellowness_ASTME313(XYZ)  
11.0650000...
class colour.Hunt_InductionFactors[source]

Bases: colour.appearance.hunt.Hunt_InductionFactors

Hunt colour appearance model induction factors.

Parameters:
  • N_c (numeric or array_like) – Chromatic surround induction factor \(N_c\).
  • N_b (numeric or array_like) – Brightness surround induction factor \(N_b\).
  • N_cb (numeric or array_like, optional) – Chromatic background induction factor \(N_{cb}\), approximated using tristimulus values \(Y_w\) and \(Y_b\) of respectively the reference white and the background if not specified.
  • N_bb (numeric or array_like, optional) – Brightness background induction factor \(N_{bb}\), approximated using tristimulus values \(Y_w\) and \(Y_b\) of respectively the reference white and the background if not specified.

Returns a new instance of the Hunt_InductionFactors class.

class colour.Hunt_Specification[source]

Bases: colour.appearance.hunt.Hunt_Specification

Defines the Hunt colour appearance model specification.

This specification has field names consistent with the remaining colour appearance models in colour.appearance but diverge from Fairchild (2013) reference.

Parameters:
  • J (numeric or array_like) – Correlate of Lightness \(J\).
  • C (numeric or array_like) – Correlate of chroma \(C_94\).
  • h (numeric or array_like) – Hue angle \(h_S\) in degrees.
  • s (numeric or array_like) – Correlate of saturation \(s\).
  • Q (numeric or array_like) – Correlate of brightness \(Q\).
  • M (numeric or array_like) – Correlate of colourfulness \(M_94\).
  • H (numeric or array_like) – Hue \(h\) quadrature \(H\).
  • HC (numeric or array_like) – Hue \(h\) composition \(H_C\).

Notes

  • This specification is the one used in the current model implementation.

Create new instance of Hunt_Specification(J, C, h, s, Q, M, H, HC)

colour.XYZ_to_Hunt(XYZ, XYZ_w, XYZ_b, L_A, surround=Hunt_InductionFactors(N_c=1, N_b=75, N_cb=None, N_bb=None), L_AS=None, CCT_w=None, XYZ_p=None, p=None, S=None, S_w=None, helson_judd_effect=False, discount_illuminant=True)[source]

Computes the Hunt colour appearance model correlates.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of test sample / stimulus in domain [0, 100].
  • XYZ_w (array_like) – CIE XYZ tristimulus values of reference white in domain [0, 100].
  • XYZ_b (array_like) – CIE XYZ tristimulus values of background in domain [0, 100].
  • L_A (numeric or array_like) – Adapting field luminance \(L_A\) in \(cd/m^2\).
  • surround (Hunt_InductionFactors, optional) – Surround viewing conditions induction factors.
  • L_AS (numeric or array_like, optional) – Scotopic luminance \(L_{AS}\) of the illuminant, approximated if not specified.
  • CCT_w (numeric or array_like, optional) – Correlated color temperature \(T_{cp}\): of the illuminant, needed to approximate \(L_{AS}\).
  • XYZ_p (array_like, optional) – CIE XYZ tristimulus values of proximal field in domain [0, 100], assumed to be equal to background if not specified.
  • p (numeric or array_like, optional) – Simultaneous contrast / assimilation factor \(p\) with value in domain [-1, 0] when simultaneous contrast occurs and domain [0, 1] when assimilation occurs.
  • S (numeric or array_like, optional) – Scotopic response \(S\) to the stimulus, approximated using tristimulus values \(Y\) of the stimulus if not specified.
  • S_w (numeric or array_like, optional) – Scotopic response \(S_w\) for the reference white, approximated using the tristimulus values \(Y_w\) of the reference white if not specified.
  • helson_judd_effect (bool, optional) – Truth value indicating whether the Helson-Judd effect should be accounted for.
  • discount_illuminant (bool, optional) – Truth value indicating if the illuminant should be discounted.

Warning

The input domain of that definition is non standard!

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 100].
  • Input CIE XYZ_b tristimulus values are in domain [0, 100].
  • Input CIE XYZ_w tristimulus values are in domain [0, 100].
  • Input CIE XYZ_p tristimulus values are in domain [0, 100].
Returns:Hunt colour appearance model specification.
Return type:Hunt_Specification
Raises:ValueError – If an illegal arguments combination is specified.

Examples

>>> XYZ = np.array([19.01, 20.00, 21.78])
>>> XYZ_w = np.array([95.05, 100.00, 108.88])
>>> XYZ_b = np.array([95.05, 100.00, 108.88])
>>> L_A = 318.31
>>> surround = HUNT_VIEWING_CONDITIONS['Normal Scenes']
>>> CCT_w = 6504.0
>>> XYZ_to_Hunt(  
...     XYZ, XYZ_w, XYZ_b, L_A, surround, CCT_w=CCT_w)
Hunt_Specification(J=30.0462678..., C=0.1210508..., h=269.2737594..., s=0.0199093..., Q=22.2097654..., M=0.1238964..., H=None, HC=None)
class colour.ATD95_Specification[source]

Bases: colour.appearance.atd95.ATD95_Specification

Defines the ATD (1995) colour vision model specification.

This specification has field names consistent with the remaining colour appearance models in colour.appearance but diverge from Fairchild (2013) reference.

Parameters:
  • h (numeric or array_like) – Hue angle \(H\) in degrees.
  • C (numeric or array_like) – Correlate of saturation \(C\). Guth (1995) incorrectly uses the terms saturation and chroma interchangeably. However, \(C\) is here a measure of saturation rather than chroma since it is measured relative to the achromatic response for the stimulus rather than that of a similarly illuminated white.
  • Q (numeric or array_like) – Correlate of brightness \(Br\).
  • A_1 (numeric or array_like) – First stage \(A_1\) response.
  • T_1 (numeric or array_like) – First stage \(T_1\) response.
  • D_1 (numeric or array_like) – First stage \(D_1\) response.
  • A_2 (numeric or array_like) – Second stage \(A_2\) response.
  • T_2 (numeric or array_like) – Second stage \(A_2\) response.
  • D_2 (numeric or array_like) – Second stage \(D_2\) response.

Notes

  • This specification is the one used in the current model implementation.

Create new instance of ATD95_Specification(h, C, Q, A_1, T_1, D_1, A_2, T_2, D_2)

colour.XYZ_to_ATD95(XYZ, XYZ_0, Y_0, k_1, k_2, sigma=300)[source]

Computes the ATD (1995) colour vision model correlates.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of test sample / stimulus in domain [0, 100].
  • XYZ_0 (array_like) – CIE XYZ tristimulus values of reference white in domain [0, 100].
  • Y_0 (numeric or array_like) – Absolute adapting field luminance in \(cd/m^2\).
  • k_1 (numeric or array_like) – Application specific weight \(k_1\).
  • k_2 (numeric or array_like) – Application specific weight \(k_2\).
  • sigma (numeric or array_like, optional) – Constant \(\sigma\) varied to predict different types of data.
Returns:

ATD (1995) colour vision model specification.

Return type:

ATD95_Specification

Warning

The input domain of that definition is non standard!

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 100].
  • Input CIE XYZ_0 tristimulus values are in domain [0, 100].
  • For unrelated colors, there is only self-adaptation and \(k_1\) is set to 1.0 while \(k_2\) is set to 0.0. For related colors such as typical colorimetric applications, \(k_1\) is set to 0.0 and \(k_2\) is set to a value between 15 and 50 (Guth, 1995).

Examples

>>> XYZ = np.array([19.01, 20.00, 21.78])
>>> XYZ_0 = np.array([95.05, 100.00, 108.88])
>>> Y_0 = 318.31
>>> k_1 = 0.0
>>> k_2 = 50.0
>>> XYZ_to_ATD95(XYZ, XYZ_0, Y_0, k_1, k_2)  
ATD95_Specification(h=1.9089869..., C=1.2064060..., Q=0.1814003..., A_1=0.1787931... T_1=0.0286942..., D_1=0.0107584..., A_2=0.0192182..., T_2=0.0205377..., D_2=0.0107584...)
class colour.CIECAM02_InductionFactors[source]

Bases: colour.appearance.ciecam02.CIECAM02_InductionFactors

CIECAM02 colour appearance model induction factors.

Parameters:
  • F (numeric or array_like) – Maximum degree of adaptation \(F\).
  • c (numeric or array_like) – Exponential non linearity \(c\).
  • N_c (numeric or array_like) – Chromatic induction factor \(N_c\).

Create new instance of CIECAM02_InductionFactors(F, c, N_c)

class colour.CIECAM02_Specification[source]

Bases: colour.appearance.ciecam02.CIECAM02_Specification

Defines the CIECAM02 colour appearance model specification.

Parameters:
  • J (numeric or array_like) – Correlate of Lightness \(J\).
  • C (numeric or array_like) – Correlate of chroma \(C\).
  • h (numeric or array_like) – Hue angle \(h\) in degrees.
  • s (numeric or array_like) – Correlate of saturation \(s\).
  • Q (numeric or array_like) – Correlate of brightness \(Q\).
  • M (numeric or array_like) – Correlate of colourfulness \(M\).
  • H (numeric or array_like) – Hue \(h\) quadrature \(H\).
  • HC (numeric or array_like) – Hue \(h\) composition \(H^C\).

Returns a new instance of the CIECAM02_Specification class.

colour.XYZ_to_CIECAM02(XYZ, XYZ_w, L_A, Y_b, surround=CIECAM02_InductionFactors(F=1, c=0.69, N_c=1), discount_illuminant=False)[source]

Computes the CIECAM02 colour appearance model correlates from given CIE XYZ tristimulus values.

This is the forward implementation.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of test sample / stimulus in domain [0, 100].
  • XYZ_w (array_like) – CIE XYZ tristimulus values of reference white in domain [0, 100].
  • L_A (numeric or array_like) – Adapting field luminance \(L_A\) in \(cd/m^2\), (often taken to be 20% of the luminance of a white object in the scene).
  • Y_b (numeric or array_like) – Relative luminance of background \(Y_b\) in \(cd/m^2\).
  • surround (CIECAM02_InductionFactors, optional) – Surround viewing conditions induction factors.
  • discount_illuminant (bool, optional) – Truth value indicating if the illuminant should be discounted.
Returns:

CIECAM02 colour appearance model specification.

Return type:

CIECAM02_Specification

Warning

The input domain of that definition is non standard!

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 100].
  • Input CIE XYZ_w tristimulus values are in domain [0, 100].

Examples

>>> XYZ = np.array([19.01, 20.00, 21.78])
>>> XYZ_w = np.array([95.05, 100.00, 108.88])
>>> L_A = 318.31
>>> Y_b = 20.0
>>> surround = CIECAM02_VIEWING_CONDITIONS['Average']
>>> XYZ_to_CIECAM02(XYZ, XYZ_w, L_A, Y_b, surround)  
CIECAM02_Specification(J=41.7310911..., C=0.1047077..., h=219.0484326..., s=2.3603053..., Q=195.3713259..., M=0.1088421..., H=278.0607358..., HC=None)
colour.CIECAM02_to_XYZ(CIECAM02_specification, XYZ_w, L_A, Y_b, surround=CIECAM02_InductionFactors(F=1, c=0.69, N_c=1), discount_illuminant=False)[source]

Converts CIECAM02 specification to CIE XYZ tristimulus values.

This is the reverse implementation.

Parameters:
  • CIECAM02_specification (CIECAM02_Specification) – CIECAM02 colour appearance model specification. Correlate of Lightness \(J\), correlate of chroma \(C\) or correlate of colourfulness \(M\) and hue angle \(h\) in degrees must be specified, e.g. \(JCh\) or \(JMh\).
  • XYZ_w (array_like) – CIE XYZ tristimulus values of reference white.
  • L_A (numeric or array_like) – Adapting field luminance \(L_A\) in \(cd/m^2\), (often taken to be 20% of the luminance of a white object in the scene).
  • Y_b (numeric or array_like) – Relative luminance of background \(Y_b\) in \(cd/m^2\).
  • surround (CIECAM02_Surround, optional) – Surround viewing conditions.
  • discount_illuminant (bool, optional) – Discount the illuminant.
Returns:

XYZCIE XYZ tristimulus values.

Return type:

ndarray

Raises:

ValueError – If neither C or M correlates have been defined in the CIECAM02_specification argument.

Warning

The output range of that definition is non standard!

Notes

  • CIECAM02_specification can also be passed as a compatible argument colour.as_namedtuple() definition.
  • Input CIE XYZ_w tristimulus values are in domain [0, 100].
  • Output CIE XYZ tristimulus values are in range [0, 100].

Examples

>>> specification = CIECAM02_Specification(
...     J=41.731091132513917,
...     C=0.104707757171031,
...     h=219.048432658311780)
>>> XYZ_w = np.array([95.05, 100.00, 108.88])
>>> L_A = 318.31
>>> Y_b = 20.0
>>> CIECAM02_to_XYZ(specification, XYZ_w, L_A, Y_b)  
array([ 19.01...,  20...  ,  21.78...])
class colour.LLAB_Specification[source]

Bases: colour.appearance.llab.LLAB_Specification

Defines the LLAB(l:c) colour appearance model specification.

This specification has field names consistent with the remaining colour appearance models in colour.appearance but diverge from Fairchild (2013) reference.

Parameters:
  • J (numeric or array_like) – Correlate of Lightness \(L_L\).
  • C (numeric or array_like) – Correlate of chroma \(Ch_L\).
  • h (numeric or array_like) – Hue angle \(h_L\) in degrees.
  • s (numeric or array_like) – Correlate of saturation \(s_L\).
  • M (numeric or array_like) – Correlate of colourfulness \(C_L\).
  • HC (numeric or array_like) – Hue \(h\) composition \(H^C\).
  • a (numeric or array_like) – Opponent signal \(A_L\).
  • b (numeric or array_like) – Opponent signal \(B_L\).

Notes

  • This specification is the one used in the current model implementation.

Create new instance of LLAB_Specification(J, C, h, s, M, HC, a, b)

colour.XYZ_to_LLAB(XYZ, XYZ_0, Y_b, L, surround=LLAB_InductionFactors(D=1, F_S=3, F_L=1, F_C=1))[source]

Computes the LLAB(l:c) colour appearance model correlates.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of test sample / stimulus in domain [0, 100].
  • XYZ_0 (array_like) – CIE XYZ tristimulus values of reference white in domain [0, 100].
  • Y_b (numeric or array_like) – Luminance factor of the background in \(cd/m^2\).
  • L (numeric or array_like) – Absolute luminance \(L\) of reference white in \(cd/m^2\).
  • surround (LLAB_InductionFactors, optional) – Surround viewing conditions induction factors.
Returns:

LLAB(l:c) colour appearance model specification.

Return type:

LLAB_Specification

Warning

The output range of that definition is non standard!

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 100].
  • Input CIE XYZ_0 tristimulus values are in domain [0, 100].

Examples

>>> XYZ = np.array([19.01, 20.00, 21.78])
>>> XYZ_0 = np.array([95.05, 100.00, 108.88])
>>> Y_b = 20.0
>>> L = 318.31
>>> surround = LLAB_VIEWING_CONDITIONS['ref_average_4_minus']
>>> XYZ_to_LLAB(XYZ, XYZ_0, Y_b, L, surround)  
LLAB_Specification(J=37.3668650..., C=0.0089496..., h=270..., s=0.0002395..., M=0.0190185..., HC=None, a=..., b=-0.0190185...)
class colour.Nayatani95_Specification[source]

Bases: colour.appearance.nayatani95.Nayatani95_Specification

Defines the Nayatani (1995) colour appearance model specification.

This specification has field names consistent with the remaining colour appearance models in colour.appearance but diverge from Fairchild (2013) reference.

Parameters:
  • Lstar_P (numeric or array_like) – Correlate of achromatic Lightness \(L_p^\star\).
  • C (numeric or array_like) – Correlate of chroma \(C\).
  • h (numeric or array_like) – Hue angle \(\theta\) in degrees.
  • s (numeric or array_like) – Correlate of saturation \(S\).
  • Q (numeric or array_like) – Correlate of brightness \(B_r\).
  • M (numeric or array_like) – Correlate of colourfulness \(M\).
  • H (numeric or array_like) – Hue \(h\) quadrature \(H\).
  • HC (numeric or array_like) – Hue \(h\) composition \(H_C\).
  • Lstar_N (numeric or array_like) – Correlate of normalised achromatic Lightness \(L_n^\star\).

Notes

  • This specification is the one used in the current model implementation.

Create new instance of Nayatani95_Specification(Lstar_P, C, h, s, Q, M, H, HC, Lstar_N)

colour.XYZ_to_Nayatani95(XYZ, XYZ_n, Y_o, E_o, E_or, n=1)[source]

Computes the Nayatani (1995) colour appearance model correlates.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of test sample / stimulus in domain [0, 100].
  • XYZ_n (array_like) – CIE XYZ tristimulus values of reference white in domain [0, 100].
  • Y_o (numeric or array_like) – Luminance factor \(Y_o\) of achromatic background as percentage in domain [0.18, 1.0]
  • E_o (numeric or array_like) – Illuminance \(E_o\) of the viewing field in lux.
  • E_or (numeric or array_like) – Normalising illuminance \(E_{or}\) in lux usually in domain [1000, 3000]
  • n (numeric or array_like, optional) – Noise term used in the non linear chromatic adaptation model.
Returns:

Nayatani (1995) colour appearance model specification.

Return type:

Nayatani95_Specification

Warning

The input domain of that definition is non standard!

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 100].
  • Input CIE XYZ_n tristimulus values are in domain [0, 100].

Examples

>>> XYZ = np.array([19.01, 20.00, 21.78])
>>> XYZ_n = np.array([95.05, 100.00, 108.88])
>>> Y_o = 20.0
>>> E_o = 5000.0
>>> E_or = 1000.0
>>> XYZ_to_Nayatani95(XYZ, XYZ_n, Y_o, E_o, E_or)  
Nayatani95_Specification(Lstar_P=49.9998829..., C=0.0133550..., h=257.5232268..., s=0.0133550..., Q=62.6266734..., M=0.0167262..., H=None, HC=None, Lstar_N=50.0039154...)
class colour.RLAB_Specification[source]

Bases: colour.appearance.rlab.RLAB_Specification

Defines the RLAB colour appearance model specification.

This specification has field names consistent with the remaining colour appearance models in colour.appearance but diverge from Fairchild (2013) reference.

Parameters:
  • J (numeric or array_like) – Correlate of Lightness \(L^R\).
  • C (numeric or array_like) – Correlate of achromatic chroma \(C^R\).
  • h (numeric or array_like) – Hue angle \(h^R\) in degrees.
  • s (numeric or array_like) – Correlate of saturation \(s^R\).
  • HC (numeric or array_like) – Hue \(h\) composition \(H^C\).
  • a (numeric or array_like) – Red–green chromatic response \(a^R\).
  • b (numeric or array_like) – Yellow–blue chromatic response \(b^R\).

Notes

  • This specification is the one used in the current model implementation.

Create new instance of RLAB_Specification(J, C, h, s, HC, a, b)

colour.XYZ_to_RLAB(XYZ, XYZ_n, Y_n, sigma=0.4347826086956522, D=1)[source]

Computes the RLAB model color appearance correlates.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of test sample / stimulus in domain [0, 100].
  • XYZ_n (array_like) – CIE XYZ tristimulus values of reference white in domain [0, 100].
  • Y_n (numeric or array_like) – Absolute adapting luminance in \(cd/m^2\).
  • sigma (numeric or array_like, optional) – Relative luminance of the surround, see RLAB_VIEWING_CONDITIONS for reference.
  • D (numeric or array_like, optional) – Discounting-the-Illuminant factor in domain [0, 1].
Returns:

RLAB colour appearance model specification.

Return type:

RLAB_Specification

Warning

The input domain of that definition is non standard!

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 100].
  • Input CIE XYZ_n tristimulus values are in domain [0, 100].

Examples

>>> XYZ = np.array([19.01, 20.00, 21.78])
>>> XYZ_n = np.array([109.85, 100, 35.58])
>>> Y_n = 31.83
>>> sigma = RLAB_VIEWING_CONDITIONS['Average']
>>> D = RLAB_D_FACTOR['Hard Copy Images']
>>> XYZ_to_RLAB(XYZ, XYZ_n, Y_n, sigma, D)  
RLAB_Specification(J=49.8347069..., C=54.8700585..., h=286.4860208..., s=1.1010410..., HC=None, a=15.5711021..., b=-52.6142956...)
colour.delta_E(Lab_1, Lab_2, method=u'CMC', **kwargs)[source]

Returns the difference \(\Delta E_{ab}\) between two given CIE Lab colourspace arrays using given method.

Parameters:
  • Lab_1 (array_like) – CIE Lab colourspace array 1.
  • Lab_2 (array_like) – CIE Lab colourspace array 2.
  • method (unicode, optional) – {‘CMC’, ‘CIE 1976’, ‘CIE 1994’, ‘CIE 2000’}, Computation method.
Other Parameters:
 
  • textiles (bool, optional) – {delta_E_CIE1994(), delta_E_CIE2000()}, Textiles application specific parametric factors \(k_L=2,\ k_C=k_H=1,\ k_1=0.048,\ k_2=0.014\) weights are used instead of \(k_L=k_C=k_H=1,\ k_1=0.045,\ k_2=0.015\).
  • l (numeric, optional) – {delta_E_CIE2000()}, Lightness weighting factor.
  • c (numeric, optional) – {delta_E_CIE2000()}, Chroma weighting factor.
Returns:

Colour difference \(\Delta E_{ab}\).

Return type:

numeric or ndarray

Examples

>>> Lab_1 = np.array([100.00000000, 21.57210357, 272.22819350])
>>> Lab_2 = np.array([100.00000000, 426.67945353, 72.39590835])
>>> delta_E(Lab_1, Lab_2)  
172.7047712...
>>> delta_E(Lab_1, Lab_2, method='CIE 1976')  
451.7133019...
>>> delta_E(Lab_1, Lab_2, method='CIE 1994')  
83.7792255...
>>> delta_E(  
...     Lab_1, Lab_2, method='CIE 1994', textiles=False)
83.7792255...
>>> delta_E(Lab_1, Lab_2, method='CIE 2000')  
94.0356490...
colour.delta_E_CIE1976(Lab_1, Lab_2)[source]

Returns the difference \(\Delta E_{ab}\) between two given CIE Lab colourspace arrays using CIE 1976 recommendation.

Parameters:
  • Lab_1 (array_like) – CIE Lab colourspace array 1.
  • Lab_2 (array_like) – CIE Lab colourspace array 2.
Returns:

Colour difference \(\Delta E_{ab}\).

Return type:

numeric or ndarray

References

[2]Lindbloom, B. (2003). Delta E (CIE 1976). Retrieved February 24, 2014, from http://brucelindbloom.com/Eqn_DeltaE_CIE76.html

Examples

>>> Lab_1 = np.array([100.00000000, 21.57210357, 272.22819350])
>>> Lab_2 = np.array([100.00000000, 426.67945353, 72.39590835])
>>> delta_E_CIE1976(Lab_1, Lab_2)  
451.7133019...
colour.delta_E_CIE1994(Lab_1, Lab_2, textiles=False)[source]

Returns the difference \(\Delta E_{ab}\) between two given CIE Lab colourspace arrays using CIE 1994 recommendation.

Parameters:
  • Lab_1 (array_like) – CIE Lab colourspace array 1.
  • Lab_2 (array_like) – CIE Lab colourspace array 2.
  • textiles (bool, optional) – Textiles application specific parametric factors \(k_L=2,\ k_C=k_H=1,\ k_1=0.048,\ k_2=0.014\) weights are used instead of \(k_L=k_C=k_H=1,\ k_1=0.045,\ k_2=0.015\).
Returns:

Colour difference \(\Delta E_{ab}\).

Return type:

numeric or ndarray

Notes

  • CIE 1994 colour differences are not symmetrical: difference between Lab_1 and Lab_2 may not be the same as difference between Lab_2 and Lab_1 thus one colour must be understood to be the reference against which a sample colour is compared.

References

[3]Lindbloom, B. (2011). Delta E (CIE 1994). Retrieved February 24, 2014, from http://brucelindbloom.com/Eqn_DeltaE_CIE94.html

Examples

>>> Lab_1 = np.array([100.00000000, 21.57210357, 272.22819350])
>>> Lab_2 = np.array([100.00000000, 426.67945353, 72.39590835])
>>> delta_E_CIE1994(Lab_1, Lab_2)  
83.7792255...
>>> delta_E_CIE1994(Lab_1, Lab_2, textiles=True)  
88.3355530...
colour.delta_E_CIE2000(Lab_1, Lab_2, textiles=False)[source]

Returns the difference \(\Delta E_{ab}\) between two given CIE Lab colourspace arrays using CIE 2000 recommendation.

Parameters:
  • Lab_1 (array_like) – CIE Lab colourspace array 1.
  • Lab_2 (array_like) – CIE Lab colourspace array 2.
  • textiles (bool, optional) – Textiles application specific parametric factors \(k_L=2,\ k_C=k_H=1\) weights are used instead of \(k_L=k_C=k_H=1\).
Returns:

Colour difference \(\Delta E_{ab}\).

Return type:

numeric or ndarray

Notes

  • CIE 2000 colour differences are not symmetrical: difference between Lab_1 and Lab_2 may not be the same as difference between Lab_2 and Lab_1 thus one colour must be understood to be the reference against which a sample colour is compared.
  • Parametric factors \(k_L=k_C=k_H=1\) weights under reference conditions: [5]_
    • Illumination: D65 source
    • Illuminance: 1000 lx
    • Observer: Normal colour vision
    • Background field: Uniform, neutral gray with \(L^*=50\)
    • Viewing mode: Object
    • Sample size: Greater than 4 degrees
    • Sample separation: Direct edge contact
    • Sample colour-difference magnitude: Lower than 5.0 \(\Delta E_{ab}\)
    • Sample structure: Homogeneous (without texture)

References

[4]Lindbloom, B. (2009). Delta E (CIE 2000). Retrieved February 24, 2014, from http://brucelindbloom.com/Eqn_DeltaE_CIE2000.html
[5]Melgosa, M. (2013). CIE / ISO new standard: CIEDE2000, 2013(July). Retrieved from http://www.color.org/events/colorimetry/Melgosa_CIEDE2000_Workshop-July4.pdf

Examples

>>> Lab_1 = np.array([100.00000000, 21.57210357, 272.22819350])
>>> Lab_2 = np.array([100.00000000, 426.67945353, 72.39590835])
>>> delta_E_CIE2000(Lab_1, Lab_2)  
94.0356490...
>>> Lab_2 = np.array([50.00000000, 426.67945353, 72.39590835])
>>> delta_E_CIE2000(Lab_1, Lab_2)  
100.8779470...
>>> delta_E_CIE2000(Lab_1, Lab_2, textiles=True)  
95.7920535...
colour.delta_E_CMC(Lab_1, Lab_2, l=2, c=1)[source]

Returns the difference \(\Delta E_{ab}\) between two given CIE Lab colourspace arrays using Colour Measurement Committee recommendation.

The quasimetric has two parameters: Lightness (l) and chroma (c), allowing the users to weight the difference based on the ratio of l:c. Commonly used values are 2:1 for acceptability and 1:1 for the threshold of imperceptibility.

Parameters:
  • Lab_1 (array_like) – CIE Lab colourspace array 1.
  • Lab_2 (array_like) – CIE Lab colourspace array 2.
  • l (numeric, optional) – Lightness weighting factor.
  • c (numeric, optional) – Chroma weighting factor.
Returns:

Colour difference \(\Delta E_{ab}\).

Return type:

numeric or ndarray

References

[5]Lindbloom, B. (2009). Delta E (CMC). Retrieved February 24, 2014, from http://brucelindbloom.com/Eqn_DeltaE_CMC.html

Examples

>>> Lab_1 = np.array([100.00000000, 21.57210357, 272.22819350])
>>> Lab_2 = np.array([100.00000000, 426.67945353, 72.39590835])
>>> delta_E_CMC(Lab_1, Lab_2)  
172.7047712...
colour.delta_E_CAM02LCD(Jpapbp_1, Jpapbp_2)[source]

Returns the difference \(\Delta E'\) between two given Luo et al. (2006) CAM02-LCD colourspaces \(J'a'b'\) arrays.

Parameters:
  • Jpapbp_1 (array_like) – Standard / reference Luo et al. (2006) CAM02-LCD colourspaces \(J'a'b'\) array.
  • Jpapbp_2 (array_like) – Sample / test Luo et al. (2006) CAM02-LCD colourspaces \(J'a'b'\) array.
Returns:

Colour difference \(\Delta E'\).

Return type:

numeric or ndarray

Examples

>>> Jpapbp_1 = np.array([54.90433134, -0.08450395, -0.06854831])
>>> Jpapbp_2 = np.array([54.90433134, -0.08442362, -0.06848314])
>>> delta_E_CAM02LCD(Jpapbp_1, Jpapbp_2)  
0.0001034...
colour.delta_E_CAM02SCD(Jpapbp_1, Jpapbp_2)[source]

Returns the difference \(\Delta E'\) between two given Luo et al. (2006) CAM02-SCD colourspaces \(J'a'b'\) arrays.

Parameters:
  • Jpapbp_1 (array_like) – Standard / reference Luo et al. (2006) CAM02-SCD colourspaces \(J'a'b'\) array.
  • Jpapbp_2 (array_like) – Sample / test Luo et al. (2006) CAM02-SCD colourspaces \(J'a'b'\) array.
Returns:

Colour difference \(\Delta E'\).

Return type:

numeric or ndarray

Examples

>>> Jpapbp_1 = np.array([54.90433134, -0.08450395, -0.06854831])
>>> Jpapbp_2 = np.array([54.90433134, -0.08442362, -0.06848314])
>>> delta_E_CAM02SCD(Jpapbp_1, Jpapbp_2)  
0.0001034...
colour.delta_E_CAM02UCS(Jpapbp_1, Jpapbp_2)[source]

Returns the difference \(\Delta E'\) between two given Luo et al. (2006) CAM02-UCS colourspaces \(J'a'b'\) arrays.

Parameters:
  • Jpapbp_1 (array_like) – Standard / reference Luo et al. (2006) CAM02-UCS colourspaces \(J'a'b'\) array.
  • Jpapbp_2 (array_like) – Sample / test Luo et al. (2006) CAM02-UCS colourspaces \(J'a'b'\) array.
Returns:

Colour difference \(\Delta E'\).

Return type:

numeric or ndarray

Examples

>>> Jpapbp_1 = np.array([54.90433134, -0.08450395, -0.06854831])
>>> Jpapbp_2 = np.array([54.90433134, -0.08442362, -0.06848314])
>>> delta_E_CAM02UCS(Jpapbp_1, Jpapbp_2)  
0.0001034...
class colour.RGB_SpectralSensitivities(name, data)[source]

Bases: colour.colorimetry.spectrum.TriSpectralPowerDistribution

Implements support for a camera RGB spectral sensitivities.

Parameters:
  • name (unicode) – Camera name.
  • data (dict) – Camera RGB spectral sensitivities data.
red
green
blue
blue

Property for self.z attribute.

Returns:self.z
Return type:SpectralPowerDistribution

Warning

RGB_SpectralSensitivities.blue is read only.

green

Property for self.y attribute.

Returns:self.y
Return type:SpectralPowerDistribution

Warning

RGB_SpectralSensitivities.green is read only.

red

Property for self.x attribute.

Returns:self.x
Return type:SpectralPowerDistribution

Warning

RGB_SpectralSensitivities.red is read only.

class colour.RGB_DisplayPrimaries(name, data)[source]

Bases: colour.colorimetry.spectrum.TriSpectralPowerDistribution

Implements support for a RGB display (such as a CRT or LCD) primaries tri-spectral power distributions.

Parameters:
  • name (unicode) – RGB display name.
  • data (dict) – RGB display primaries tri-spectral power distributions data.
red
green
blue
blue

Property for self.z attribute.

Returns:self.z
Return type:SpectralPowerDistribution

Warning

RGB_DisplayPrimaries.blue is read only.

green

Property for self.y attribute.

Returns:self.y
Return type:SpectralPowerDistribution

Warning

RGB_DisplayPrimaries.green is read only.

red

Property for self.x attribute.

Returns:self.x
Return type:SpectralPowerDistribution

Warning

RGB_DisplayPrimaries.red is read only.

colour.first_order_colour_fit(m_1, m_2)[source]

Performs a first order colour fit from given \(m_1\) colour array to \(m_2\) colour array. The resulting colour fitting matrix is computed using multiple linear regression.

The purpose of that object is for example the matching of two ColorChecker colour rendition charts together.

Parameters:
  • m_1 (array_like, (3, n)) – Test array \(m_1\) to fit onto array \(m_2\).
  • m_2 (array_like, (3, n)) – Reference array the array \(m_1\) will be colour fitted against.
Returns:

Colour fitting matrix.

Return type:

ndarray, (3, 3)

Examples

>>> m_1 = np.array(
...     [[0.17224810, 0.09170660, 0.06416938],
...      [0.49189645, 0.27802050, 0.21923399],
...      [0.10999751, 0.18658946, 0.29938611],
...      [0.11666120, 0.14327905, 0.05713804],
...      [0.18988879, 0.18227649, 0.36056247],
...      [0.12501329, 0.42223442, 0.37027445],
...      [0.64785606, 0.22396782, 0.03365194],
...      [0.06761093, 0.11076896, 0.39779139],
...      [0.49101797, 0.09448929, 0.11623839],
...      [0.11622386, 0.04425753, 0.14469986],
...      [0.36867946, 0.44545230, 0.06028681],
...      [0.61632937, 0.32323906, 0.02437089],
...      [0.03016472, 0.06153243, 0.29014596],
...      [0.11103655, 0.30553067, 0.08149137],
...      [0.41162190, 0.05816656, 0.04845934],
...      [0.73339206, 0.53075188, 0.02475212],
...      [0.47347718, 0.08834792, 0.30310315],
...      [0.00000000, 0.25187016, 0.35062450],
...      [0.76809639, 0.78486240, 0.77808297],
...      [0.53822392, 0.54307997, 0.54710883],
...      [0.35458526, 0.35318419, 0.35524431],
...      [0.17976704, 0.18000531, 0.17991488],
...      [0.09351417, 0.09510603, 0.09675027],
...      [0.03405071, 0.03295077, 0.03702047]])
>>> m_2 = np.array(
...     [[0.15579559, 0.09715755, 0.07514556],
...      [0.39113140, 0.25943419, 0.21266708],
...      [0.12824821, 0.18463570, 0.31508023],
...      [0.12028974, 0.13455659, 0.07408400],
...      [0.19368988, 0.21158946, 0.37955964],
...      [0.19957425, 0.36085439, 0.40678123],
...      [0.48896605, 0.20691688, 0.05816533],
...      [0.09775522, 0.16710693, 0.47147724],
...      [0.39358649, 0.12233400, 0.10526425],
...      [0.10780332, 0.07258529, 0.16151473],
...      [0.27502671, 0.34705454, 0.09728099],
...      [0.43980441, 0.26880559, 0.05430533],
...      [0.05887212, 0.11126272, 0.38552469],
...      [0.12705825, 0.25787860, 0.13566464],
...      [0.35612929, 0.07933258, 0.05118732],
...      [0.48131976, 0.42082843, 0.07120612],
...      [0.34665585, 0.15170714, 0.24969804],
...      [0.08261116, 0.24588716, 0.48707733],
...      [0.66054904, 0.65941137, 0.66376412],
...      [0.48051509, 0.47870296, 0.48230082],
...      [0.33045354, 0.32904184, 0.33228886],
...      [0.18001305, 0.17978567, 0.18004416],
...      [0.10283975, 0.10424680, 0.10384975],
...      [0.04742204, 0.04772203, 0.04914226]])
>>> first_order_colour_fit(m_1, m_2)  
array([[ 0.6982266...,  0.0307162...,  0.1621042...],
       [ 0.0689349...,  0.6757961...,  0.1643038...],
       [-0.0631495...,  0.0921247...,  0.9713415...]])
class colour.IES_TM2714_Spd(path=None, header=None, spectral_quantity=None, reflection_geometry=None, transmission_geometry=None, bandwidth_FWHM=None, bandwidth_corrected=None)[source]

Bases: colour.colorimetry.spectrum.SpectralPowerDistribution

Defines a IES TM-27-14 spectral power distribution.

This class can read and write IES TM-27-14 spectral data XML files.

Parameters:
  • path (unicode, optional) – Spectral data XML file path.
  • header (IES_TM2714_Header, optional) – IES TM-27-14 spectral power distribution header.
  • spectral_quantity (unicode, optional) – {‘flux’, ‘absorptance’, ‘transmittance’, ‘reflectance’, ‘intensity’, ‘irradiance’, ‘radiance’, ‘exitance’, ‘R-Factor’, ‘T-Factor’, ‘relative’, ‘other’}, Quantity of measurement for each element of the spectral data.
  • reflection_geometry (unicode, optional) – {‘di:8’, ‘de:8’, ‘8:di’, ‘8:de’, ‘d:d’, ‘d:0’, ‘45a:0’, ‘45c:0’, ‘0:45a’, ‘45x:0’, ‘0:45x’, ‘other’}, Spectral reflectance factors geometric conditions.
  • transmission_geometry (unicode, optional) – {‘0:0’, ‘di:0’, ‘de:0’, ‘0:di’, ‘0:de’, ‘d:d’, ‘other’}, Spectral transmittance factors geometric conditions.
  • bandwidth_FWHM (numeric, optional) – Spectroradiometer full-width half-maximum bandwidth in nanometers.
  • bandwidth_corrected (bool, optional) – Specifies if bandwidth correction has been applied to the measured data.

Notes

Reflection Geometry

  • di:8: Diffuse / eight-degree, specular component included.
  • de:8: Diffuse / eight-degree, specular component excluded.
  • 8:di: Eight-degree / diffuse, specular component included.
  • 8:de: Eight-degree / diffuse, specular component excluded.
  • d:d: Diffuse / diffuse.
  • d:0: Alternative diffuse.
  • 45a:0: Forty-five degree annular / normal.
  • 45c:0: Forty-five degree circumferential / normal.
  • 0:45a: Normal / forty-five degree annular.
  • 45x:0: Forty-five degree directional / normal.
  • 0:45x: Normal / forty-five degree directional.
  • other: User-specified in comments.

Transmission Geometry

  • 0:0: Normal / normal.
  • di:0: Diffuse / normal, regular component included.
  • de:0: Diffuse / normal, regular component excluded.
  • 0:di: Normal / diffuse, regular component included.
  • 0:de: Normal / diffuse, regular component excluded.
  • d:d: Diffuse / diffuse.
  • other: User-specified in comments.
mapping
path
header
spectral_quantity
reflection_geometry
transmission_geometry
bandwidth_FWHM
bandwidth_corrected
read()[source]
write()[source]

Examples

>>> from os.path import dirname, join
>>> directory = join(dirname(__file__), 'tests', 'resources')
>>> spd = IES_TM2714_Spd(join(directory, 'Fluorescent.spdx'))
>>> spd.read()
True
>>> spd.header.manufacturer
'Unknown'
>>> # Doctests ellipsis for Python 2.x compatibility.
>>> spd[501.7]  
array(0.095...)
bandwidth_FWHM

Property for self._bandwidth_FWHM private attribute.

Returns:self._bandwidth_FWHM.
Return type:numeric
bandwidth_corrected

Property for self._bandwidth_corrected private attribute.

Returns:self._bandwidth_corrected.
Return type:bool
header

Property for self._header private attribute.

Returns:self._header.
Return type:IES_TM2714_Header
mapping

Property for self.mapping attribute.

Returns:
Return type:Structure

Warning

IES_TM2714_Spd.mapping is read only.

path

Property for self._path private attribute.

Returns:self._path.
Return type:unicode
read()[source]

Reads and parses the spectral data XML file path.

Returns:Definition success.
Return type:bool

Examples

>>> from os.path import dirname, join
>>> directory = join(dirname(__file__), 'tests', 'resources')
>>> spd = IES_TM2714_Spd(join(directory, 'Fluorescent.spdx'))
>>> spd.read()
True
>>> spd.header.description
'Rare earth fluorescent lamp'
>>> # Doctests ellipsis for Python 2.x compatibility.
>>> spd[400]  
array(0.034...)
reflection_geometry

Property for self._reflection_geometry private attribute.

Returns:self._reflection_geometry.
Return type:unicode
spectral_quantity

Property for self._spectral_quantity private attribute.

Returns:self._spectral_quantity.
Return type:unicode
transmission_geometry

Property for self._transmission_geometry private attribute.

Returns:self._transmission_geometry.
Return type:unicode
write()[source]

Write the spd spectral data to XML file path.

Returns:Definition success.
Return type:bool

Examples

>>> from os.path import dirname, join
>>> from shutil import rmtree
>>> from tempfile import mkdtemp
>>> directory = join(dirname(__file__), 'tests', 'resources')
>>> spd = IES_TM2714_Spd(join(directory, 'Fluorescent.spdx'))
>>> spd.read()
True
>>> temporary_directory = mkdtemp()
>>> spd.path = join(temporary_directory, 'Fluorescent.spdx')
>>> spd.write()
True
>>> rmtree(temporary_directory)
colour.read_image(path, bit_depth=u'float32')[source]

Reads given image using OpenImageIO.

Parameters:
  • path (unicode) – Image path.
  • bit_depth (unicode, optional) – {‘float32’, ‘uint8’, ‘uint16’, ‘float16’}, Image bit_depth.
Returns:

Image as a ndarray.

Return type:

ndarray

Notes

  • For convenience, single channel images are squeezed to 2d arrays.

Examples

>>> import os
>>> path = os.path.join('tests', 'resources', 'CMSTestPattern.exr')
>>> image = read_image(path)  
colour.write_image(image, path, bit_depth=u'float32')[source]

Writes given image using OpenImageIO.

Parameters:
  • image (array_like) – Image data.
  • path (unicode) – Image path.
  • bit_depth (unicode, optional) – {‘float32’, ‘uint8’, ‘uint16’, ‘float16’}, Image bit_depth.
Returns:

Definition success.

Return type:

bool

Examples

>>> import os
>>> path = os.path.join('tests', 'resources', 'CMSTestPattern.exr')
>>> image = read_image(path)  
>>> path = os.path.join('tests', 'resources', 'CMSTestPattern.png')
>>> write_image(image, path, 'uint8')  
True
colour.read_spectral_data_from_csv_file(path, delimiter=u', ', fields=None, default=0)[source]

Reads the spectral data from given CSV file in the following form:

390, 4.15003E-04, 3.68349E-04, 9.54729E-03 395, 1.05192E-03, 9.58658E-04, 2.38250E-02 400, 2.40836E-03, 2.26991E-03, 5.66498E-02 ... 830, 9.74306E-07, 9.53411E-08, 0.00000

and returns it as an OrderedDict of dict as follows:

OrderedDict([ (‘field’, {‘wavelength’: ‘value’, ..., ‘wavelength’: ‘value’}), ..., (‘field’, {‘wavelength’: ‘value’, ..., ‘wavelength’: ‘value’})])

Parameters:
  • path (unicode) – Absolute CSV file path.
  • delimiter (unicode, optional) – CSV file content delimiter.
  • fields (array_like, optional) – CSV file spectral data fields names. If no value is provided the first line of the file will be used as spectral data fields names.
  • default (numeric, optional) – Default value for fields row with missing value.
Returns:

CSV file content.

Return type:

OrderedDict

Raises:

RuntimeError – If the CSV spectral data file doesn’t define the appropriate fields.

Notes

  • A CSV spectral data file should define at least define two fields: one for the wavelengths and one for the associated values of one spectral power distribution.
  • If no value is provided for the fields names, the first line of the file will be used as spectral data fields names.

Examples

>>> import os
>>> from pprint import pprint
>>> csv_file = os.path.join(
...     os.path.dirname(__file__),
...     'tests',
...     'resources',
...     'colorchecker_n_ohta.csv')
>>> spds_data = read_spectral_data_from_csv_file(csv_file)
>>> pprint(list(spds_data.keys()))
['1',
 '2',
 '3',
 '4',
 '5',
 '6',
 '7',
 '8',
 '9',
 '10',
 '11',
 '12',
 '13',
 '14',
 '15',
 '16',
 '17',
 '18',
 '19',
 '20',
 '21',
 '22',
 '23',
 '24']
colour.read_spds_from_csv_file(path, delimiter=u', ', fields=None, default=0)[source]

Reads the spectral data from given CSV file and return its content as an OrderedDict of colour.colorimetry.spectrum.SpectralPowerDistribution classes.

Parameters:
  • path (unicode) – Absolute CSV file path.
  • delimiter (unicode, optional) – CSV file content delimiter.
  • fields (array_like, optional) – CSV file spectral data fields names. If no value is provided the first line of the file will be used for as spectral data fields names.
  • default (numeric) – Default value for fields row with missing value.
Returns:

colour.colorimetry.spectrum.SpectralPowerDistribution classes of given CSV file.

Return type:

OrderedDict

Examples

>>> import os
>>> csv_file = os.path.join(
...     os.path.dirname(__file__),
...     'tests',
...     'resources',
...     'colorchecker_n_ohta.csv')
>>> spds = read_spds_from_csv_file(csv_file)
>>> print(tuple(spds.keys()))
('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24')
>>> print(spds['1'])
SpectralPowerDistribution('1', (380.0, 780.0, 5.0))
colour.write_spds_to_csv_file(spds, path, delimiter=u', ', fields=None)[source]

Writes the given spectral power distributions to given CSV file.

Parameters:
  • spds (dict) – Spectral power distributions to write.
  • path (unicode) – Absolute CSV file path.
  • delimiter (unicode, optional) – CSV file content delimiter.
  • fields (array_like, optional) – CSV file spectral data fields names. If no value is provided the order of fields will be the one defined by the sorted spectral power distributions dict.
Returns:

Definition success.

Return type:

bool

Raises:

RuntimeError – If the given spectral power distributions have different shapes.

colour.read_spds_from_xrite_file(path)[source]

Reads the spectral data from given X-Rite file and returns it as an OrderedDict of colour.colorimetry.spectrum.SpectralPowerDistribution classes.

Parameters:path (unicode) – Absolute X-Rite file path.
Returns:colour.colorimetry.spectrum.SpectralPowerDistribution classes of given X-Rite file.
Return type:OrderedDict

Notes

  • This parser is minimalistic and absolutely not bullet proof.

Examples

>>> import os
>>> from pprint import pprint
>>> xrite_file = os.path.join(
...     os.path.dirname(__file__),
...     'tests',
...     'resources',
...     'xrite_digital_colour_checker.txt')
>>> spds_data = read_spds_from_xrite_file(xrite_file)
>>> pprint(list(spds_data.keys()))  
['X1', 'X2', 'X3', 'X4', 'X5', 'X6', 'X7', 'X8', 'X9', 'X10']
colour.XYZ_to_xyY(XYZ, illuminant=array([ 0.3457, 0.3585]))[source]

Converts from CIE XYZ tristimulus values to CIE xyY colourspace and reference illuminant.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • illuminant (array_like, optional) – Reference illuminant chromaticity coordinates.
Returns:

CIE xyY colourspace array.

Return type:

ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 1].
  • Output CIE xyY colourspace array is in range [0, 1].

References

[2]Lindbloom, B. (2003). XYZ to xyY. Retrieved February 24, 2014, from http://www.brucelindbloom.com/Eqn_XYZ_to_xyY.html

Examples

>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> XYZ_to_xyY(XYZ)  
array([ 0.2641477...,  0.3777000...,  0.1008    ])
colour.xyY_to_XYZ(xyY)[source]

Converts from CIE xyY colourspace to CIE XYZ tristimulus values.

Parameters:xyY (array_like) – CIE xyY colourspace array.
Returns:CIE XYZ tristimulus values.
Return type:ndarray

Notes

  • Input CIE xyY colourspace array is in domain [0, 1].
  • Output CIE XYZ tristimulus values are in range [0, 1].

References

[3]Lindbloom, B. (2009). xyY to XYZ. Retrieved February 24, 2014, from http://www.brucelindbloom.com/Eqn_xyY_to_XYZ.html

Examples

>>> xyY = np.array([0.26414772, 0.37770001, 0.10080000])
>>> xyY_to_XYZ(xyY)  
array([ 0.0704953...,  0.1008    ,  0.0955831...])
colour.xy_to_xyY(xy, Y=1)[source]

Converts from xy chromaticity coordinates to CIE xyY colourspace by extending the array last dimension with \(Y\) Luminance.

xy argument with last dimension being equal to 3 will be assumed to be a CIE xyY colourspace array argument and will be returned directly by the definition.

Parameters:
  • xy (array_like) – xy chromaticity coordinates or CIE xyY colourspace array.
  • Y (numeric, optional) – Optional \(Y\) Luminance value used to construct the CIE xyY colourspace array, otherwise the \(Y\) Luminance will be set to 1.
Returns:

CIE xyY colourspace array.

Return type:

ndarray

See also

xyY_to_xy()

Notes

  • This definition is a convenient object provided to implement support of illuminant argument luminance value in various colour.models package objects such as colour.models.Lab_to_XYZ() or colour.models.Luv_to_XYZ().
  • Input xy chromaticity coordinates are in domain [0, 1].
  • Output CIE xyY colourspace array is in range [0, 1].

Examples

>>> xy = np.array([0.26414772, 0.37770001])
>>> xy_to_xyY(xy)  
array([ 0.2641477...,  0.3777000...,  1.        ])
>>> xy = np.array([0.26414772, 0.37770001, 0.10080000])
>>> xy_to_xyY(xy)  
array([ 0.2641477...,  0.3777000...,  0.1008...])
>>> xy = np.array([0.26414772, 0.37770001])
>>> xy_to_xyY(xy, 100)  
array([   0.2641477...,    0.3777000...,  100.        ])
colour.xyY_to_xy(xyY)[source]

Converts from CIE xyY colourspace to xy chromaticity coordinates.

xyY argument with last dimension being equal to 2 will be assumed to be a xy chromaticity coordinates argument and will be returned directly by the definition.

Parameters:xyY (array_like) – CIE xyY colourspace array or xy chromaticity coordinates.
Returns:xy chromaticity coordinates.
Return type:ndarray

See also

xy_to_xyY()

Notes

  • Input CIE xyY colourspace array is in domain [0, 1].
  • Output xy chromaticity coordinates are in range [0, 1].

Examples

>>> xyY = np.array([0.26414772, 0.37770001, 0.10080000])
>>> xyY_to_xy(xyY)  
array([ 0.2641477...,  0.3777000...])
>>> xy = np.array([0.26414772, 0.37770001])
>>> xyY_to_xy(xy)  
array([ 0.2641477...,  0.3777000...])
colour.xy_to_XYZ(xy)[source]

Returns the CIE XYZ tristimulus values from given xy chromaticity coordinates.

Parameters:xy (array_like) – xy chromaticity coordinates.
Returns:CIE XYZ tristimulus values.
Return type:ndarray

Notes

  • Input xy chromaticity coordinates are in domain [0, 1].
  • Output CIE XYZ tristimulus values are in range [0, 1].

Examples

>>> xy = np.array([0.26414772, 0.37770001])
>>> xy_to_XYZ(xy)  
array([ 0.6993585...,  1.        ,  0.9482453...])
colour.XYZ_to_xy(XYZ, illuminant=array([ 0.3457, 0.3585]))[source]

Returns the xy chromaticity coordinates from given CIE XYZ tristimulus values.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • illuminant (array_like, optional) – Reference illuminant chromaticity coordinates.
Returns:

xy chromaticity coordinates.

Return type:

ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 1].
  • Output xy chromaticity coordinates are in range [0, 1].

Examples

>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> XYZ_to_xy(XYZ)  
array([ 0.2641477...,  0.3777000...])
colour.XYZ_to_Lab(XYZ, illuminant=array([ 0.3457, 0.3585]))[source]

Converts from CIE XYZ tristimulus values to CIE Lab colourspace.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • illuminant (array_like, optional) – Reference illuminant xy chromaticity coordinates or CIE xyY colourspace array.
Returns:

CIE Lab colourspace array.

Return type:

ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 1].
  • Input illuminant xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].
  • Output Lightness \(L^*\) is in range [0, 100].

Examples

>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> XYZ_to_Lab(XYZ)  
array([ 37.9856291..., -23.6290768...,  -4.4174661...])
colour.Lab_to_XYZ(Lab, illuminant=array([ 0.3457, 0.3585]))[source]

Converts from CIE Lab colourspace to CIE XYZ tristimulus values.

Parameters:
  • Lab (array_like) – CIE Lab colourspace array.
  • illuminant (array_like, optional) – Reference illuminant xy chromaticity coordinates or CIE xyY colourspace array.
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray

Notes

  • Input Lightness \(L^*\) is in domain [0, 100].
  • Input illuminant xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].
  • Output CIE XYZ tristimulus values are in range [0, 1].

Examples

>>> Lab = np.array([37.98562910, -23.62907688, -4.41746615])
>>> Lab_to_XYZ(Lab)  
array([ 0.0704953...,  0.1008    ,  0.0955831...])
colour.Lab_to_LCHab(Lab)[source]

Converts from CIE Lab colourspace to CIE LCHab colourspace.

Parameters:Lab (array_like) – CIE Lab colourspace array.
Returns:CIE LCHab colourspace array.
Return type:ndarray

Notes

  • Lightness \(L^*\) is in domain [0, 100].

Examples

>>> Lab = np.array([37.98562910, -23.62907688, -4.41746615])
>>> Lab_to_LCHab(Lab)  
array([  37.9856291...,   24.0384542...,  190.5892337...])
colour.LCHab_to_Lab(LCHab)[source]

Converts from CIE LCHab colourspace to CIE Lab colourspace.

Parameters:LCHab (array_like) – CIE LCHab colourspace array.
Returns:CIE Lab colourspace array.
Return type:ndarray

Notes

  • Lightness \(L^*\) is in domain [0, 100].

Examples

>>> LCHab = np.array([37.98562910, 24.03845422, 190.58923377])
>>> LCHab_to_Lab(LCHab)  
array([ 37.9856291..., -23.6290768...,  -4.4174661...])
colour.XYZ_to_Luv(XYZ, illuminant=array([ 0.3457, 0.3585]))[source]

Converts from CIE XYZ tristimulus values to CIE Luv colourspace.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • illuminant (array_like, optional) – Reference illuminant xy chromaticity coordinates or CIE xyY colourspace array.
Returns:

CIE Luv colourspace array.

Return type:

ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 1].
  • Input illuminant xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].
  • Output \(L^*\) is in range [0, 100].

Examples

>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> XYZ_to_Luv(XYZ)  
array([ 37.9856291..., -28.8021959...,  -1.3580070...])
colour.Luv_to_XYZ(Luv, illuminant=array([ 0.3457, 0.3585]))[source]

Converts from CIE Luv colourspace to CIE XYZ tristimulus values.

Parameters:
  • Luv (array_like) – CIE Luv colourspace array.
  • illuminant (array_like, optional) – Reference illuminant xy chromaticity coordinates or CIE xyY colourspace array.
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray

Notes

  • Input \(L^*\) is in domain [0, 100].
  • Input illuminant xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].
  • Output CIE XYZ tristimulus values are in range [0, 1].

Examples

>>> Luv = np.array([37.9856291 , -28.80219593,  -1.35800706])
>>> Luv_to_XYZ(Luv)  
array([ 0.0704953...,  0.1008    ,  0.0955831...])
colour.Luv_to_uv(Luv, illuminant=array([ 0.3457, 0.3585]))[source]

Returns the \(uv^p\) chromaticity coordinates from given CIE Luv colourspace array.

Parameters:
  • Luv (array_like) – CIE Luv colourspace array.
  • illuminant (array_like, optional) – Reference illuminant xy chromaticity coordinates or CIE xyY colourspace array.
Returns:

\(uv^p\) chromaticity coordinates.

Return type:

ndarray

Notes

  • Input \(L^*\) is in domain [0, 100].
  • Input illuminant xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].
  • Output \(uv^p\) chromaticity coordinates are in range [0, 1].

Examples

>>> Luv = np.array([37.9856291 , -28.80219593,  -1.35800706])
>>> Luv_to_uv(Luv)  
array([ 0.1508531...,  0.4853297...])
colour.Luv_uv_to_xy(uv)[source]

Returns the xy chromaticity coordinates from given CIE Luv colourspace \(uv^p\) chromaticity coordinates.

Parameters:uv (array_like) – CIE Luv u”v” chromaticity coordinates.
Returns:xy chromaticity coordinates.
Return type:ndarray

Notes

  • Input \(uv^p\) chromaticity coordinates are in domain [0, 1].
  • Output xy is in range [0, 1].

References

[3]Wikipedia. (n.d.). The reverse transformation. Retrieved from http://en.wikipedia.org/wiki/CIELUV#The_reverse_transformation

Examples

>>> uv = np.array([0.150853098829857, 0.485329708543180])
>>> Luv_uv_to_xy(uv)  
array([ 0.2641477...,  0.3777000...])
colour.Luv_to_LCHuv(Luv)[source]

Converts from CIE Luv colourspace to CIE LCHuv colourspace.

Parameters:Luv (array_like) – CIE Luv colourspace array.
Returns:CIE LCHuv colourspace array.
Return type:ndarray

Notes

  • Input / output \(L^*\) is in domain / range [0, 100].

Examples

>>> Luv = np.array([37.9856291 , -28.80219593,  -1.35800706])
>>> Luv_to_LCHuv(Luv)  
array([  37.9856291...,   28.8341927...,  182.6994640...])
colour.LCHuv_to_Luv(LCHuv)[source]

Converts from CIE LCHuv colourspace to CIE Luv colourspace.

Parameters:LCHuv (array_like) – CIE LCHuv colourspace array.
Returns:CIE Luv colourspace array.
Return type:ndarray

Notes

  • Input / output \(L^*\) is in domain / range [0, 100].

Examples

>>> LCHuv = np.array([37.98562910, 28.83419279, 182.69946404])
>>> LCHuv_to_Luv(LCHuv)  
array([ 37.9856291..., -28.8021959...,  -1.3580070...])
colour.XYZ_to_UCS(XYZ)[source]

Converts from CIE XYZ tristimulus values to CIE UCS colourspace.

Parameters:XYZ (array_like) – CIE XYZ tristimulus values.
Returns:CIE UCS colourspace array.
Return type:ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 1].
  • Output CIE UCS colourspace array is in range [0, 1].

Examples

>>> import numpy as np
>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> XYZ_to_UCS(XYZ)  
array([ 0.0469968...,  0.1008    ,  0.1637439...])
colour.UCS_to_XYZ(UVW)[source]

Converts from CIE UCS colourspace to CIE XYZ tristimulus values.

Parameters:UVW (array_like) – CIE UCS colourspace array.
Returns:CIE XYZ tristimulus values.
Return type:ndarray

Notes

  • Input CIE UCS colourspace array is in domain [0, 1].
  • Output CIE XYZ tristimulus values are in range [0, 1].

Examples

>>> import numpy as np
>>> UVW = np.array([0.04699689, 0.10080000, 0.16374390])
>>> UCS_to_XYZ(UVW)  
array([ 0.0704953...,  0.1008    ,  0.0955831...])
colour.UCS_to_uv(UVW)[source]

Returns the uv chromaticity coordinates from given CIE UCS colourspace array.

Parameters:UVW (array_like) – CIE UCS colourspace array.
Returns:uv chromaticity coordinates.
Return type:ndarray

Notes

  • Input CIE UCS colourspace array is in domain [0, 1].
  • Output uv chromaticity coordinates are in range [0, 1].

Examples

>>> import numpy as np
>>> UCS = np.array([0.04699689, 0.10080000, 0.16374390])
>>> UCS_to_uv(UCS)  
array([ 0.1508530...,  0.3235531...])
colour.UCS_uv_to_xy(uv)[source]

Returns the xy chromaticity coordinates from given CIE UCS colourspace uv chromaticity coordinates.

Parameters:uv (array_like) – CIE UCS uv chromaticity coordinates.
Returns:xy chromaticity coordinates.
Return type:ndarray

Notes

  • Input uv chromaticity coordinates are in domain [0, 1].
  • Output xy chromaticity coordinates are in range [0, 1].

Examples

>>> import numpy as np
>>> uv = np.array([0.150853087327666, 0.323553137295440])
>>> UCS_uv_to_xy(uv)  
array([ 0.2641477...,  0.3777000...])
colour.XYZ_to_UVW(XYZ, illuminant=array([ 0.3457, 0.3585]))[source]

Converts from CIE XYZ tristimulus values to CIE 1964 U*V*W* colourspace.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • illuminant (array_like, optional) – Reference illuminant xy chromaticity coordinates or CIE xyY colourspace array.
Returns:

CIE 1964 U*V*W* colourspace array.

Return type:

ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 100].
  • Input illuminant xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].
  • Output CIE UVW colourspace array is in range [0, 100].

Warning

The input / output domains of that definition are non standard!

Examples

>>> import numpy as np
>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313]) * 100
>>> XYZ_to_UVW(XYZ)  
array([-28.0579733...,  -0.8819449...,  37.0041149...])
colour.XYZ_to_hdr_CIELab(XYZ, illuminant=array([ 0.3457, 0.3585]), Y_s=0.2, Y_abs=100)[source]

Converts from CIE XYZ tristimulus values to hdr-CIELAB colourspace.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • illuminant (array_like, optional) – Reference illuminant xy chromaticity coordinates or CIE xyY colourspace array.
  • Y_s (numeric or array_like) – Relative luminance \(Y_s\) of the surround in domain [0, 1].
  • Y_abs (numeric or array_like) – Absolute luminance \(Y_{abs}\) of the scene diffuse white in \(cd/m^2\).
Returns:

hdr-CIELAB colourspace array.

Return type:

ndarray

Notes

  • Conversion to polar coordinates to compute the chroma \(C_{hdr}\) and hue \(h_{hdr}\) correlates can be safely performed with colour.Lab_to_LCHab() definition.
  • Conversion to cartesian coordinates from the Lightness \(L_{hdr}\), chroma \(C_{hdr}\) and hue \(h_{hdr}\) correlates can be safely performed with colour.LCHab_to_Lab() definition.
  • Input CIE XYZ tristimulus values are in domain [0, math:infty].
  • Input illuminant xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].

Examples

>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> XYZ_to_hdr_CIELab(XYZ)  
array([ 24.9020664..., -46.8312760..., -10.14274843])
colour.hdr_CIELab_to_XYZ(Lab_hdr, illuminant=array([ 0.3457, 0.3585]), Y_s=0.2, Y_abs=100)[source]

Converts from hdr-CIELAB colourspace to CIE XYZ tristimulus values.

Parameters:
  • Lab_hdr (array_like) – hdr-CIELAB colourspace array.
  • illuminant (array_like, optional) – Reference illuminant xy chromaticity coordinates or CIE xyY colourspace array.
  • Y_s (numeric or array_like) – Relative luminance \(Y_s\) of the surround in domain [0, 1].
  • Y_abs (numeric or array_like) – Absolute luminance \(Y_{abs}\) of the scene diffuse white in \(cd/m^2\).
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray

Notes

  • Input illuminant xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].
  • Output CIE XYZ tristimulus values are in range [0, math:infty].

Examples

>>> Lab_hdr = np.array([24.90206646, -46.83127607, -10.14274843])
>>> hdr_CIELab_to_XYZ(Lab_hdr)  
array([ 0.0704953...,  0.1008    ,  0.0955831...])
colour.XYZ_to_K_ab_HunterLab1966(XYZ)[source]

Converts from whitepoint CIE XYZ tristimulus values to Hunter L,a,b \(K_{a}\) and \(K_{b}\) chromaticity coefficients.

Parameters:XYZ (array_like) – Whitepoint CIE XYZ tristimulus values.
Returns:Hunter L,a,b \(K_{a}\) and \(K_{b}\) chromaticity coefficients.
Return type:ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 100].

References

[2]HunterLab. (2008). Illuminant Factors in Universal Software and EasyMatch Coatings. Retrieved from https://support.hunterlab.com/hc/en-us/article_attachments/201437785/an02_02.pdf

Examples

>>> XYZ = np.array([109.850, 100.000, 35.585])
>>> XYZ_to_K_ab_HunterLab1966(XYZ)  
array([ 185.2378721...,   38.4219142...])
colour.XYZ_to_Hunter_Lab(XYZ, XYZ_n=array([ 96.38, 100., 82.45]), K_ab=array([ 173.51, 58.48]))[source]

Converts from CIE XYZ tristimulus values to Hunter L,a,b colour scale.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • XYZ_n (array_like, optional) – Reference illuminant tristimulus values.
  • K_ab (array_like, optional) – Reference illuminant chromaticity coefficients, if K_ab is set to None it will be computed using XYZ_to_K_ab_HunterLab1966().
Returns:

Hunter L,a,b colour scale array.

Return type:

ndarray

Notes

  • Input CIE XYZ and reference illuminant tristimulus values are in domain [0, 100].
  • Output Lightness \(L^*\) is in range [0, 100].

Examples

>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313]) * 100
>>> D50 = HUNTERLAB_ILLUMINANTS[
...     'CIE 1931 2 Degree Standard Observer']['D50']
>>> XYZ_to_Hunter_Lab(XYZ, D50.XYZ_n, D50.K_ab)   
array([ 31.7490157..., -15.1146262...,  -2.7866075...])
colour.Hunter_Lab_to_XYZ(Lab, XYZ_n=array([ 96.38, 100., 82.45]), K_ab=array([ 173.51, 58.48]))[source]

Converts from Hunter L,a,b colour scale to CIE XYZ tristimulus values.

Parameters:
  • Lab (array_like) – Hunter L,a,b colour scale array.
  • XYZ_n (array_like, optional) – Reference illuminant tristimulus values.
  • K_ab (array_like, optional) – Reference illuminant chromaticity coefficients, if K_ab is set to None it will be computed using XYZ_to_K_ab_HunterLab1966().
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray

Notes

  • Input Lightness \(L^*\) is in domain [0, 100].
  • Input CIE XYZ and reference illuminant tristimulus values are in domain [0, 100].
  • Output CIE XYZ tristimulus values are in range [0, 100].

Examples

>>> Lab = np.array([31.74901573, -15.11462629, -2.78660758])
>>> D50 = HUNTERLAB_ILLUMINANTS[
...     'CIE 1931 2 Degree Standard Observer']['D50']
>>> Hunter_Lab_to_XYZ(Lab, D50.XYZ_n, D50.K_ab)   
array([  7.049534,  10.08    ,   9.558313])
colour.XYZ_to_Hunter_Rdab(XYZ, XYZ_n=array([ 96.38, 100., 82.45]), K_ab=array([ 173.51, 58.48]))[source]

Converts from CIE XYZ tristimulus values to Hunter Rd,a,b colour scale.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • XYZ_n (array_like, optional) – Reference illuminant tristimulus values.
  • K_ab (array_like, optional) – Reference illuminant chromaticity coefficients, if K_ab is set to None it will be computed using XYZ_to_K_ab_HunterLab1966().
Returns:

Hunter Rd,a,b colour scale array.

Return type:

ndarray

Notes

  • Input CIE XYZ and reference illuminant tristimulus values are in domain [0, 100].

Examples

>>> import numpy as np
>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313]) * 100
>>> D50 = HUNTERLAB_ILLUMINANTS[
...     'CIE 1931 2 Degree Standard Observer']['D50']
>>> XYZ_to_Hunter_Rdab(
...     XYZ,
...     D50.XYZ_n,
...     D50.K_ab)   
array([ 10.08      , -18.6765376...,  -3.4432992...])
colour.XYZ_to_Hunter_Rdab(XYZ, XYZ_n=array([ 96.38, 100., 82.45]), K_ab=array([ 173.51, 58.48]))[source]

Converts from CIE XYZ tristimulus values to Hunter Rd,a,b colour scale.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • XYZ_n (array_like, optional) – Reference illuminant tristimulus values.
  • K_ab (array_like, optional) – Reference illuminant chromaticity coefficients, if K_ab is set to None it will be computed using XYZ_to_K_ab_HunterLab1966().
Returns:

Hunter Rd,a,b colour scale array.

Return type:

ndarray

Notes

  • Input CIE XYZ and reference illuminant tristimulus values are in domain [0, 100].

Examples

>>> import numpy as np
>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313]) * 100
>>> D50 = HUNTERLAB_ILLUMINANTS[
...     'CIE 1931 2 Degree Standard Observer']['D50']
>>> XYZ_to_Hunter_Rdab(
...     XYZ,
...     D50.XYZ_n,
...     D50.K_ab)   
array([ 10.08      , -18.6765376...,  -3.4432992...])
colour.XYZ_to_IPT(XYZ)[source]

Converts from CIE XYZ tristimulus values to IPT colourspace.

Parameters:XYZ (array_like) – CIE XYZ tristimulus values.
Returns:IPT colourspace array.
Return type:ndarray

Notes

  • Input CIE XYZ tristimulus values needs to be adapted for CIE Standard Illuminant D Series D65.

Examples

>>> XYZ = np.array([0.96907232, 1.00000000, 1.12179215])
>>> XYZ_to_IPT(XYZ)  
array([ 1.0030082...,  0.0190691..., -0.0136929...])
colour.IPT_to_XYZ(IPT)[source]

Converts from IPT colourspace to CIE XYZ tristimulus values.

Parameters:IPT (array_like) – IPT colourspace array.
Returns:CIE XYZ tristimulus values.
Return type:ndarray

Examples

>>> IPT = np.array([1.00300825, 0.01906918, -0.01369292])
>>> IPT_to_XYZ(IPT)  
array([ 0.9690723...,  1.        ,  1.1217921...])
colour.IPT_hue_angle(IPT)[source]

Computes the hue angle in degrees from IPT colourspace.

Parameters:IPT (array_like) – IPT colourspace array.
Returns:Hue angle in degrees.
Return type:numeric or ndarray

Examples

>>> IPT = np.array([0.96907232, 1, 1.12179215])
>>> IPT_hue_angle(IPT)  
48.2852074...
colour.XYZ_to_hdr_IPT(XYZ, Y_s=0.2, Y_abs=100)[source]

Converts from CIE XYZ tristimulus values to hdr-IPT colourspace.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • Y_s (numeric or array_like) – Relative luminance \(Y_s\) of the surround in domain [0, 1].
  • Y_abs (numeric or array_like) – Absolute luminance \(Y_{abs}\) of the scene diffuse white in \(cd/m^2\).
Returns:

hdr-IPT colourspace array.

Return type:

ndarray

Notes

  • Input CIE XYZ tristimulus values needs to be adapted for CIE Standard Illuminant D Series D65.

Examples

>>> XYZ = np.array([0.96907232, 1.00000000, 1.12179215])
>>> XYZ_to_hdr_IPT(XYZ)  
array([ 94.6592917...,   0.3804177...,  -0.2673118...])
colour.hdr_IPT_to_XYZ(IPT_hdr, Y_s=0.2, Y_abs=100)[source]

Converts from hdr-IPT colourspace to CIE XYZ tristimulus values.

Parameters:
  • IPT_hdr (array_like) – hdr-IPT colourspace array.
  • Y_s (numeric or array_like) – Relative luminance \(Y_s\) of the surround in domain [0, 1].
  • Y_abs (numeric or array_like) – Absolute luminance \(Y_{abs}\) of the scene diffuse white in \(cd/m^2\).
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray

Examples

>>> IPT_hdr = np.array([94.65929175, 0.38041773, -0.26731187])
>>> hdr_IPT_to_XYZ(IPT_hdr)  
array([ 0.9690723...,  1.        ,  1.1217921...])
colour.XYZ_to_colourspace_model(XYZ, illuminant, model)[source]

Converts from CIE XYZ tristimulus values to given colourspace model.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • illuminant (array_like) – CIE XYZ tristimulus values illuminant xy chromaticity coordinates.
  • model (unicode) – {‘CIE XYZ’, ‘CIE xyY’, ‘CIE xy’, ‘CIE Lab’, ‘CIE LCHab’, ‘CIE Luv’, ‘CIE Luv uv’, ‘CIE LCHuv’, ‘CIE UCS’, ‘CIE UCS uv’, ‘CIE UVW’, ‘IPT’, ‘Hunter Lab’, ‘Hunter Rdab’}, Colourspace model to convert the CIE XYZ tristimulus values to.
Returns:

Colourspace model values.

Return type:

ndarray

Examples

>>> import numpy as np
>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> W = np.array([0.34570, 0.35850])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'CIE XYZ')
array([ 0.0704953...,  0.1008    ,  0.0955831...])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'CIE xyY')
array([ 0.2641477...,  0.3777000...,  0.1008    ])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'CIE xy')
array([ 0.2641477...,  0.3777000...])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'CIE Lab')
array([ 37.9856291..., -23.6290768...,  -4.4174661...])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'CIE LCHab')
array([  37.9856291...,   24.0384542...,  190.5892337...])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'CIE Luv')
array([ 37.9856291..., -28.8021959...,  -1.3580070...])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'CIE Luv uv')
array([ 0.1508531...,  0.4853297...])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'CIE LCHuv')
array([  37.9856291...,   28.8341927...,  182.6994640...])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'CIE UCS uv')
array([ 0.1508531...,  0.32355314...])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'CIE UVW')
array([-28.0579733...,  -0.8819449...,  37.0041149...])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'IPT')
array([ 0.3657112..., -0.1111479...,  0.0159474...])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'Hunter Lab')
array([ 31.7490157..., -15.1351736...,  -2.7709606...])
>>> XYZ_to_colourspace_model(  
... XYZ, W, 'Hunter Rdab')
array([ 10.08..., -18.7019271...,  -3.4239649...])
colour.normalised_primary_matrix(primaries, whitepoint)[source]

Returns the normalised primary matrix using given primaries and whitepoint \(xy\) chromaticity coordinates.

Parameters:
  • primaries (array_like, (3, 2)) – Primaries \(xy\) chromaticity coordinates.
  • whitepoint (array_like) – Illuminant / whitepoint \(xy\) chromaticity coordinates.
Returns:

Normalised primary matrix.

Return type:

ndarray, (3, 3)

Examples

>>> p = np.array([0.73470, 0.26530, 0.00000, 1.00000, 0.00010, -0.07700])
>>> whitepoint = np.array([0.32168, 0.33767])
>>> normalised_primary_matrix(p, whitepoint)  
array([[  9.5255239...e-01,   0.0000000...e+00,   9.3678631...e-05],
       [  3.4396645...e-01,   7.2816609...e-01,  -7.2132546...e-02],
       [  0.0000000...e+00,   0.0000000...e+00,   1.0088251...e+00]])
colour.chromatically_adapted_primaries(primaries, whitepoint_t, whitepoint_r, chromatic_adaptation_transform=u'CAT02')[source]

Chromatically adapts given primaries \(xy\) chromaticity coordinates from test whitepoint_t to reference whitepoint_r.

Parameters:
  • primaries (array_like, (3, 2)) – Primaries \(xy\) chromaticity coordinates.
  • whitepoint_t (array_like) – Test illuminant / whitepoint \(xy\) chromaticity coordinates.
  • whitepoint_r (array_like) – Reference illuminant / whitepoint \(xy\) chromaticity coordinates.
  • chromatic_adaptation_transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
Returns:

Chromatically adapted primaries \(xy\) chromaticity coordinates.

Return type:

ndarray

Examples

>>> p = np.array([0.64, 0.33, 0.30, 0.60, 0.15, 0.06])
>>> whitepoint_t = np.array([0.31270, 0.32900])
>>> whitepoint_r = np.array([0.34570, 0.35850])
>>> chromatic_adaptation_transform = 'Bradford'
>>> chromatically_adapted_primaries(  
...     p,
...     whitepoint_t,
...     whitepoint_r,
...     chromatic_adaptation_transform)
array([[ 0.6484414...,  0.3308533...],
       [ 0.3211951...,  0.5978443...],
       [ 0.1558932...,  0.0660492...]])
colour.primaries_whitepoint(npm)[source]

Returns the primaries and whitepoint \(xy\) chromaticity coordinates using given normalised primary matrix.

Parameters:npm (array_like, (3, 3)) – Normalised primary matrix.
Returns:Primaries and whitepoint \(xy\) chromaticity coordinates.
Return type:tuple

References

[2]Trieu, T. (2015). Private Discussion with Mansencal, T.

Examples

>>> npm = np.array([[9.52552396e-01, 0.00000000e+00, 9.36786317e-05],
...                 [3.43966450e-01, 7.28166097e-01, -7.21325464e-02],
...                 [0.00000000e+00, 0.00000000e+00, 1.00882518e+00]])
>>> p, w = primaries_whitepoint(npm)
>>> p  
array([[  7.3470000...e-01,   2.6530000...e-01],
       [  0.0000000...e+00,   1.0000000...e+00],
       [  1.0000000...e-04,  -7.7000000...e-02]])
>>> w 
array([ 0.32168,  0.33767])
colour.RGB_luminance_equation(primaries, whitepoint)[source]

Returns the luminance equation from given primaries and whitepoint.

Parameters:
  • primaries (array_like, (3, 2)) – Primaries chromaticity coordinates.
  • whitepoint (array_like) – Illuminant / whitepoint chromaticity coordinates.
Returns:

Luminance equation.

Return type:

unicode

Examples

>>> p = np.array([0.73470, 0.26530, 0.00000, 1.00000, 0.00010, -0.07700])
>>> whitepoint = np.array([0.32168, 0.33767])
>>> # Doctests skip for Python 2.x compatibility.
>>> RGB_luminance_equation(p, whitepoint)  
'Y = 0.3439664...(R) + 0.7281660...(G) + -0.0721325...(B)'
colour.RGB_luminance(RGB, primaries, whitepoint)[source]

Returns the luminance \(Y\) of given RGB components from given primaries and whitepoint.

Parameters:
  • RGB (array_like) – RGB chromaticity coordinate matrix.
  • primaries (array_like, (3, 2)) – Primaries chromaticity coordinate matrix.
  • whitepoint (array_like) – Illuminant / whitepoint chromaticity coordinates.
Returns:

Luminance \(Y\).

Return type:

numeric or ndarray

Examples

>>> RGB = np.array([40.6, 4.2, 67.4])
>>> p = np.array([0.73470, 0.26530, 0.00000, 1.00000, 0.00010, -0.07700])
>>> whitepoint = np.array([0.32168, 0.33767])
>>> RGB_luminance(RGB, p, whitepoint)  
12.1616018...
class colour.RGB_Colourspace(name, primaries, whitepoint, illuminant=None, RGB_to_XYZ_matrix=None, XYZ_to_RGB_matrix=None, encoding_cctf=None, decoding_cctf=None, use_derived_RGB_to_XYZ_matrix=False, use_derived_XYZ_to_RGB_matrix=False)[source]

Bases: object

Implements support for the RGB colourspaces dataset from colour.models.dataset.aces_rgb, etc....

Colour science literature related to RGB colourspaces and encodings defines their dataset using different degree of precision or rounding. While instances where a whitepoint is being defined with a value different than its canonical agreed one are rare, it is however very common to have normalised primary matrices rounded at different decimals. This can yield large discrepancies in computations.

Such an occurrence is the V-Gamut colourspace white paper [1]_, that defines the V-Gamut to Rec. 709 conversion matrix as follows:

[[ 1.806576 -0.695697 -0.110879]
 [-0.170090  1.305955 -0.135865]
 [-0.025206 -0.154468  1.179674]]

Computing this matrix using Rec. 709 colourspace derived normalised primary matrix yields:

[[ 1.8065736 -0.6956981 -0.1108786]
 [-0.1700890  1.3059548 -0.1358648]
 [-0.0252057 -0.1544678  1.1796737]]

The latter matrix is almost equals with the former, however performing the same computation using IEC 61966-2-1:1999 sRGB colourspace normalised primary matrix introduces severe disparities:

[[ 1.8063853 -0.6956147 -0.1109453]
 [-0.1699311  1.3058387 -0.1358616]
 [-0.0251630 -0.1544899  1.1797117]]

In order to provide support for both literature defined dataset and accurate computations enabling transformations without loss of precision, the RGB_Colourspace class provides two sets of transformation matrices:

  • Instantiation transformation matrices
  • Derived transformation matrices

Upon instantiation, the RGB_Colourspace class stores the given RGB_to_XYZ_matrix and XYZ_to_RGB_matrix arguments and also computes their derived counterpart using the primaries and whitepoint arguments.

Whether the initialisation or derived matrices are used in subsequent computations is dependent on the RGB_Colourspace.use_derived_RGB_to_XYZ_matrix and RGB_Colourspace.use_derived_XYZ_to_RGB_matrix attributes values.

Parameters:
  • name (unicode) – RGB colourspace name.
  • primaries (array_like) – RGB colourspace primaries.
  • whitepoint (array_like) – RGB colourspace whitepoint.
  • illuminant (unicode, optional) – RGB colourspace whitepoint name as illuminant.
  • RGB_to_XYZ_matrix (array_like, optional) – Transformation matrix from colourspace to CIE XYZ tristimulus values.
  • XYZ_to_RGB_matrix (array_like, optional) – Transformation matrix from CIE XYZ tristimulus values to colourspace.
  • encoding_cctf (object, optional) – Encoding colour component transfer function (Encoding CCTF) / opto-electronic transfer function (OETF / OECF) that maps estimated tristimulus values in a scene to \(R'G'B'\) video component signal value.
  • decoding_cctf (object, optional) – Decoding colour component transfer function (Decoding CCTF) / electro-optical transfer function (EOTF / EOCF) that maps an \(R'G'B'\) video component signal value to tristimulus values at the display.
  • use_derived_RGB_to_XYZ_matrix (bool, optional) – Whether to use the declaration time normalised primary matrix or to use a computed derived normalised primary matrix.
  • use_derived_XYZ_to_RGB_matrix (bool, optional) – Whether to use the declaration time normalised primary matrix or to use a computed derived inverse normalised primary matrix.
name
primaries
whitepoint
illuminant
RGB_to_XYZ_matrix
XYZ_to_RGB_matrix
encoding_cctf
decoding_cctf
use_derived_RGB_to_XYZ_matrix
use_derived_XYZ_to_RGB_matrix
use_derived_transformation_matrices()[source]

Notes

  • The normalised primary matrix defined by RGB_Colourspace.RGB_to_XYZ_matrix attribute is treated as the prime matrix from which the inverse will be calculated as required by the internal derivation mechanism. This behaviour has been chosen in accordance with literature where commonly a RGB colourspace is defined by its normalised primary matrix as it is directly computed from the chosen primaries and whitepoint.

References

[1]Panasonic. (2014). VARICAM V-Log/V-Gamut. Retrieved from http://pro-av.panasonic.net/en/varicam/common/pdf/VARICAM_V-Log_V-Gamut.pdf
[2]International Electrotechnical Commission. (1999). IEC 61966-2-1:1999 - Multimedia systems and equipment - Colour measurement and management - Part 2-1: Colour management - Default RGB colour space - sRGB, 51. Retrieved from https://webstore.iec.ch/publication/6169

Examples

>>> p = np.array([0.73470, 0.26530, 0.00000, 1.00000, 0.00010, -0.07700])
>>> whitepoint = np.array([0.32168, 0.33767])
>>> RGB_to_XYZ_matrix = np.identity(3)
>>> XYZ_to_RGB_matrix = np.identity(3)
>>> colourspace = RGB_Colourspace(
...     'RGB Colourspace',
...     p,
...     whitepoint,
...     'D60',
...     RGB_to_XYZ_matrix,
...     XYZ_to_RGB_matrix)
>>> colourspace.RGB_to_XYZ_matrix
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])
>>> colourspace.XYZ_to_RGB_matrix
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])
>>> colourspace.use_derived_transformation_matrices(True)
True
>>> colourspace.RGB_to_XYZ_matrix  
array([[  9.5255239...e-01,   0.0000000...e+00,   9.3678631...e-05],
       [  3.4396645...e-01,   7.2816609...e-01,  -7.2132546...e-02],
       [  0.0000000...e+00,   0.0000000...e+00,   1.0088251...e+00]])
>>> colourspace.XYZ_to_RGB_matrix  
array([[  1.0498110...e+00,   0.0000000...e+00,  -9.7484540...e-05],
       [ -4.9590302...e-01,   1.3733130...e+00,   9.8240036...e-02],
       [  0.0000000...e+00,   0.0000000...e+00,   9.9125201...e-01]])
>>> colourspace.use_derived_RGB_to_XYZ_matrix = False
>>> colourspace.RGB_to_XYZ_matrix
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])
>>> colourspace.use_derived_XYZ_to_RGB_matrix = False
>>> colourspace.XYZ_to_RGB_matrix
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])
RGB_to_XYZ_matrix

Property for RGB_to_XYZ_matrix attribute.

Returns:RGB_to_XYZ_matrix.
Return type:array_like, (3, 3)
XYZ_to_RGB_matrix

Property for XYZ_to_RGB_matrix attribute.

Returns:XYZ_to_RGB_matrix.
Return type:array_like, (3, 3)
decoding_cctf

Property for self._decoding_cctf private attribute.

Returns:self._decoding_cctf.
Return type:callable
encoding_cctf

Property for self._encoding_cctf private attribute.

Returns:self._encoding_cctf.
Return type:callable
illuminant

Property for self._illuminant private attribute.

Returns:self._illuminant.
Return type:unicode
name

Property for self._name private attribute.

Returns:self._name.
Return type:unicode
primaries

Property for self._primaries private attribute.

Returns:self._primaries.
Return type:array_like, (3, 2)
use_derived_RGB_to_XYZ_matrix

Property for self._use_derived_RGB_to_XYZ_matrix private attribute.

Returns:self._use_derived_RGB_to_XYZ_matrix.
Return type:bool
use_derived_XYZ_to_RGB_matrix

Property for self._use_derived_XYZ_to_RGB_matrix private attribute.

Returns:self._use_derived_XYZ_to_RGB_matrix.
Return type:bool
use_derived_transformation_matrices(usage=True)[source]

Enables or disables usage of both derived transformations matrices, the normalised primary matrix and its inverse in subsequent computations.

Parameters:usage (bool, optional) – Whether to use the derived transformations matrices.
Returns:Definition success.
Return type:bool
whitepoint

Property for self._whitepoint private attribute.

Returns:self._whitepoint.
Return type:array_like
colour.XYZ_to_RGB(XYZ, illuminant_XYZ, illuminant_RGB, XYZ_to_RGB_matrix, chromatic_adaptation_transform=u'CAT02', encoding_cctf=None)[source]

Converts from CIE XYZ tristimulus values to given RGB colourspace.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • illuminant_XYZ (array_like) – CIE XYZ tristimulus values illuminant xy chromaticity coordinates or CIE xyY colourspace array.
  • illuminant_RGB (array_like) – RGB colourspace illuminant xy chromaticity coordinates or CIE xyY colourspace array.
  • XYZ_to_RGB_matrix (array_like) – Normalised primary matrix.
  • chromatic_adaptation_transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
  • encoding_cctf (object, optional) – Encoding colour component transfer function (Encoding CCTF) or opto-electronic transfer function (OETF / OECF).
Returns:

RGB colourspace array.

Return type:

ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 1].
  • Input illuminant_XYZ xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].
  • Input illuminant_RGB xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].
  • Output RGB colourspace array is in range [0, 1].

Examples

>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> illuminant_XYZ = np.array([0.34570, 0.35850])
>>> illuminant_RGB = np.array([0.31270, 0.32900])
>>> chromatic_adaptation_transform = 'Bradford'
>>> XYZ_to_RGB_matrix = np.array([
...     [3.24062548, -1.53720797, -0.49862860],
...     [-0.96893071, 1.87575606, 0.04151752],
...     [0.05571012, -0.20402105, 1.05699594]])
>>> XYZ_to_RGB(
...     XYZ,
...     illuminant_XYZ,
...     illuminant_RGB,
...     XYZ_to_RGB_matrix,
...     chromatic_adaptation_transform)  
array([ 0.0110015...,  0.1273504...,  0.1163271...])
colour.RGB_to_XYZ(RGB, illuminant_RGB, illuminant_XYZ, RGB_to_XYZ_matrix, chromatic_adaptation_transform=u'CAT02', decoding_cctf=None)[source]

Converts from given RGB colourspace to CIE XYZ tristimulus values.

Parameters:
  • RGB (array_like) – RGB colourspace array.
  • illuminant_RGB (array_like) – RGB colourspace illuminant chromaticity coordinates or CIE xyY colourspace array.
  • illuminant_XYZ (array_like) – CIE XYZ tristimulus values illuminant chromaticity coordinates or CIE xyY colourspace array.
  • RGB_to_XYZ_matrix (array_like) – Normalised primary matrix.
  • chromatic_adaptation_transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
  • decoding_cctf (object, optional) – Decoding colour component transfer function (Decoding CCTF) or electro-optical transfer function (EOTF / EOCF).
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray

Notes

  • Input RGB colourspace array is in domain [0, 1].
  • Input illuminant_RGB xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].
  • Input illuminant_XYZ xy chromaticity coordinates or CIE xyY colourspace array are in domain [0, \(\infty\)].
  • Output CIE XYZ tristimulus values are in range [0, 1].

Examples

>>> RGB = np.array([0.01100154,  0.12735048,  0.11632713])
>>> illuminant_RGB = np.array([0.31270, 0.32900])
>>> illuminant_XYZ = np.array([0.34570, 0.35850])
>>> chromatic_adaptation_transform = 'Bradford'
>>> RGB_to_XYZ_matrix = np.array([
...     [0.41240000, 0.35760000, 0.18050000],
...     [0.21260000, 0.71520000, 0.07220000],
...     [0.01930000, 0.11920000, 0.95050000]])
>>> RGB_to_XYZ(
...     RGB,
...     illuminant_RGB,
...     illuminant_XYZ,
...     RGB_to_XYZ_matrix,
...     chromatic_adaptation_transform)  
array([ 0.0704953...,  0.1008    ,  0.0955831...])
colour.RGB_to_RGB_matrix(input_colourspace, output_colourspace, chromatic_adaptation_transform=u'CAT02')[source]

Computes the matrix \(M\) converting from given input RGB colourspace to output RGB colourspace using given chromatic adaptation method.

Parameters:
  • input_colourspace (RGB_Colourspace) – RGB input colourspace.
  • output_colourspace (RGB_Colourspace) – RGB output colourspace.
  • chromatic_adaptation_transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
Returns:

Conversion matrix \(M\).

Return type:

ndarray

Examples

>>> from colour import sRGB_COLOURSPACE, PROPHOTO_RGB_COLOURSPACE
>>> RGB = np.array([0.01103742, 0.12734226, 0.11632971])
>>> RGB_to_RGB_matrix(
...     sRGB_COLOURSPACE,
...     PROPHOTO_RGB_COLOURSPACE)  
array([[ 0.5288241...,  0.3340609...,  0.1373616...],
       [ 0.0975294...,  0.8790074...,  0.0233981...],
       [ 0.0163599...,  0.1066124...,  0.8772485...]])
colour.RGB_to_RGB(RGB, input_colourspace, output_colourspace, chromatic_adaptation_transform=u'CAT02', apply_decoding_cctf=False, apply_encoding_cctf=False)[source]

Converts from given input RGB colourspace to output RGB colourspace using given chromatic adaptation method.

Parameters:
  • RGB (array_like) – RGB colourspace array.
  • input_colourspace (RGB_Colourspace) – RGB input colourspace.
  • output_colourspace (RGB_Colourspace) – RGB output colourspace.
  • chromatic_adaptation_transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
  • apply_decoding_cctf (bool, optional) – Apply input colourspace decoding colour component transfer function / electro-optical transfer function.
  • apply_encoding_cctf (bool, optional) – Apply output colourspace encoding colour component transfer function / opto-electronic transfer function.
Returns:

RGB colourspace array.

Return type:

ndarray

Notes

  • Input / output RGB colourspace arrays are in domain / range [0, 1].
  • Input / output RGB colourspace arrays are assumed to be representing linear light values.

Examples

>>> from colour import sRGB_COLOURSPACE, PROPHOTO_RGB_COLOURSPACE
>>> RGB = np.array([0.01103742, 0.12734226, 0.11632971])
>>> RGB_to_RGB(
...     RGB,
...     sRGB_COLOURSPACE,
...     PROPHOTO_RGB_COLOURSPACE)  
array([ 0.0643561...,  0.1157331...,  0.1158069...])
colour.log_encoding_ACESproxy(lin_AP1, bit_depth=u'10 Bit')[source]

Defines the ACESproxy colourspace log encoding curve / opto-electronic transfer function.

Parameters:
  • lin_AP1 (numeric or array_like) – lin_AP1 value.
  • bit_depth (unicode, optional) – {‘10 Bit’, ‘12 Bit’}, ACESproxy bit depth.
Returns:

ACESproxy non-linear value.

Return type:

numeric or ndarray

Examples

>>> log_encoding_ACESproxy(0.18)
426
colour.log_decoding_ACESproxy(ACESproxy, bit_depth=u'10 Bit')[source]

Defines the ACESproxy colourspace log decoding curve / electro-optical transfer function.

Parameters:
  • ACESproxy (numeric or array_like) – ACESproxy non-linear value.
  • bit_depth (unicode, optional) – {‘10 Bit’, ‘12 Bit’}, ACESproxy bit depth.
Returns:

lin_AP1 value.

Return type:

numeric or ndarray

Examples

>>> log_decoding_ACESproxy(426)  
0.1792444...
colour.log_encoding_ACEScc(lin_AP1)[source]

Defines the ACEScc colourspace log encoding / opto-electronic transfer function.

Parameters:lin_AP1 (numeric or array_like) – lin_AP1 value.
Returns:ACEScc non-linear value.
Return type:numeric or ndarray

Examples

>>> log_encoding_ACEScc(0.18)  
0.4135884...
colour.log_decoding_ACEScc(ACEScc)[source]

Defines the ACEScc colourspace log decoding / electro-optical transfer function.

Parameters:ACEScc (numeric or array_like) – ACEScc non-linear value.
Returns:lin_AP1 value.
Return type:numeric or ndarray

Examples

>>> log_decoding_ACEScc(0.413588402492442)  
0.1799999...
colour.log_encoding_ACEScct(lin_AP1)[source]

Defines the ACEScct colourspace log encoding / opto-electronic transfer function.

Parameters:lin_AP1 (numeric or array_like) – lin_AP1 value.
Returns:ACEScct non-linear value.
Return type:numeric or ndarray

Examples

>>> log_encoding_ACEScct(0.18)  
0.4135884...
colour.log_decoding_ACEScct(ACEScct)[source]

Defines the ACEScct colourspace log decoding / electro-optical transfer function.

Parameters:ACEScct (numeric or array_like) – ACEScct non-linear value.
Returns:lin_AP1 value.
Return type:numeric or ndarray

Examples

>>> log_decoding_ACEScct(0.413588402492442)  
0.1799999...
colour.log_encoding_ALEXALogC(x, firmware=u'SUP 3.x', method=u'Linear Scene Exposure Factor', EI=800)[source]

Defines the ALEXA Log C log encoding curve / opto-electronic transfer function.

Parameters:
  • x (numeric or array_like) – Linear data \(x\).
  • firmware (unicode, optional) – {‘SUP 3.x’, ‘SUP 2.x’}, Alexa firmware version.
  • method (unicode, optional) – {‘Linear Scene Exposure Factor’, ‘Normalised Sensor Signal’}, Conversion method.
  • EI (int, optional) – Ei.
Returns:

ALEXA Log C encoded data \(t\).

Return type:

numeric or ndarray

Examples

>>> log_encoding_ALEXALogC(0.18)  
0.3910068...
colour.log_decoding_ALEXALogC(t, firmware=u'SUP 3.x', method=u'Linear Scene Exposure Factor', EI=800)[source]

Defines the ALEXA Log C log decoding curve / electro-optical transfer function.

Parameters:
  • t (numeric or array_like) – ALEXA Log C encoded data \(t\).
  • firmware (unicode, optional) – {‘SUP 3.x’, ‘SUP 2.x’}, Alexa firmware version.
  • method (unicode, optional) – {‘Linear Scene Exposure Factor’, ‘Normalised Sensor Signal’}, Conversion method.
  • EI (int, optional) – Ei.
Returns:

Linear data \(x\).

Return type:

numeric or ndarray

Examples

>>> log_decoding_ALEXALogC(0.391006832034084)  
0.18...
colour.oetf_ARIBSTDB67(E, r=0.5)[source]

Defines ARIB STD-B67 (Hybrid Log-Gamma) opto-electrical transfer function (OETF / OECF).

Parameters:
  • E (numeric or array_like) – Voltage normalized by the reference white level and proportional to the implicit light intensity that would be detected with a reference camera color channel R, G, B.
  • r (numeric, optional) – Video level corresponding to reference white level.
Returns:

Resulting non-linear signal \(E'\).

Return type:

numeric or ndarray

Examples

>>> oetf_ARIBSTDB67(0.18)  
0.2121320...
colour.eotf_ARIBSTDB67(E_p, r=0.5)[source]

Defines ARIB STD-B67 (Hybrid Log-Gamma) electro-optical transfer function (EOTF / EOCF).

Parameters:
  • E_p (numeric or array_like) – Non-linear signal \(E'\).
  • r (numeric, optional) – Video level corresponding to reference white level.
Returns:

Voltage \(E\) normalized by the reference white level and proportional to the implicit light intensity that would be detected with a reference camera color channel R, G, B.

Return type:

numeric or ndarray

Warning

ARIB STD-B67 (Hybrid Log-Gamma) doesn’t specify an electro-optical transfer function. This definition is used for symmetry in unit tests and other computations but should not be used as an EOTF.

Examples

>>> eotf_ARIBSTDB67(0.212132034355964)  
0.1799999...
colour.oetf_BT709(L)[source]

Defines Recommendation ITU-R BT.709-6 opto-electronic transfer function (OETF / OECF).

Parameters:L (numeric or array_like) – Luminance \(L\) of the image.
Returns:Corresponding electrical signal \(V\).
Return type:numeric or ndarray

Examples

>>> oetf_BT709(0.18)  
0.4090077...
colour.eotf_BT709(V)[source]

Defines Recommendation ITU-R BT.709-6 electro-optical transfer function (EOTF / EOCF).

Parameters:V (numeric or array_like) – Electrical signal \(V\).
Returns:Corresponding luminance \(L\) of the image.
Return type:numeric or ndarray

Warning

Recommendation ITU-R BT.709-6 doesn’t specify an electro-optical transfer function. This definition is used for symmetry in unit tests and other computations but should not be used as an EOTF.

Examples

>>> eotf_BT709(0.409007728864150)  
0.1...
colour.oetf_BT1886(L, L_B=0, L_W=1)[source]

Defines Recommendation ITU-R BT.1886 opto-electrical transfer function (OETF / OECF).

Parameters:
  • L (numeric or array_like) – Screen luminance in \(cd/m^2\).
  • L_B (numeric, optional) – Screen luminance for black.
  • L_W (numeric, optional) – Screen luminance for white.
Returns:

Input video signal level (normalized, black at \(V = 0\), to white at \(V = 1\).

Return type:

numeric or ndarray

Warning

Recommendation ITU-R BT.1886 doesn’t specify an opto-electrical transfer function. This definition is used for symmetry in unit tests and other computations but should not be used as an OETF.

Examples

>>> oetf_BT1886(0.11699185725296059)  
0.4090077...
colour.eotf_BT1886(V, L_B=0, L_W=1)[source]

Defines Recommendation ITU-R BT.1886 electro-optical transfer function (EOTF / EOCF).

Parameters:
  • V (numeric or array_like) – Input video signal level (normalized, black at \(V = 0\), to white at \(V = 1\). For content mastered per Recommendation ITU-R BT.709, 10-bit digital code values \(D\) map into values of \(V\) per the following equation: \(V = (D–64)/876\)
  • L_B (numeric, optional) – Screen luminance for black.
  • L_W (numeric, optional) – Screen luminance for white.
Returns:

Screen luminance in \(cd/m^2\).

Return type:

numeric or ndarray

Examples

>>> eotf_BT1886(0.409007728864150)  
0.1169918...
colour.oetf_BT2020(E, is_12_bits_system=False)[source]

Defines Recommendation ITU-R BT.2020 opto-electrical transfer function (OETF / OECF).

Parameters:
  • E (numeric or array_like) – Voltage \(E\) normalized by the reference white level and proportional to the implicit light intensity that would be detected with a reference camera colour channel R, G, B.
  • is_12_bits_system (bool) – BT.709 alpha and beta constants are used if system is not 12-bit.
Returns:

Resulting non-linear signal \(E'\).

Return type:

numeric or ndarray

Examples

>>> oetf_BT2020(0.18)  
0.4090077...
colour.eotf_BT2020(E_p, is_12_bits_system=False)[source]

Defines Recommendation ITU-R BT.2020 electro-optical transfer function (EOTF / EOCF).

Parameters:
  • E_p (numeric or array_like) – Non-linear signal \(E'\).
  • is_12_bits_system (bool) – BT.709 alpha and beta constants are used if system is not 12-bit.
Returns:

Resulting voltage \(E\).

Return type:

numeric or ndarray

Examples

>>> eotf_BT2020(0.705515089922121)  
0.4999999...
colour.log_encoding_CanonLog(x)[source]

Defines the Canon Log log encoding curve / opto-electronic transfer function.

Parameters:x (numeric or array_like) – Linear data \(x\).
Returns:Canon Log non-linear IRE data.
Return type:numeric or ndarray

Notes

  • Output Canon Log non-linear IRE data should be converted to code value CV as follows: CV = IRE * (940 - 64) + 64.

Examples

>>> log_encoding_CanonLog(0.20) * 100  
32.7953896...
colour.log_decoding_CanonLog(clog_ire)[source]

Defines the Canon Log log decoding curve / electro-optical transfer function.

Parameters:clog_ire (numeric or array_like) – Canon Log non-linear IRE data.
Returns:Linear data \(x\).
Return type:numeric or ndarray

Notes

  • Input Canon Log non-linear IRE data should be converted from code value CV to IRE as follows: IRE = (CV - 64) / (940 - 64).

Examples

>>> log_decoding_CanonLog(32.795389693580908 / 100)  
0.19999999...
colour.log_encoding_CanonLog2(x)[source]

Defines the Canon Log 2 log encoding curve / opto-electronic transfer function.

Parameters:x (numeric or array_like) – Linear data \(x\).
Returns:Canon Log 2 non-linear IRE data.
Return type:numeric or ndarray

Notes

  • Output Canon Log 2 non-linear IRE data should be converted to code value CV as follows: CV = IRE * (940 - 64) + 64.

Examples

>>> log_encoding_CanonLog2(0.20) * 100  
39.2025745...
colour.log_decoding_CanonLog2(clog2_ire)[source]

Defines the Canon Log 2 log decoding curve / electro-optical transfer function.

Parameters:clog2_ire (numeric or array_like) – Canon Log 2 non-linear IRE data.
Returns:Linear data \(x\).
Return type:numeric or ndarray

Notes

  • Input Canon Log 2 non-linear IRE data should be converted from code value CV to IRE as follows: IRE = (CV - 64) / (940 - 64).

Examples

>>> log_decoding_CanonLog2(39.202574539700947 / 100)  
0.2000000...
colour.log_encoding_CanonLog3(x)[source]

Defines the Canon Log 3 log encoding curve / opto-electronic transfer function.

Parameters:x (numeric or array_like) – Linear data \(x\).
Returns:Canon Log 3 non-linear IRE data.
Return type:numeric or ndarray

Notes

  • Output Canon Log 3 non-linear IRE data should be converted to code value CV as follows: CV = IRE * (940 - 64) + 64.

Examples

>>> log_encoding_CanonLog3(0.20) * 100  
32.7953567...
colour.log_decoding_CanonLog3(clog3_ire)[source]

Defines the Canon Log 3 log decoding curve / electro-optical transfer function.

Parameters:clog3_ire (numeric or array_like) – Canon Log 3 non-linear IRE data.
Returns:Linear data \(x\).
Return type:numeric or ndarray

Notes

  • Input Canon Log 3 non-linear IRE data should be converted from code value CV to IRE as follows: IRE = (CV - 64) / (940 - 64).

Examples

>>> log_decoding_CanonLog3(32.795356721989336 / 100)  
0.2000000...
colour.log_encoding_Cineon(x, black_offset=0.0107977516232771)[source]

Defines the Cineon log encoding curve / opto-electronic transfer function.

Parameters:
  • x (numeric or array_like) – Linear data \(x\).
  • black_offset (numeric or array_like) – Black offset.
Returns:

Non-linear data \(y\).

Return type:

numeric or ndarray

Examples

>>> log_encoding_Cineon(0.18)  
0.4573196...
colour.log_decoding_Cineon(y, black_offset=0.0107977516232771)[source]

Defines the Cineon log decoding curve / electro-optical transfer function.

Parameters:
  • y (numeric or array_like) – Non-linear data \(y\).
  • black_offset (numeric or array_like) – Black offset.
Returns:

Linear data \(x\).

Return type:

numeric or ndarray

Examples

>>> log_decoding_Cineon(0.457319613085418)  
0.1799999...
colour.oetf_DCIP3(XYZ)[source]

Defines the DCI-P3 colourspace opto-electronic transfer function (OETF / OECF).

Parameters:XYZ (numeric or array_like) – CIE XYZ tristimulus values.
Returns:Non-linear CIE XYZ’ tristimulus values.
Return type:numeric or ndarray

Examples

>>> oetf_DCIP3(0.18)  
461.9922059...
colour.eotf_DCIP3(XYZ_p)[source]

Defines the DCI-P3 colourspace electro-optical transfer function (EOTF / EOCF).

Parameters:XYZ_p (numeric or array_like) – Non-linear CIE XYZ’ tristimulus values.
Returns:CIE XYZ tristimulus values.
Return type:numeric or ndarray

Examples

>>> eotf_DCIP3(461.99220597484737)  
0.18...
colour.oetf_DICOMGSDF(L)[source]

Defines the DICOM - Grayscale Standard Display Function opto-electronic transfer function (OETF / OECF).

Parameters:L (numeric or array_like) – Luminance \(L\).
Returns:Just-Noticeable Difference (JND) Index, \(j\) in domain 1 to 1023.
Return type:numeric or ndarray

Examples

>>> oetf_DICOMGSDF(130.065284012159790)  
511.9964806...
colour.eotf_DICOMGSDF(J)[source]

Defines the DICOM - Grayscale Standard Display Function electro-optical transfer function (EOTF / EOCF).

Parameters:J (numeric or array_like) – Just-Noticeable Difference (JND) Index, \(j\) in range 1 to 1023.
Returns:Corresponding luminance \(L\).
Return type:numeric or ndarray

Examples

>>> eotf_DICOMGSDF(512)  
130.0652840...
colour.function_gamma(a, exponent=1, negative_number_handling=u'indeterminate')[source]

Defines a typical gamma encoding / decoding function.

Parameters:
  • a (numeric or array_like) – Array to encode / decode.
  • exponent (numeric or array_like, optional) – Encoding / decoding exponent.
  • negative_number_handling (unicode, optional) –

    {‘Indeterminate’, ‘Mirror’, ‘Preserve’, ‘Clamp’}, Defines the behaviour for a negative numbers and / or the definition return value:

    • Indeterminate: The behaviour will be indeterminate and definition return value might contain nans.
    • Mirror: The definition return value will be mirrored around abscissa and ordinate axis, i.e. Blackmagic Design: Davinci Resolve behaviour.
    • Preserve: The definition will preserve any negative number in a, i.e. The Foundry Nuke behaviour.
    • Clamp: The definition will clamp any negative number in a to 0.
Returns:

Encoded / decoded array.

Return type:

numeric or ndarray

Raises:

ValueError – If the negative number handling method is not defined.

Examples

>>> function_gamma(0.18, 2.2)  
0.0229932...
>>> function_gamma(-0.18, 2.0)  
0.0323999...
>>> function_gamma(-0.18, 2.2)
nan
>>> function_gamma(-0.18, 2.2, 'Mirror')  
-0.0229932...
>>> function_gamma(-0.18, 2.2, 'Preserve')  
-0.1...
>>> function_gamma(-0.18, 2.2, 'Clamp')  
0.0
colour.log_encoding_Protune(x)[source]

Defines the Protune log encoding curve / opto-electronic transfer function.

Parameters:x (numeric or array_like) – Linear data \(x\).
Returns:Non-linear data \(y\).
Return type:numeric or ndarray

Examples

>>> log_encoding_Protune(0.18)  
0.6456234...
colour.log_decoding_Protune(y)[source]

Defines the Protune log decoding curve / electro-optical transfer function.

Parameters:y (numeric or array_like) – Non-linear data \(y\).
Returns:Linear data \(x\).
Return type:numeric or ndarray

Examples

>>> log_decoding_Protune(0.645623486803636)  
0.1...
colour.function_linear(a)[source]

Defines a typical linear encoding / decoding function, essentially a pass-through function.

Parameters:a (numeric or array_like) – Array to encode / decode.
Returns:Encoded / decoded array.
Return type:numeric or ndarray

Examples

>>> function_linear(0.18)
0.18
colour.log_encoding_Panalog(x, black_offset=0.04077184461038074)[source]

Defines the Panalog log encoding curve / opto-electronic transfer function.

Parameters:
  • x (numeric or array_like) – Linear data \(x\).
  • black_offset (numeric or array_like) – Black offset.
Returns:

Non-linear data \(y\).

Return type:

numeric or ndarray

Warning

These are estimations known to be close enough, the actual log encoding curves are not published.

Examples

>>> log_encoding_Panalog(0.18)  
0.3745767...
colour.log_decoding_Panalog(y, black_offset=0.04077184461038074)[source]

Defines the Panalog log decoding curve / electro-optical transfer function.

Parameters:
  • y (numeric or array_like) – Non-linear data \(y\).
  • black_offset (numeric or array_like) – Black offset.
Returns:

Linear data \(x\).

Return type:

numeric or ndarray

Warning

These are estimations known to be close enough, the actual log encoding curves are not published.

Examples

>>> log_decoding_Panalog(0.374576791382298)  
0.1...
colour.log_encoding_VLog(L_in)[source]

Defines the Panasonic V-Log log encoding curve / opto-electronic transfer function.

Parameters:L_in (numeric or array_like) – Linear reflection data :math`L_{in}`.
Returns:Non-linear data \(V_{out}\).
Return type:numeric or ndarray

Examples

>>> log_encoding_VLog(0.18)  
0.4233114...
colour.log_decoding_VLog(V_out)[source]

Defines the Panasonic V-Log log decoding curve / electro-optical transfer function.

Parameters:V_out (numeric or array_like) – Non-linear data \(V_{out}\).
Returns:Linear reflection data :math`L_{in}`.
Return type:numeric or ndarray

Examples

>>> log_decoding_VLog(0.423311448760136)  
0.1799999...
colour.log_encoding_PivotedLog(x, log_reference=445, linear_reference=0.18, negative_gamma=0.6, density_per_code_value=0.002)[source]

Defines the Josh Pines style Pivoted Log log encoding curve / opto-electronic transfer function.

Parameters:
  • x (numeric or array_like) – Linear data \(x\).
  • log_reference (numeric or array_like) – Log reference.
  • linear_reference (numeric or array_like) – Linear reference.
  • negative_gamma (numeric or array_like) – Negative gamma.
  • density_per_code_value (numeric or array_like) – Density per code value.
Returns:

Non-linear data \(y\).

Return type:

numeric or ndarray

Examples

>>> log_encoding_PivotedLog(0.18)  
0.4349951...
colour.log_decoding_PivotedLog(y, log_reference=445, linear_reference=0.18, negative_gamma=0.6, density_per_code_value=0.002)[source]

Defines the Josh Pines style Pivoted Log log decoding curve / electro-optical transfer function.

Parameters:
  • y (numeric or array_like) – Non-linear data \(y\).
  • log_reference (numeric or array_like) – Log reference.
  • linear_reference (numeric or array_like) – Linear reference.
  • negative_gamma (numeric or array_like) – Negative gamma.
  • density_per_code_value (numeric or array_like) – Density per code value.
Returns:

Linear data \(x\).

Return type:

numeric or ndarray

Examples

>>> log_decoding_PivotedLog(0.434995112414467)  
0.1...
colour.log_encoding_REDLog(x, black_offset=0.009955040995908344)[source]

Defines the REDLog log encoding curve / opto-electronic transfer function.

Parameters:
  • x (numeric or array_like) – Linear data \(x\).
  • black_offset (numeric or array_like) – Black offset.
Returns:

Non-linear data \(y\).

Return type:

numeric or ndarray

Examples

>>> log_encoding_REDLog(0.18)  
0.6376218...
colour.log_decoding_REDLog(y, black_offset=0.009955040995908344)[source]

Defines the REDLog log decoding curve / electro-optical transfer function.

Parameters:
  • y (numeric or array_like) – Non-linear data \(y\).
  • black_offset (numeric or array_like) – Black offset.
Returns:

Linear data \(x\).

Return type:

numeric or ndarray

Examples

>>> log_decoding_REDLog(0.637621845988175)  
0.1...
colour.log_encoding_REDLogFilm(x, black_offset=0.0107977516232771)[source]

Defines the REDLogFilm log encoding curve / opto-electronic transfer function.

Parameters:
  • x (numeric or array_like) – Linear data \(x\).
  • black_offset (numeric or array_like) – Black offset.
Returns:

Non-linear data \(y\).

Return type:

numeric or ndarray

Examples

>>> log_encoding_REDLogFilm(0.18)  
0.4573196...
colour.log_decoding_REDLogFilm(y, black_offset=0.0107977516232771)[source]

Defines the REDLogFilm log decoding curve / electro-optical transfer function.

Parameters:
  • y (numeric or array_like) – Non-linear data \(y\).
  • black_offset (numeric or array_like) – Black offset.
Returns:

Linear data \(x\).

Return type:

numeric or ndarray

Examples

>>> log_decoding_REDLogFilm(0.457319613085418)  
0.1799999...
colour.log_encoding_Log3G10(x, legacy_curve=False)[source]

Defines the Log3G10 log encoding curve / opto-electronic transfer function.

Parameters:
  • x (numeric or array_like) – Linear data \(x\).
  • legacy_curve (bool, optional) – Whether to use the v1 Log3G10 log encoding curve. Default is False.
Returns:

Non-linear data \(y\).

Return type:

numeric or ndarray

Notes

  • The v1 Log3G10 log encoding curve is the one used in REDCINE-X beta 42. Resolve 12.5.2 also uses the v1 curve. RED is planning to use v2 Log3G10 log encoding curve in the release version of the RED SDK. Use the legacy_curve=True argument to switch to the v1 curve for compatibility with the current (as of September 21, 2016) RED SDK.

  • The intent of the v1 Log3G10 log encoding curve is that zero maps to zero, 0.18 maps to 1/3, and 10 stops above 0.18 maps to 1.0. The name indicates this in a similar way to the naming conventions of Sony HyperGamma curves.

    The constants used in the functions do not in fact quite hit these values, but rather than use corrected constants, the functions here use the official RED values, in order to match the output of the RED SDK.

    For those interested, solving for constants which exactly hit 1/3 and 1.0 yields the following values:

    B = 25 * (np.sqrt(4093.0) - 3) / 9
    A = 1 / np.log10(B * 184.32 + 1)
    

    where the function takes the form:

    Log3G10(x) = A * np.log10(B * x + 1)
    

    Similarly for Log3G12, the values which hit exactly 1/3 and 1.0 are:

    B = 25 * (np.sqrt(16381.0) - 3) / 9
    A = 1 / np.log10(B * 737.28 + 1)
    

Examples

>>> log_encoding_Log3G10(0.18, legacy_curve=True)  
0.3333336...
>>> log_encoding_Log3G10(0.0)  
0.0915514...
colour.log_decoding_Log3G10(y, legacy_curve=False)[source]

Defines the Log3G10 log decoding curve / electro-optical transfer function.

Parameters:
  • y (numeric or array_like) – Non-linear data \(y\).
  • legacy_curve (bool, optional) – Whether to use the v1 Log3G10 log encoding curve. Default is False.
Returns:

Linear data \(x\).

Return type:

numeric or ndarray

Examples

>>> log_decoding_Log3G10(1.0 / 3, legacy_curve=True)  
0.1799994...
>>> log_decoding_Log3G10(1.0)  
184.3223476...
colour.log_encoding_Log3G12(x)[source]

Defines the Log3G12 log encoding curve / opto-electronic transfer function.

Parameters:x (numeric or array_like) – Linear data \(x\).
Returns:Non-linear data \(y\).
Return type:numeric or ndarray

Examples

>>> log_encoding_Log3G12(0.18)  
0.3333326...
colour.log_decoding_Log3G12(y)[source]

Defines the Log3G12 log decoding curve / electro-optical transfer function.

Parameters:y (numeric or array_like) – Non-linear data \(y\).
Returns:Linear data \(x\).
Return type:numeric or ndarray

Examples

>>> log_decoding_Log3G12(1.0 / 3)  
0.1800015...
colour.oetf_ROMMRGB(X, I_max=255)[source]

Defines the ROMM RGB encoding opto-electronic transfer function (OETF / OECF).

Parameters:
  • X (numeric or array_like) – Linear data \(X_{ROMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
Returns:

Non-linear data \(X'_{ROMM}\).

Return type:

numeric or ndarray

Examples

>>> oetf_ROMMRGB(0.18)  
98.3564133...
colour.eotf_ROMMRGB(X_p, I_max=255)[source]

Defines the ROMM RGB encoding electro-optical transfer function (EOTF / EOCF).

Parameters:
  • X_p (numeric or array_like) – Non-linear data \(X'_{ROMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
Returns:

Linear data \(X_{ROMM}\).

Return type:

numeric or ndarray

Examples

>>> eotf_ROMMRGB(98.356413311540095) 
0.1...
colour.oetf_ProPhotoRGB(X, I_max=255)

Defines the ROMM RGB encoding opto-electronic transfer function (OETF / OECF).

Parameters:
  • X (numeric or array_like) – Linear data \(X_{ROMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
Returns:

Non-linear data \(X'_{ROMM}\).

Return type:

numeric or ndarray

Examples

>>> oetf_ROMMRGB(0.18)  
98.3564133...
colour.eotf_ProPhotoRGB(X_p, I_max=255)

Defines the ROMM RGB encoding electro-optical transfer function (EOTF / EOCF).

Parameters:
  • X_p (numeric or array_like) – Non-linear data \(X'_{ROMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
Returns:

Linear data \(X_{ROMM}\).

Return type:

numeric or ndarray

Examples

>>> eotf_ROMMRGB(98.356413311540095) 
0.1...
colour.oetf_RIMMRGB(X, I_max=255, E_clip=2.0)[source]

Defines the RIMM RGB encoding opto-electronic transfer function (OETF / OECF).

RIMM RGB encoding non-linearity is based on that specified by Recommendation ITU-R BT.709-6.

Parameters:
  • X (numeric or array_like) – Linear data \(X_{RIMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
  • E_clip (numeric, optional) – Maximum exposure level.
Returns:

Non-linear data \(X'_{RIMM}\).

Return type:

numeric or ndarray

Examples

>>> oetf_RIMMRGB(0.18)  
74.3768017...
colour.eotf_RIMMRGB(X_p, I_max=255, E_clip=2.0)[source]

Defines the RIMM RGB encoding electro-optical transfer function (EOTF / EOCF).

Parameters:
  • X_p (numeric or array_like) – Non-linear data \(X'_{RIMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
  • E_clip (numeric, optional) – Maximum exposure level.
Returns:

Linear data \(X_{RIMM}\).

Return type:

numeric or ndarray

Examples

>>> eotf_RIMMRGB(74.37680178131521)  
0.1...
colour.log_encoding_ERIMMRGB(X, I_max=255, E_min=0.001, E_clip=316.2)[source]

Defines the ERIMM RGB log encoding curve / opto-electronic transfer function (OETF / OECF).

Parameters:
  • X (numeric or array_like) – Linear data \(X_{ERIMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
  • E_min (numeric, optional) – Minimum exposure limit.
  • E_clip (numeric, optional) – Maximum exposure limit.
Returns:

Non-linear data \(X'_{ERIMM}\).

Return type:

numeric or ndarray

Examples

>>> log_encoding_ERIMMRGB(0.18)  
104.5633593...
colour.log_decoding_ERIMMRGB(X_p, I_max=255, E_min=0.001, E_clip=316.2)[source]

Defines the ERIMM RGB log decoding curve / electro-optical transfer function (EOTF / EOCF).

Parameters:
  • X_p (numeric or array_like) – Non-linear data \(X'_{ERIMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
  • E_min (numeric, optional) – Minimum exposure limit.
  • E_clip (numeric, optional) – Maximum exposure limit.
Returns:

Linear data \(X_{ERIMM}\).

Return type:

numeric or ndarray

Examples

>>> log_decoding_ERIMMRGB(104.56335932049294) 
0.1...
colour.log_encoding_SLog(t)[source]

Defines the Sony S-Log log encoding curve / opto-electronic transfer function.

Parameters:t (numeric or array_like) – Input light level \(t\) to a camera.
Returns:Camera output code \(y\).
Return type:numeric or ndarray

Examples

>>> log_encoding_SLog(0.18)  
0.3599878...
colour.log_decoding_SLog(y)[source]

Defines the Sony S-Log log decoding curve / electro-optical transfer function.

Parameters:y (numeric or array_like) – Camera output code \(y\).
Returns:Input light level \(t\) to a camera.
Return type:numeric or ndarray

Examples

>>> log_decoding_SLog(0.359987846422154)  
0.1...
colour.log_encoding_SLog2(t)[source]

Defines the Sony S-Log2 log encoding curve / opto-electronic transfer function.

Parameters:t (numeric or array_like) – Input light level \(t\) to a camera.
Returns:Camera output code \(y\).
Return type:numeric or ndarray

Examples

>>> log_encoding_SLog2(0.18)  
0.3849708...
colour.log_decoding_SLog2(y)[source]

Defines the Sony S-Log2 log decoding curve / electro-optical transfer function.

Parameters:y (numeric or array_like) – Camera output code \(y\).
Returns:Input light level \(t\) to a camera.
Return type:numeric or ndarray

Examples

>>> log_decoding_SLog2(0.384970815928670)  
0.1...
colour.log_encoding_SLog3(t)[source]

Defines the Sony S-Log3 log encoding curve / opto-electronic transfer function.

Parameters:t (numeric or array_like) – Input light level \(t\) to a camera.
Returns:Camera output code \(y\).
Return type:numeric or ndarray

Examples

>>> log_encoding_SLog3(0.18)  
0.4105571...
colour.log_decoding_SLog3(y)[source]

Defines the Sony S-Log3 log decoding curve / electro-optical transfer function.

Parameters:y (numeric or array_like) – Camera output code \(y\).
Returns:Input light level \(t\) to a camera.
Return type:numeric or ndarray

Examples

>>> log_decoding_SLog3(0.410557184750733)  
0.1...
colour.oetf_sRGB(L)[source]

Defines the sRGB colourspace opto-electronic transfer function (OETF / OECF).

Parameters:L (numeric or array_like) – Luminance \(L\) of the image.
Returns:Corresponding electrical signal \(V\).
Return type:numeric or ndarray

Examples

>>> oetf_sRGB(0.18)  
0.4613561...
colour.eotf_sRGB(V)[source]

Defines the sRGB colourspace electro-optical transfer function (EOTF / EOCF).

Parameters:V (numeric or array_like) – Electrical signal \(V\).
Returns:Corresponding luminance \(L\) of the image.
Return type:numeric or ndarray

Examples

>>> eotf_sRGB(0.461356129500442)  
0.1...
colour.oetf_ST2084(C, L_p=10000)[source]

Defines SMPTE ST 2084:2014 optimised perceptual opto-electronic transfer function (OETF / OECF).

Parameters:
  • C (numeric or array_like) – Target optical output \(C\) in \(cd/m^2\) of the ideal reference display.
  • L_p (numeric, optional) – Display peak luminance \(cd/m^2\).
Returns:

Color value abbreviated as \(N\), normalized to the range [0, 1], that is directly proportional to the encoded signal representation, and which is not directly proportional to the optical output of a display device.

Return type:

numeric or ndarray

Examples

>>> oetf_ST2084(0.18)  
0.0794209...
colour.eotf_ST2084(N, L_p=10000)[source]

Defines SMPTE ST 2084:2014 optimised perceptual electro-optical transfer function (EOTF / EOCF).

This perceptual quantizer (PQ) has been modeled by Dolby Laboratories using Barten (1999) contrast sensitivity function.

Parameters:
  • N (numeric or array_like) – Color value abbreviated as \(N\), normalized to the range [0, 1], that is directly proportional to the encoded signal representation, and which is not directly proportional to the optical output of a display device.
  • L_p (numeric, optional) – Display peak luminance \(cd/m^2\).
Returns:

Target optical output \(C\) in \(cd/m^2\) of the ideal reference display.

Return type:

numeric or ndarray

Examples

>>> eotf_ST2084(0.079420969944927)  
0.1...
colour.log_decoding_ViperLog(y)[source]

Defines the Viper Log log decoding curve / electro-optical transfer function.

Parameters:y (numeric or array_like) – Non-linear data \(y\).
Returns:Linear data \(x\).
Return type:numeric or ndarray

Examples

>>> log_decoding_ViperLog(0.636008067010413)  
0.1799999...
colour.log_decoding_ViperLog(y)[source]

Defines the Viper Log log decoding curve / electro-optical transfer function.

Parameters:y (numeric or array_like) – Non-linear data \(y\).
Returns:Linear data \(x\).
Return type:numeric or ndarray

Examples

>>> log_decoding_ViperLog(0.636008067010413)  
0.1799999...
colour.log_encoding_curve(value, curve='Cineon', **kwargs)[source]

Encodes linear-light values to \(R'G'B'\) video component signal value using given log curve.

Parameters:
  • value (numeric or array_like) – Value.
  • curve (unicode, optional) – {‘ACEScc’, ‘ACEScct’, ‘ACESproxy’, ‘ALEXA Log C’, ‘Canon Log 2’, ‘Canon Log 3’, ‘Canon Log’, ‘Cineon’, ‘ERIMM RGB’, ‘Log3G10’, ‘Log3G12’, ‘Panalog’, ‘PLog’, ‘Protune’, ‘REDLog’, ‘REDLogFilm’, ‘S-Log’, ‘S-Log2’, ‘S-Log3’, ‘V-Log’, ‘ViperLog’}, Computation curve.
Other Parameters:
 
Returns:

Log value.

Return type:

numeric or ndarray

Examples

>>> log_encoding_curve(0.18)  
0.4573196...
>>> log_encoding_curve(0.18, curve='ACEScc')  
0.4135884...
>>> log_encoding_curve(  
...     0.18, curve='PLog', log_reference=400)
0.3910068...
>>> log_encoding_curve(0.18, curve='S-Log')  
0.3599878...
colour.log_decoding_curve(value, curve='Cineon', **kwargs)[source]

Decodes \(R'G'B'\) video component signal value to linear-light values using given log curve.

Parameters:
  • value (numeric or array_like) – Value.
  • curve (unicode, optional) – {‘ACEScc’, ‘ACEScct’, ‘ACESproxy’, ‘ALEXA Log C’, ‘Canon Log 2’, ‘Canon Log 3’, ‘Canon Log’, ‘Cineon’, ‘ERIMM RGB’, ‘Log3G10’, ‘Log3G12’, ‘Panalog’, ‘PLog’, ‘Protune’, ‘REDLog’, ‘REDLogFilm’, ‘S-Log’, ‘S-Log2’, ‘S-Log3’, ‘V-Log’, ‘ViperLog’}, Computation curve.
Other Parameters:
 
Returns:

Log value.

Return type:

numeric or ndarray

Examples

>>> log_decoding_curve(0.457319613085418)  
0.1...
>>> log_decoding_curve(  
...     0.413588402492442, curve='ACEScc')
0.1...
>>> log_decoding_curve(  
...     0.391006842619746, curve='PLog', log_reference=400)
0.1...
>>> log_decoding_curve(  
...     0.359987846422154, curve='S-Log')
0.1...
colour.oetf(value, function='sRGB', **kwargs)[source]

Encodes estimated tristimulus values in a scene to \(R'G'B'\) video component signal value using given opto-electronic transfer function (OETF / OECF).

Parameters:
  • value (numeric or array_like) – Value.
  • function (unicode, optional) – {‘ARIB STD-B67’, ‘sRGB’, ‘BT.1886’, ‘BT.2020’, ‘BT.709’, ‘DCI-P3’, ‘DICOM GSDF’, ‘ROMM RGB’, ‘ProPhoto RGB’, ‘RIMM RGB’, ‘ST 2084’}, Computation function.
Other Parameters:
 
  • E_clip (numeric, optional) – {oetf_RIMMRGB()}, Maximum exposure level.
  • I_max (numeric, optional) – {oetf_ROMMRGB(), oetf_RIMMRGB()}, Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
  • L_B (numeric, optional) – {oetf_BT1886()}, Screen luminance for black.
  • L_W (numeric, optional) – {oetf_BT1886()}, Screen luminance for white.
  • L_p (numeric, optional) – {oetf_ST2084()}, Display peak luminance \(cd/m^2\).
  • is_12_bits_system (bool) – {oetf_BT2020()}, BT.709 alpha and beta constants are used if system is not 12-bit.
  • r (numeric, optional) – {oetf_ARIBSTDB67()}, Video level corresponding to reference white level.
Returns:

\(R'G'B'\) video component signal value.

Return type:

numeric or ndarray

Examples

>>> oetf(0.18)  
0.4613561...
>>> oetf(0.18, function='BT.2020')  
0.4090077...
>>> oetf(  
...     0.18, function='ST 2084', L_p=1000)
0.1820115...
colour.eotf(value, function='sRGB', **kwargs)[source]

Decodes \(R'G'B'\) video component signal value to tristimulus values at the display using given electro-optical transfer function (EOTF / EOCF).

Parameters:
  • value (numeric or array_like) – Value.
  • function (unicode, optional) – {‘ARIB STD-B67’, ‘sRGB’, ‘BT.1886’, ‘BT.2020’, ‘BT.709’, ‘DCI-P3’, ‘DICOM GSDF’, ‘ROMM RGB’, ‘ProPhoto RGB’, ‘RIMM RGB’, ‘ST 2084’}, Computation function.
Other Parameters:
 
  • E_clip (numeric, optional) – {eotf_RIMMRGB()}, Maximum exposure level.
  • I_max (numeric, optional) – {eotf_ROMMRGB(), eotf_RIMMRGB()}, Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
  • L_B (numeric, optional) – {eotf_BT1886()}, Screen luminance for black.
  • L_W (numeric, optional) – {eotf_BT1886()}, Screen luminance for white.
  • L_p (numeric, optional) – {eotf_ST2084()}, Display peak luminance \(cd/m^2\).
  • is_12_bits_system (bool) – {eotf_BT2020()}, BT.709 alpha and beta constants are used if system is not 12-bit.
  • r (numeric, optional) – {eotf_ARIBSTDB67()}, Video level corresponding to reference white level.
Returns:

Tristimulus values at the display.

Return type:

numeric or ndarray

Examples

>>> eotf(0.461356129500442)  
0.1...
>>> eotf(0.409007728864150,
...     function='BT.2020')  
0.1...
>>> eotf(  
...     0.182011532850008, function='ST 2084', L_p=1000)
0.1...
colour.XYZ_to_sRGB(XYZ, illuminant=array([ 0.3127, 0.329 ]), chromatic_adaptation_transform=u'CAT02', apply_encoding_cctf=True)[source]

Converts from CIE XYZ tristimulus values to sRGB colourspace.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • illuminant (array_like, optional) – Source illuminant chromaticity coordinates.
  • chromatic_adaptation_transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
  • apply_encoding_cctf (bool, optional) – Apply sRGB encoding colour component transfer function / opto-electronic transfer function.
Returns:

sRGB colour array.

Return type:

ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 1].

Examples

>>> import numpy as np
>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> XYZ_to_sRGB(XYZ)  
array([ 0.1749881...,  0.3881947...,  0.3216031...])
colour.sRGB_to_XYZ(RGB, illuminant=array([ 0.3127, 0.329 ]), chromatic_adaptation_method=u'CAT02', apply_decoding_cctf=True)[source]

Converts from sRGB colourspace to CIE XYZ tristimulus values.

Parameters:
  • RGB (array_like) – sRGB colourspace array.
  • illuminant (array_like, optional) – Source illuminant chromaticity coordinates.
  • chromatic_adaptation_method (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation method.
  • apply_decoding_cctf (bool, optional) – Apply sRGB decoding colour component transfer function / electro-optical transfer function.
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray

Notes

  • Input RGB colourspace array is in domain [0, 1].

Examples

>>> import numpy as np
>>> RGB = np.array([0.17498172, 0.38818743, 0.32159978])
>>> sRGB_to_XYZ(RGB)  
array([ 0.0704953...,  0.1008...,  0.0955831...])
colour.spectral_to_aces_relative_exposure_values(spd, illuminant=SpectralPowerDistribution( 'D60', {300.0: 0.029370758174923, 310.0: 2.619241317964963, 320.0: 15.71689061312826, 330.0: 28.774580263919134, 340.0: 31.86483993666198, 350.0: 36.3774264446741, 360.0: 38.68311546316286, 370.0: 42.717548461834966, 380.0: 41.45494057963752, 390.0: 46.60531924327943, 400.0: 72.27859383884864, 410.0: 80.44059999279465, 420.0: 82.91502693894319, 430.0: 77.67626397731756, 440.0: 95.68127430379398, 450.0: 107.95482086750596, 460.0: 109.55918680507406, 470.0: 107.75814070682792, 480.0: 109.6714042353418, 490.0: 103.70787331005091, 500.0: 105.23219857523205, 510.0: 104.42766692185435, 520.0: 102.52293357805246, 530.0: 106.05267087904782, 540.0: 103.31515403458198, 550.0: 103.53859891732658, 560.0: 100.0, 570.0: 96.7514214188669, 580.0: 96.71282250154032, 590.0: 89.92147908442617, 600.0: 91.99979329504407, 610.0: 92.09870955067275, 620.0: 90.64600269701035, 630.0: 86.52648272486029, 640.0: 87.57918623550152, 650.0: 83.97614003583296, 660.0: 84.72407422805772, 670.0: 87.49349084772983, 680.0: 83.48307015694974, 690.0: 74.17245111876663, 700.0: 76.62038531099138, 710.0: 79.05184907375583, 720.0: 65.47137071741646, 730.0: 74.10607902725252, 740.0: 79.5271204277263, 750.0: 67.30716277162384, 760.0: 49.273538206159095, 770.0: 70.89241211789025, 780.0: 67.16399622630497, 790.0: 68.17137071741647, 800.0: 62.9898086167058, 810.0: 54.990892361077115, 820.0: 60.82560067091317, 830.0: 63.89349586226156}))[source]

Converts given spectral power distribution to ACES2065-1 colourspace relative exposure values.

Parameters:
Returns:

ACES2065-1 colourspace relative exposure values array.

Return type:

ndarray, (3,)

Notes

  • Output ACES2065-1 colourspace relative exposure values array is in range [0, 1].

References

Examples

>>> from colour import COLOURCHECKERS_SPDS
>>> spd = COLOURCHECKERS_SPDS['ColorChecker N Ohta']['dark skin']
>>> spectral_to_aces_relative_exposure_values(spd)  
array([ 0.1187697...,  0.0870866...,  0.0589442...])
colour.RGB_to_HSV(RGB)[source]

Converts from RGB colourspace to HSV colourspace.

Parameters:RGB (array_like) – RGB colourspace array.
Returns:HSV array.
Return type:ndarray

Notes

  • Input RGB colourspace array is in domain [0, 1].
  • Output HSV colourspace array is in range [0, 1].

References

[3]EasyRGB. (n.d.). RGB —> HSV. Retrieved May 18, 2014, from http://www.easyrgb.com/index.php?X=MATH&H=20#text20

Examples

>>> RGB = np.array([0.49019608, 0.98039216, 0.25098039])
>>> RGB_to_HSV(RGB)  
array([ 0.2786738...,  0.744     ,  0.98039216])
colour.HSV_to_RGB(HSV)[source]

Converts from HSV colourspace to RGB colourspace.

Parameters:HSV (array_like) – HSV colourspace array.
Returns:RGB colourspace array.
Return type:ndarray

Notes

  • Input HSV colourspace array is in domain [0, 1].
  • Output RGB colourspace array is in range [0, 1].

References

[4]EasyRGB. (n.d.). HSV —> RGB. Retrieved May 18, 2014, from http://www.easyrgb.com/index.php?X=MATH&H=21#text21

Examples

>>> HSV = np.array([0.27867384, 0.74400000, 0.98039216])
>>> HSV_to_RGB(HSV)  
array([ 0.4901960...,  0.9803921...,  0.2509803...])
colour.RGB_to_HSL(RGB)[source]

Converts from RGB colourspace to HSL colourspace.

Parameters:RGB (array_like) – RGB colourspace array.
Returns:HSL array.
Return type:ndarray

Notes

  • Input RGB colourspace array is in domain [0, 1].
  • Output HSL colourspace array is in range [0, 1].

References

[5]EasyRGB. (n.d.). RGB —> HSL. Retrieved May 18, 2014, from http://www.easyrgb.com/index.php?X=MATH&H=18#text18

Examples

>>> RGB = np.array([0.49019608, 0.98039216, 0.25098039])
>>> RGB_to_HSL(RGB)  
array([ 0.2786738...,  0.9489796...,  0.6156862...])
colour.HSL_to_RGB(HSL)[source]

Converts from HSL colourspace to RGB colourspace.

Parameters:HSL (array_like) – HSL colourspace array.
Returns:RGB colourspace array.
Return type:ndarray

Notes

  • Input HSL colourspace array is in domain [0, 1].
  • Output RGB colourspace array is in range [0, 1].

References

[6]EasyRGB. (n.d.). HSL —> RGB. Retrieved May 18, 2014, from http://www.easyrgb.com/index.php?X=MATH&H=19#text19

Examples

>>> HSL = np.array([0.27867384, 0.94897959, 0.61568627])
>>> HSL_to_RGB(HSL)  
array([ 0.4901960...,  0.9803921...,  0.2509803...])
colour.RGB_to_CMY(RGB)[source]

Converts from RGB colourspace to CMY colourspace.

Parameters:RGB (array_like) – RGB colourspace array.
Returns:CMY array.
Return type:ndarray

Notes

  • Input RGB colourspace array is in domain [0, 1].
  • Output CMY colourspace array is in range [0, 1].

References

[7]EasyRGB. (n.d.). RGB —> CMY. Retrieved May 18, 2014, from http://www.easyrgb.com/index.php?X=MATH&H=11#text11

Examples

>>> RGB = np.array([0.49019608, 0.98039216, 0.25098039])
>>> RGB_to_CMY(RGB)  
array([ 0.5098039...,  0.0196078...,  0.7490196...])
colour.CMY_to_RGB(CMY)[source]

Converts from CMY colourspace to CMY colourspace.

Parameters:CMY (array_like) – CMY colourspace array.
Returns:RGB colourspace array.
Return type:ndarray

Notes

  • Input CMY colourspace array is in domain [0, 1].
  • Output RGB colourspace array is in range [0, 1].

References

[8]EasyRGB. (n.d.). CMY —> RGB. Retrieved May 18, 2014, from http://www.easyrgb.com/index.php?X=MATH&H=12#text12

Examples

>>> CMY = np.array([0.50980392, 0.01960784, 0.74901961])
>>> CMY_to_RGB(CMY)  
array([ 0.4901960...,  0.9803921...,  0.2509803...])
colour.CMY_to_CMYK(CMY)[source]

Converts from CMY colourspace to CMYK colourspace.

Parameters:CMY (array_like) – CMY colourspace array.
Returns:CMYK array.
Return type:ndarray

Notes

  • Input CMY colourspace array is in domain [0, 1].
  • Output*CMYK* colourspace array is in range [0, 1].

References

[9]EasyRGB. (n.d.). CMY —> CMYK. Retrieved May 18, 2014, from http://www.easyrgb.com/index.php?X=MATH&H=13#text13

Examples

>>> CMY = np.array([0.50980392, 0.01960784, 0.74901961])
>>> CMY_to_CMYK(CMY)  
array([ 0.5       ,  0.        ,  0.744     ,  0.0196078...])
colour.CMYK_to_CMY(CMYK)[source]

Converts from CMYK colourspace to CMY colourspace.

Parameters:CMYK (array_like) – CMYK colourspace array.
Returns:CMY array.
Return type:ndarray

Notes

  • Input CMYK colourspace array is in domain [0, 1].
  • Output CMY colourspace array is in range [0, 1].

References

[10]EasyRGB. (n.d.). CMYK —> CMY. Retrieved May 18, 2014, from http://www.easyrgb.com/index.php?X=MATH&H=14#text14

Examples

>>> CMYK = np.array([0.50000000, 0.00000000, 0.74400000, 0.01960784])
>>> CMYK_to_CMY(CMYK)  
array([ 0.5098039...,  0.0196078...,  0.7490196...])
colour.RGB_to_Prismatic(RGB)[source]

Converts from RGB colourspace to Prismatic \(L\rho\gamma\beta\) colourspace array.

Parameters:RGB (array_like) – RGB colourspace array.
Returns:Prismatic \(L\rho\gamma\beta\) colourspace array.
Return type:ndarray

Examples

>>> RGB = np.array([0.25, 0.50, 0.75])
>>> RGB_to_Prismatic(RGB)  
array([ 0.75...   ,  0.1666666...,  0.3333333...,  0.5...   ])

Adjusting saturation of given RGB colourspace array: >>> saturation = 0.5 >>> Lrgb = RGB_to_Prismatic(RGB) >>> Lrgb[..., 1:] = 1 / 3 + saturation * (Lrgb[..., 1:] - 1 / 3) >>> Prismatic_to_RGB(Lrgb) # doctest: +ELLIPSIS array([ 0.45..., 0.6..., 0.75...])

colour.Prismatic_to_RGB(Lrgb)[source]

Converts from Prismatic \(L\rho\gamma\beta\) colourspace array to RGB colourspace.

Parameters:Lrgb (array_like) – Prismatic \(L\rho\gamma\beta\) colourspace array.
Returns:RGB colourspace array.
Return type:ndarray

Examples

>>> Lrgb = np.array([0.75000000, 0.16666667, 0.33333333, 0.50000000])
>>> Prismatic_to_RGB(Lrgb)  
array([ 0.25...   ,  0.4999999...,  0.75...  ])
colour.RGB_to_YCbCr(RGB, K=array([ 0.2126, 0.0722]), in_bits=10, in_legal=False, in_int=False, out_bits=8, out_legal=True, out_int=False, **kwargs)[source]

Converts an array of R’G’B’ values to the corresponding Y’CbCr colour encoding values array.

Parameters:
  • RGB (array_like) – Input R’G’B’ array of floats or integer values.
  • K (array_like, optional) – Luma weighting coefficients of red and blue. See :attr: YCBCR_WEIGHTS for presets. Default is (0.2126, 0.0722), the weightings for Rec. 709.
  • in_bits (int, optional) – Bit depth for integer input, or used in the calculation of the denominator for legal range float values, i.e. 8-bit means the float value for legal white is 235 / 255. Default is 10.
  • in_legal (bool, optional) – Whether to treat the input values as legal range. Default is False.
  • in_int (bool, optional) – Whether to treat the input values as in_bits integer code values. Default is False.
  • out_bits (int, optional) – Bit depth for integer output, or used in the calculation of the denominator for legal range float values, i.e. 8-bit means the float value for legal white is 235 / 255. Ignored if out_legal and out_int are both False. Default is 8.
  • out_legal (bool, optional) – Whether to return legal range values. Default is True.
  • out_int (bool, optional) – Whether to return values as out_bits integer code values. Default is False.
Other Parameters:
 
  • in_range (array_like, optional) – Array overriding the computed range such as in_range = (RGB_min, RGB_max). If in_range is undefined, RGB_min and RGB_max will be computed using RGB_range() definition.
  • out_range (array_like, optional) – Array overriding the computed range such as out_range = (Y_min, Y_max, C_min, C_max). If out_range is undefined, Y_min, Y_max, C_min and C_max will be computed using YCbCr_ranges() definition.
Returns:

Y’CbCr colour encoding array of integer or float values.

Return type:

ndarray

Warning

For Recommendation ITU-R BT.2020, RGB_to_YCbCr() definition is only applicable to the non-constant luminance implementation. RGB_to_YcCbcCrc() definition should be used for the constant luminance case as per [3]_.

Notes

  • The default arguments, **{'in_bits': 10, 'in_legal': False, 'in_int': False, 'out_bits': 8, 'out_legal': True, 'out_int': False} transform a float R’G’B’ input array in range [0, 1] (in_bits is ignored) to a float Y’CbCr output array where Y’ is in range [16 / 255, 235 / 255] and Cb and Cr are in range [16 / 255, 240./255]. The float values are calculated based on an [0, 255] integer range, but no 8-bit quantisation or clamping are performed.

Examples

>>> RGB = np.array([1.0, 1.0, 1.0])
>>> RGB_to_YCbCr(RGB)  
array([ 0.9215686...,  0.5019607...,  0.5019607...])

Matching float output of The Foundry Nuke’s Colorspace node set to YCbCr:

>>> RGB_to_YCbCr(  
...     RGB,
...     out_range=(16 / 255, 235 / 255, 15.5 / 255, 239.5 / 255))
array([ 0.9215686...,  0.5       ,  0.5       ])

Matching float output of The Foundry Nuke’s Colorspace node set to YPbPr:

>>> RGB_to_YCbCr(  
...     RGB,
...     out_legal=False,
...     out_int=False)
array([ 1.,  0.,  0.])

Creating integer code values as per standard 10-bit SDI:

>>> RGB_to_YCbCr(RGB, out_legal=True, out_bits=10, out_int=True)
array([940, 512, 512])

For JFIF JPEG conversion as per ITU-T T.871 [5]_:

>>> RGB = np.array([102, 0, 51])
>>> RGB_to_YCbCr(
...     RGB,
...     K=YCBCR_WEIGHTS['Rec. 601'],
...     in_range=(0, 255),
...     out_range=(0, 255, 0, 256),
...     out_int=True)
array([ 36, 136, 175])

Note the use of 256 for the max Cb / Cr value, which is required so that the Cb and Cr output is centered about 128. Using 255 centres it about 127.5, meaning that there is no integer code value to represent achromatic colours. This does however create the possibility of output integer codes with value of 256, which cannot be stored in 8-bit integer representation. Recommendation ITU-T T.871 specifies these should be clamped to 255.

These JFIF JPEG ranges are also obtained as follows:

>>> RGB_to_YCbCr(
...     RGB,
...     K=YCBCR_WEIGHTS['Rec. 601'],
...     in_bits=8,
...     in_int=True,
...     out_legal=False,
...     out_int=True)
array([ 36, 136, 175])
colour.YCbCr_to_RGB(YCbCr, K=array([ 0.2126, 0.0722]), in_bits=8, in_legal=True, in_int=False, out_bits=10, out_legal=False, out_int=False, **kwargs)[source]

Converts an array of Y’CbCr colour encoding values to the corresponding R’G’B’ values array.

Parameters:
  • YCbCr (array_like) – Input Y’CbCr colour encoding array of integer or float values.
  • K (array_like, optional) – Luma weighting coefficients of red and blue. See :attr: YCBCR_WEIGHTS for presets. Default is (0.2126, 0.0722), the weightings for Rec. 709.
  • in_bits (int, optional) – Bit depth for integer input, or used in the calculation of the denominator for legal range float values, i.e. 8-bit means the float value for legal white is 235 / 255. Default is 10.
  • in_legal (bool, optional) – Whether to treat the input values as legal range. Default is False.
  • in_int (bool, optional) – Whether to treat the input values as in_bits integer code values. Default is False.
  • out_bits (int, optional) – Bit depth for integer output, or used in the calculation of the denominator for legal range float values, i.e. 8-bit means the float value for legal white is 235 / 255. Ignored if out_legal and out_int are both False. Default is 8.
  • out_legal (bool, optional) – Whether to return legal range values. Default is True.
  • out_int (bool, optional) – Whether to return values as out_bits integer code values. Default is False.
Other Parameters:
 
  • in_range (array_like, optional) – Array overriding the computed range such as in_range = (Y_min, Y_max, C_min, C_max). If in_range is undefined, Y_min, Y_max, C_min and C_max will be computed using YCbCr_ranges() definition.
  • out_range (array_like, optional) – Array overriding the computed range such as out_range = (RGB_min, RGB_max). If out_range is undefined, RGB_min and RGB_max will be computed using RGB_range() definition.
Returns:

R’G’B’ array of integer or float values.

Return type:

ndarray

Warning

For Recommendation ITU-R BT.2020, YCbCr_to_RGB() definition is only applicable to the non-constant luminance implementation. YcCbcCrc_to_RGB() definition should be used for the constant luminance case as per [3]_.

Examples

>>> YCbCr = np.array([502, 512, 512])
>>> YCbCr_to_RGB(
...     YCbCr,
...     in_bits=10,
...     in_legal=True,
...     in_int=True)
array([ 0.5,  0.5,  0.5])
colour.RGB_to_YcCbcCrc(RGB, out_bits=10, out_legal=True, out_int=False, is_12_bits_system=False, **kwargs)[source]

Converts an array of RGB linear values to the corresponding Yc’Cbc’Crc’ colour encoding values array.

Parameters:
  • RGB (array_like) – Input RGB array of linear float values.
  • out_bits (int, optional) – Bit depth for integer output, or used in the calculation of the denominator for legal range float values, i.e. 8-bit means the float value for legal white is 235 / 255. Ignored if out_legal and out_int are both False. Default is 10.
  • out_legal (bool, optional) – Whether to return legal range values. Default is True.
  • out_int (bool, optional) – Whether to return values as out_bits integer code values. Default is False.
  • is_12_bits_system (bool, optional) – Recommendation ITU-R BT.2020 OETF (OECF) adopts different parameters for 10 and 12 bit systems. Default is False.
Other Parameters:
 

out_range (array_like, optional) – Array overriding the computed range such as out_range = (Y_min, Y_max, C_min, C_max). If out_range is undefined, Y_min, Y_max, C_min and C_max will be computed using YCbCr_ranges() definition.

Returns:

Yc’Cbc’Crc’ colour encoding array of integer or float values.

Return type:

ndarray

Warning

This definition is specifically for usage with Recommendation ITU-R BT.2020 [3]_ when adopting the constant luminance implementation.

Examples

>>> RGB = np.array([0.18, 0.18, 0.18])
>>> RGB_to_YcCbcCrc(
...     RGB,
...     out_legal=True,
...     out_bits=10,
...     out_int=True,
...     is_12_bits_system=False)
array([422, 512, 512])
colour.YcCbcCrc_to_RGB(YcCbcCrc, in_bits=10, in_legal=True, in_int=False, is_12_bits_system=False, **kwargs)[source]

Converts an array of Yc’Cbc’Crc’ colour encoding values to the corresponding RGB array of linear values.

Parameters:
  • YcCbcCrc (array_like) – Input Yc’Cbc’Crc’ colour encoding array of linear float values.
  • in_bits (int, optional) – Bit depth for integer input, or used in the calculation of the denominator for legal range float values, i.e. 8-bit means the float value for legal white is 235 / 255. Default is 10.
  • in_legal (bool, optional) – Whether to treat the input values as legal range. Default is False.
  • in_int (bool, optional) – Whether to treat the input values as in_bits integer code values. Default is False.
  • is_12_bits_system (bool, optional) – Recommendation ITU-R BT.2020 EOTF (EOCF) adopts different parameters for 10 and 12 bit systems. Default is False.
Other Parameters:
 

in_range (array_like, optional) – Array overriding the computed range such as in_range = (Y_min, Y_max, C_min, C_max). If in_range is undefined, Y_min, Y_max, C_min and C_max will be computed using YCbCr_ranges() definition.

Returns:

RGB array of linear float values.

Return type:

ndarray

Warning

This definition is specifically for usage with Recommendation ITU-R BT.2020 [3]_ when adopting the constant luminance implementation.

Examples

>>> YcCbcCrc = np.array([1689, 2048, 2048])
>>> YcCbcCrc_to_RGB(  
...     YcCbcCrc,
...     in_legal=True,
...     in_bits=12,
...     in_int=True,
...     is_12_bits_system=True)
array([ 0.1800903...,  0.1800903...,  0.1800903...])
colour.RGB_to_ICTCP(RGB, L_p=10000)[source]

Converts from Rec. 2020 colourspace to \(IC_TC_P\) colour encoding.

Parameters:
  • RGB (array_like) – Rec. 2020 colourspace array.
  • L_p (numeric, optional) – Display peak luminance \(cd/m^2\) for SMPTE ST 2084:2014 non-linear encoding.
Returns:

\(IC_TC_P\) colour encoding array.

Return type:

ndarray

Examples

>>> RGB = np.array([0.35181454, 0.26934757, 0.21288023])
>>> RGB_to_ICTCP(RGB)  
array([ 0.0955407..., -0.0089063...,  0.0138928...])
colour.ICTCP_to_RGB(ICTCP, L_p=10000)[source]

Converts from \(IC_TC_P\) colour encoding to Rec. 2020 colourspace.

Parameters:
  • ICTCP (array_like) – \(IC_TC_P\) colour encoding array.
  • L_p (numeric, optional) – Display peak luminance \(cd/m^2\) for SMPTE ST 2084:2014 non-linear encoding.
Returns:

Rec. 2020 colourspace array.

Return type:

ndarray

Examples

>>> ICTCP = np.array([0.09554079, -0.00890639, 0.01389286])
>>> ICTCP_to_RGB(ICTCP)  
array([ 0.3518145...,  0.2693475...,  0.2128802...])
colour.corresponding_chromaticities_prediction_CIE1994(experiment=1)[source]

Returns the corresponding chromaticities prediction for CIE 1994 chromatic adaptation model.

Parameters:experiment (integer, optional) – {1, 2, 3, 4, 6, 8, 9, 11, 12} Breneman (1987) experiment number.
Returns:Corresponding chromaticities prediction.
Return type:tuple

Examples

>>> from pprint import pprint
>>> pr = corresponding_chromaticities_prediction_CIE1994(2)
>>> pr = [(p.uvp_m, p.uvp_p) for p in pr]
>>> pprint(pr)  
[((0.207, 0.486), (0.2133909..., 0.4939794...)),
 ((0.449, 0.511), (0.4450345..., 0.5120939...)),
 ((0.263, 0.505), (0.2693262..., 0.5083212...)),
 ((0.322, 0.545), (0.3308593..., 0.5443940...)),
 ((0.316, 0.537), (0.3225195..., 0.5377826...)),
 ((0.265, 0.553), (0.2709737..., 0.5513666...)),
 ((0.221, 0.538), (0.2280786..., 0.5351592...)),
 ((0.135, 0.532), (0.1439436..., 0.5303576...)),
 ((0.145, 0.472), (0.1500743..., 0.4842895...)),
 ((0.163, 0.331), (0.1559955..., 0.3772379...)),
 ((0.176, 0.431), (0.1806318..., 0.4518475...)),
 ((0.244, 0.349), (0.2454445..., 0.4018004...))]
colour.corresponding_chromaticities_prediction_CMCCAT2000(experiment=1)[source]

Returns the corresponding chromaticities prediction for CMCCAT2000 chromatic adaptation model.

Parameters:experiment (integer, optional) – {1, 2, 3, 4, 6, 8, 9, 11, 12} Breneman (1987) experiment number.
Returns:Corresponding chromaticities prediction.
Return type:tuple

Examples

>>> from pprint import pprint
>>> pr = corresponding_chromaticities_prediction_CMCCAT2000(2)
>>> pr = [(p.uvp_m, p.uvp_p) for p in pr]
>>> pprint(pr)  
[((0.207, 0.486), (0.2083210..., 0.4727168...)),
 ((0.449, 0.511), (0.4459270..., 0.5077735...)),
 ((0.263, 0.505), (0.2640262..., 0.4955361...)),
 ((0.322, 0.545), (0.3316884..., 0.5431580...)),
 ((0.316, 0.537), (0.3222624..., 0.5357624...)),
 ((0.265, 0.553), (0.2710705..., 0.5501997...)),
 ((0.221, 0.538), (0.2261826..., 0.5294740...)),
 ((0.135, 0.532), (0.1439693..., 0.5190984...)),
 ((0.145, 0.472), (0.1494835..., 0.4556760...)),
 ((0.163, 0.331), (0.1563172..., 0.3164151...)),
 ((0.176, 0.431), (0.1763199..., 0.4127589...)),
 ((0.244, 0.349), (0.2287638..., 0.3499324...))]
colour.corresponding_chromaticities_prediction_Fairchild1990(experiment=1)[source]

Returns the corresponding chromaticities prediction for Fairchild (1990) chromatic adaptation model.

Parameters:experiment (integer, optional) – {1, 2, 3, 4, 6, 8, 9, 11, 12} Breneman (1987) experiment number.
Returns:Corresponding chromaticities prediction.
Return type:tuple

Examples

>>> from pprint import pprint
>>> pr = corresponding_chromaticities_prediction_Fairchild1990(2)
>>> pr = [(p.uvp_m, p.uvp_p) for p in pr]
>>> pprint(pr)  
[((0.207, 0.486), (0.2089528..., 0.4724034...)),
 ((0.449, 0.511), (0.4375652..., 0.5121030...)),
 ((0.263, 0.505), (0.2621362..., 0.4972538...)),
 ((0.322, 0.545), (0.3235312..., 0.5475665...)),
 ((0.316, 0.537), (0.3151390..., 0.5398333...)),
 ((0.265, 0.553), (0.2634745..., 0.5544335...)),
 ((0.221, 0.538), (0.2211595..., 0.5324470...)),
 ((0.135, 0.532), (0.1396949..., 0.5207234...)),
 ((0.145, 0.472), (0.1512288..., 0.4533041...)),
 ((0.163, 0.331), (0.1715691..., 0.3026264...)),
 ((0.176, 0.431), (0.1825792..., 0.4077892...)),
 ((0.244, 0.349), (0.2418904..., 0.3413401...))]
colour.corresponding_chromaticities_prediction_VonKries(experiment=1, transform=u'CAT02')[source]

Returns the corresponding chromaticities prediction for Von Kries chromatic adaptation model using given transform.

Parameters:
  • experiment (integer, optional) – {1, 2, 3, 4, 6, 8, 9, 11, 12} Breneman (1987) experiment number.
  • transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
Returns:

Corresponding chromaticities prediction.

Return type:

tuple

Examples

>>> from pprint import pprint
>>> pr = corresponding_chromaticities_prediction_VonKries(2, 'Bradford')
>>> pr = [(p.uvp_m, p.uvp_p) for p in pr]
>>> pprint(pr)  
[((0.207, 0.486), (0.2082014..., 0.4722922...)),
 ((0.449, 0.511), (0.4489102..., 0.5071602...)),
 ((0.263, 0.505), (0.2643545..., 0.4959631...)),
 ((0.322, 0.545), (0.3348730..., 0.5471220...)),
 ((0.316, 0.537), (0.3248758..., 0.5390589...)),
 ((0.265, 0.553), (0.2733105..., 0.5555028...)),
 ((0.221, 0.538), (0.2271480..., 0.5331317...)),
 ((0.135, 0.532), (0.1442730..., 0.5226804...)),
 ((0.145, 0.472), (0.1498745..., 0.4550785...)),
 ((0.163, 0.331), (0.1564975..., 0.3148795...)),
 ((0.176, 0.431), (0.1760593..., 0.4103772...)),
 ((0.244, 0.349), (0.2259805..., 0.3465291...))]
colour.corresponding_chromaticities_prediction(experiment=1, model=u'Von Kries', **kwargs)[source]

Returns the corresponding chromaticities prediction for given chromatic adaptation model.

Parameters:
  • experiment (integer, optional) – {1, 2, 3, 4, 6, 8, 9, 11, 12} Breneman (1987) experiment number.
  • model (unicode, optional) – {‘Von Kries’, ‘CIE 1994’, ‘CMCCAT2000’, ‘Fairchild 1990’}, Chromatic adaptation model.
Other Parameters:
 

transform (unicode, optional) – {corresponding_chromaticities_prediction_VonKries()}, {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.

Returns:

Corresponding chromaticities prediction.

Return type:

tuple

Examples

>>> from pprint import pprint
>>> pr = corresponding_chromaticities_prediction(2, 'CMCCAT2000')
>>> pr = [(p.uvp_m, p.uvp_p) for p in pr]
>>> pprint(pr)  
[((0.207, 0.486), (0.2083210..., 0.4727168...)),
 ((0.449, 0.511), (0.4459270..., 0.5077735...)),
 ((0.263, 0.505), (0.2640262..., 0.4955361...)),
 ((0.322, 0.545), (0.3316884..., 0.5431580...)),
 ((0.316, 0.537), (0.3222624..., 0.5357624...)),
 ((0.265, 0.553), (0.2710705..., 0.5501997...)),
 ((0.221, 0.538), (0.2261826..., 0.5294740...)),
 ((0.135, 0.532), (0.1439693..., 0.5190984...)),
 ((0.145, 0.472), (0.1494835..., 0.4556760...)),
 ((0.163, 0.331), (0.1563172..., 0.3164151...)),
 ((0.176, 0.431), (0.1763199..., 0.4127589...)),
 ((0.244, 0.349), (0.2287638..., 0.3499324...))]
colour.scattering_cross_section(wavelength, CO2_concentration=300, temperature=288.15, avogadro_constant=6.02214179e+23, n_s=<function air_refraction_index_Bodhaine1999>, F_air=<function F_air_Bodhaine1999>)[source]

Returns the scattering cross section per molecule \(\sigma\) of dry air as function of wavelength \(\lambda\) in centimeters (cm) using given \(CO_2\) concentration in parts per million (ppm) and temperature \(T[K]\) in kelvin degrees following Van de Hulst (1957) method.

Parameters:
  • wavelength (numeric or array_like) – Wavelength \(\lambda\) in centimeters (cm).
  • CO2_concentration (numeric or array_like, optional) – \(CO_2\) concentration in parts per million (ppm).
  • temperature (numeric or array_like, optional) – Air temperature \(T[K]\) in kelvin degrees.
  • avogadro_constant (numeric or array_like, optional) – Avogadro‘s number (molecules \(mol^{-1}\)).
  • n_s (object) – Air refraction index \(n_s\) computation method.
  • F_air (object) – \((6+3_p)/(6-7_p)\), the depolarisation term \(F(air)\) or King Factor computation method.
Returns:

Scattering cross section per molecule \(\sigma\) of dry air.

Return type:

numeric or ndarray

Warning

Unlike most objects of colour.phenomenons.rayleigh module, colour.phenomenons.rayleigh.scattering_cross_section() expects wavelength \(\lambda\) to be expressed in centimeters (cm).

Examples

>>> scattering_cross_section(555 * 10e-8)  
4.6613309...e-27
colour.rayleigh_optical_depth(wavelength, CO2_concentration=300, temperature=288.15, pressure=101325, latitude=0, altitude=0, avogadro_constant=6.02214179e+23, n_s=<function air_refraction_index_Bodhaine1999>, F_air=<function F_air_Bodhaine1999>)[source]

Returns the Rayleigh optical depth \(T_r(\lambda)\) as function of wavelength \(\lambda\) in centimeters (cm).

Parameters:
  • wavelength (numeric or array_like) – Wavelength \(\lambda\) in centimeters (cm).
  • CO2_concentration (numeric or array_like, optional) – \(CO_2\) concentration in parts per million (ppm).
  • temperature (numeric or array_like, optional) – Air temperature \(T[K]\) in kelvin degrees.
  • pressure (numeric or array_like) – Surface pressure \(P\) of the measurement site.
  • latitude (numeric or array_like, optional) – Latitude of the site in degrees.
  • altitude (numeric or array_like, optional) – Altitude of the site in meters.
  • avogadro_constant (numeric or array_like, optional) – Avogadro‘s number (molecules \(mol^{-1}\)).
  • n_s (object) – Air refraction index \(n_s\) computation method.
  • F_air (object) – \((6+3_p)/(6-7_p)\), the depolarisation term \(F(air)\) or King Factor computation method.
Returns:

Rayleigh optical depth \(T_r(\lambda)\).

Return type:

numeric or ndarray

Warning

Unlike most objects of colour.phenomenons.rayleigh module, colour.phenomenons.rayleigh.rayleigh_optical_depth() expects wavelength \(\lambda\) to be expressed in centimeters (cm).

Examples

>>> rayleigh_optical_depth(555 * 10e-8)  
0.1004070...
colour.rayleigh_scattering(wavelength, CO2_concentration=300, temperature=288.15, pressure=101325, latitude=0, altitude=0, avogadro_constant=6.02214179e+23, n_s=<function air_refraction_index_Bodhaine1999>, F_air=<function F_air_Bodhaine1999>)

Returns the Rayleigh optical depth \(T_r(\lambda)\) as function of wavelength \(\lambda\) in centimeters (cm).

Parameters:
  • wavelength (numeric or array_like) – Wavelength \(\lambda\) in centimeters (cm).
  • CO2_concentration (numeric or array_like, optional) – \(CO_2\) concentration in parts per million (ppm).
  • temperature (numeric or array_like, optional) – Air temperature \(T[K]\) in kelvin degrees.
  • pressure (numeric or array_like) – Surface pressure \(P\) of the measurement site.
  • latitude (numeric or array_like, optional) – Latitude of the site in degrees.
  • altitude (numeric or array_like, optional) – Altitude of the site in meters.
  • avogadro_constant (numeric or array_like, optional) – Avogadro‘s number (molecules \(mol^{-1}\)).
  • n_s (object) – Air refraction index \(n_s\) computation method.
  • F_air (object) – \((6+3_p)/(6-7_p)\), the depolarisation term \(F(air)\) or King Factor computation method.
Returns:

Rayleigh optical depth \(T_r(\lambda)\).

Return type:

numeric or ndarray

Warning

Unlike most objects of colour.phenomenons.rayleigh module, colour.phenomenons.rayleigh.rayleigh_optical_depth() expects wavelength \(\lambda\) to be expressed in centimeters (cm).

Examples

>>> rayleigh_optical_depth(555 * 10e-8)  
0.1004070...
colour.rayleigh_scattering_spd(shape=SpectralShape(360.0, 780.0, 1.0), CO2_concentration=300, temperature=288.15, pressure=101325, latitude=0, altitude=0, avogadro_constant=6.02214179e+23, n_s=<function air_refraction_index_Bodhaine1999>, F_air=<function F_air_Bodhaine1999>)[source]

Returns the Rayleigh spectral power distribution for given spectral shape.

Parameters:
  • shape (SpectralShape, optional) – Spectral shape used to create the Rayleigh scattering spectral power distribution.
  • CO2_concentration (numeric or array_like, optional) – \(CO_2\) concentration in parts per million (ppm).
  • temperature (numeric or array_like, optional) – Air temperature \(T[K]\) in kelvin degrees.
  • pressure (numeric or array_like) – Surface pressure \(P\) of the measurement site.
  • latitude (numeric or array_like, optional) – Latitude of the site in degrees.
  • altitude (numeric or array_like, optional) – Altitude of the site in meters.
  • avogadro_constant (numeric or array_like, optional) – Avogadro‘s number (molecules \(mol^{-1}\)).
  • n_s (object) – Air refraction index \(n_s\) computation method.
  • F_air (object) – \((6+3_p)/(6-7_p)\), the depolarisation term \(F(air)\) or King Factor computation method.
Returns:

Rayleigh optical depth spectral power distribution.

Return type:

SpectralPowerDistribution

Examples

>>> print(rayleigh_scattering_spd())
SpectralPowerDistribution('Rayleigh Scattering - 300 ppm, 288.15 K, 101325 Pa, 0 Degrees, 0 m', (360.0, 780.0, 1.0))
colour.munsell_value(Y, method=u'ASTM D1535-08')[source]

Returns the Munsell value \(V\) of given luminance \(Y\) using given method.

Parameters:
  • Y (numeric or array_like) – luminance \(Y\).
  • method (unicode, optional) – {‘ASTM D1535-08’, ‘Priest 1920’, ‘Munsell 1933’, ‘Moon 1943’, ‘Saunderson 1944’, ‘Ladd 1955’, ‘McCamy 1987’}, Computation method.
Returns:

Munsell value \(V\).

Return type:

numeric or ndarray

Notes

  • Input Y is in domain [0, 100].
  • Output V is in range [0, 10].

Examples

>>> munsell_value(10.08)  
3.7344764...
>>> munsell_value(10.08, method='Priest 1920')  
3.1749015...
>>> munsell_value(10.08, method='Munsell 1933')  
3.7918355...
>>> munsell_value(10.08, method='Moon 1943')  
3.7462971...
>>> munsell_value(10.08, method='Saunderson 1944')  
3.6865080...
>>> munsell_value(10.08, method='Ladd 1955')  
3.6952862...
>>> munsell_value(10.08, method='McCamy 1987')  
array(3.7347235...)
colour.munsell_value_Priest1920(Y)[source]

Returns the Munsell value \(V\) of given luminance \(Y\) using ⁠⁠⁠⁠⁠Priest et al. (1920) method.

Parameters:Y (numeric or array_like) – luminance \(Y\).
Returns:Munsell value \(V\).
Return type:numeric or ndarray

Notes

  • Input Y is in domain [0, 100].
  • Output V is in range [0, 10].

References

[3]Wikipedia. (n.d.). Lightness. Retrieved April 13, 2014, from http://en.wikipedia.org/wiki/Lightness

Examples

>>> munsell_value_Priest1920(10.08)  
3.1749015...
colour.munsell_value_Munsell1933(Y)[source]

Returns the Munsell value \(V\) of given luminance \(Y\) using ⁠Munsell et al. (1933) method. [3]_

Parameters:Y (numeric or array_like) – luminance \(Y\).
Returns:Munsell value \(V\).
Return type:numeric or ndarray

Notes

  • Input Y is in domain [0, 100].
  • Output V is in range [0, 10].

Examples

>>> munsell_value_Munsell1933(10.08)  
3.7918355...
colour.munsell_value_Moon1943(Y)[source]

Returns the Munsell value \(V\) of given luminance \(Y\) using Moon and Spencer (1943) method. [3]_

Parameters:Y (numeric or array_like) – luminance \(Y\).
Returns:Munsell value \(V\).
Return type:numeric or ndarray

Notes

  • Input Y is in domain [0, 100].
  • Output V is in range [0, 10].

Examples

>>> munsell_value_Moon1943(10.08)  
3.7462971...
colour.munsell_value_Saunderson1944(Y)[source]

Returns the Munsell value \(V\) of given luminance \(Y\) using Saunderson and Milner (1944) method. [3]_

Parameters:Y (numeric) – luminance \(Y\).
Returns:Munsell value \(V\).
Return type:numeric

Notes

  • Input Y is in domain [0, 100].
  • Output V is in range [0, 10].

Examples

>>> munsell_value_Saunderson1944(10.08)  
3.6865080...
colour.munsell_value_Ladd1955(Y)[source]

Returns the Munsell value \(V\) of given luminance \(Y\) using Ladd and Pinney (1955) method. [3]_

Parameters:Y (numeric or array_like) – luminance \(Y\).
Returns:Munsell value \(V\).
Return type:numeric or ndarray

Notes

  • Input Y is in domain [0, 100].
  • Output V is in range [0, 10].

Examples

>>> munsell_value_Ladd1955(10.08)  
3.6952862...
colour.munsell_value_McCamy1987(Y)[source]

Returns the Munsell value \(V\) of given luminance \(Y\) using McCamy (1987) method.

Parameters:Y (numeric or array_like) – luminance \(Y\).
Returns:Munsell value \(V\).
Return type:numeric or ndarray

Notes

  • Input Y is in domain [0, 100].
  • Output V is in range [0, 10].

References

[4]ASTM International. (1989). ASTM D1535-89 Standard Test Method for Specifying Color by the Munsell System. Retrieved from http://www.astm.org/DATABASE.CART/HISTORICAL/D1535-89.htm

Examples

>>> munsell_value_McCamy1987(10.08)  
array(3.7347235...)
colour.munsell_value_ASTMD153508(Y)[source]

Returns the Munsell value \(V\) of given luminance \(Y\) using a reverse lookup table from ASTM D1535-08e1 method.

Parameters:Y (numeric or array_like) – luminance \(Y\)
Returns:Munsell value \(V\).
Return type:numeric or ndarray

Notes

  • Input Y is in domain [0, 100].
  • Output V is in range [0, 10].

Examples

>>> munsell_value_ASTMD153508(10.1488096782)  
3.7462971...
colour.munsell_colour_to_xyY(munsell_colour)[source]

Converts given Munsell colour to CIE xyY colourspace.

Parameters:munsell_colour (unicode) – Munsell colour.
Returns:CIE xyY colourspace array.
Return type:ndarray, (3,)

Notes

  • Output CIE xyY colourspace array is in range [0, 1].

Examples

>>> munsell_colour_to_xyY('4.2YR 8.1/5.3')  
array([ 0.3873694...,  0.3575165...,  0.59362   ])
>>> munsell_colour_to_xyY('N8.9')  
array([ 0.31006  ,  0.31616  ,  0.746134...])
colour.xyY_to_munsell_colour(xyY, hue_decimals=1, value_decimals=1, chroma_decimals=1)[source]

Converts from CIE xyY colourspace to Munsell colour.

Parameters:
  • xyY (array_like, (3,)) – CIE xyY colourspace array.
  • hue_decimals (int) – Hue formatting decimals.
  • value_decimals (int) – Value formatting decimals.
  • chroma_decimals (int) – Chroma formatting decimals.
Returns:

Munsell colour.

Return type:

unicode

Notes

  • Input CIE xyY colourspace array is in domain [0, 1].

Examples

>>> xyY = np.array([0.38736945, 0.35751656, 0.59362000])
>>> # Doctests skip for Python 2.x compatibility.
>>> xyY_to_munsell_colour(xyY)  
'4.2YR 8.1/5.3'
class colour.CRI_Specification[source]

Bases: colour.quality.cri.CRI_Specification

Defines the Colour Rendering Index (CRI) colour quality specification.

Parameters:
  • name (unicode) – Name of the test spectral power distribution.
  • Q_a (numeric) – Colour Rendering Index (CRI) \(Q_a\).
  • Q_as (dict) – Individual colour rendering indexes data for each sample.
  • colorimetry_data (tuple) – Colorimetry data for the test and reference computations.

Create new instance of CRI_Specification(name, Q_a, Q_as, colorimetry_data)

colour.colour_rendering_index(spd_test, additional_data=False)[source]

Returns the Colour Rendering Index (CRI) \(Q_a\) of given spectral power distribution.

Parameters:
Returns:

Colour Rendering Index (CRI).

Return type:

numeric or CRI_Specification

Examples

>>> from colour import ILLUMINANTS_RELATIVE_SPDS
>>> spd = ILLUMINANTS_RELATIVE_SPDS['F2']
>>> colour_rendering_index(spd)  
64.1515202...
class colour.CQS_Specification[source]

Bases: colour.quality.cqs.CQS_Specification

Defines the Colour Quality Scale (CQS) colour quality specification.

Parameters:
  • name (unicode) – Name of the test spectral power distribution.
  • Q_a (numeric) – Colour quality scale \(Q_a\).
  • Q_f (numeric) – Colour fidelity scale \(Q_f\) intended to evaluate the fidelity of object colour appearances (compared to the reference illuminant of the same correlated colour temperature and illuminance).
  • Q_p (numeric) – Colour preference scale \(Q_p\) similar to colour quality scale \(Q_a\) but placing additional weight on preference of object colour appearance. This metric is based on the notion that increases in chroma are generally preferred and should be rewarded.
  • Q_g (numeric) – Gamut area scale \(Q_g\) representing the relative gamut formed by the (\(a^*\), \(b^*\)) coordinates of the 15 samples illuminated by the test light source in the CIE LAB object colourspace.
  • Q_d (numeric) – Relative gamut area scale \(Q_d\).
  • Q_as (dict) – Individual Colour Quality Scale (CQS) data for each sample.
  • colorimetry_data (tuple) – Colorimetry data for the test and reference computations.

Create new instance of CQS_Specification(name, Q_a, Q_f, Q_p, Q_g, Q_d, Q_as, colorimetry_data)

colour.colour_quality_scale(spd_test, additional_data=False)[source]

Returns the Colour Quality Scale (CQS) of given spectral power distribution.

Parameters:
Returns:

Color quality scale.

Return type:

numeric or CQS_Specification

Examples

>>> from colour import ILLUMINANTS_RELATIVE_SPDS
>>> spd = ILLUMINANTS_RELATIVE_SPDS['F2']
>>> colour_quality_scale(spd)  
64.6864169...
colour.XYZ_to_spectral_Meng2015(XYZ, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'), interval=5, tolerance=1e-10, maximum_iterations=2000)[source]

Recovers the spectral power distribution of given CIE XYZ tristimulus values using Meng et al. (2015) method.

Parameters:
  • XYZ (array_like, (3,)) – CIE XYZ tristimulus values.
  • cmfs (XYZ_ColourMatchingFunctions) – Standard observer colour matching functions.
  • interval (numeric, optional) – Wavelength \(\lambda_{i}\) range interval in nm. The smaller interval is, the longer the computations will be.
  • tolerance (numeric, optional) – Tolerance for termination. The lower tolerance is, the smoother the recovered spectral power distribution will be.
  • maximum_iterations (int, optional) – Maximum number of iterations to perform.
Returns:

Recovered spectral power distribution.

Return type:

SpectralPowerDistribution

Notes

Examples

>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> spd = XYZ_to_spectral_Meng2015(XYZ)
>>> print(spd)
SpectralPowerDistribution('Meng (2015) - [ 0.07049534  0.1008      0.09558313]', (360.0, 830.0, 5.0))
>>> spectral_to_XYZ_integration(spd)  
array([ 0.0704952...,  0.1007999...,  0.0955824...])
colour.RGB_to_spectral_Smits1999(RGB)[source]

Recovers the spectral power distribution of given RGB colourspace array using Smits (1999) method.

Parameters:RGB (array_like, (3,)) – RGB colourspace array.
Returns:Recovered spectral power distribution.
Return type:SpectralPowerDistribution

Examples

>>> RGB = np.array([0.02144962, 0.13154603, 0.09287601])
>>> print(RGB_to_spectral_Smits1999(RGB))  
SpectralPowerDistribution('Smits (1999) - [ 0.02144962  0.13154603  0.09287601]', (380.0, 720.0, 37.7777777...))
colour.CCT_to_uv(CCT, method=u'Ohno 2013', **kwargs)[source]

Returns the CIE UCS colourspace uv chromaticity coordinates from given correlated colour temperature \(T_{cp}\) using given method.

Parameters:
  • CCT (numeric) – Correlated colour temperature \(T_{cp}\).
  • method (unicode, optional) – {‘Ohno 2013’, ‘Robertson 1968’, ‘Krystek 1985}, Computation method.
Other Parameters:
 
  • D_uv (numeric) – {CCT_to_uv_Ohno2013, CCT_to_uv_Robertson1968()}, \(\Delta_{uv}\).
  • cmfs (XYZ_ColourMatchingFunctions, optional) – {CCT_to_uv_Ohno2013()}, Standard observer colour matching functions.
Returns:

CIE UCS colourspace uv chromaticity coordinates.

Return type:

ndarray

Examples

>>> from colour import STANDARD_OBSERVERS_CMFS
>>> cmfs = STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer']
>>> CCT = 6507.4342201047066
>>> D_uv = 0.003223690901513
>>> CCT_to_uv(CCT, D_uv=D_uv, cmfs=cmfs)  
array([ 0.1977999...,  0.3122004...])
colour.CCT_to_uv_Ohno2013(CCT, D_uv=0, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'))[source]

Returns the CIE UCS colourspace uv chromaticity coordinates from given correlated colour temperature \(T_{cp}\), \(\Delta_{uv}\) and colour matching functions using Ohno (2013) method.

Parameters:
  • CCT (numeric) – Correlated colour temperature \(T_{cp}\).
  • D_uv (numeric, optional) – \(\Delta_{uv}\).
  • cmfs (XYZ_ColourMatchingFunctions, optional) – Standard observer colour matching functions.
Returns:

CIE UCS colourspace uv chromaticity coordinates.

Return type:

ndarray

References

[4]Ohno, Y. (2014). Practical Use and Calculation of CCT and Duv. LEUKOS, 10(1), 47–55. doi:10.1080/15502724.2014.839020

Examples

>>> from colour import STANDARD_OBSERVERS_CMFS
>>> cmfs = STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer']
>>> CCT = 6507.4342201047066
>>> D_uv = 0.003223690901513
>>> CCT_to_uv_Ohno2013(CCT, D_uv, cmfs)  
array([ 0.1977999...,  0.3122004...])
colour.CCT_to_uv_Robertson1968(CCT, D_uv=0)[source]

Returns the CIE UCS colourspace uv chromaticity coordinates from given correlated colour temperature \(T_{cp}\) and \(\Delta_{uv}\) using Roberston (1968) method.

Parameters:
  • CCT (numeric) – Correlated colour temperature \(T_{cp}\).
  • D_uv (numeric) – \(\Delta_{uv}\).
Returns:

CIE UCS colourspace uv chromaticity coordinates.

Return type:

ndarray

References

[7]Wyszecki, G., & Stiles, W. S. (2000). DISTRIBUTION TEMPERATURE, COLOR TEMPERATURE, AND CORRELATED COLOR TEMPERATURE. In Color Science: Concepts and Methods, Quantitative Data and Formulae (pp. 224–229). Wiley. ISBN:978-0471399186
[8]Adobe Systems. (2013). Adobe DNG Software Development Kit (SDK) - 1.3.0.0 - dng_sdk_1_3/dng_sdk/source/dng_temperature.cpp:: dng_temperature::xy_coord. Retrieved from https://www.adobe.com/support/downloads/dng/dng_sdk.html

Examples

>>> CCT = 6500.0081378199056
>>> D_uv = 0.008333331244225
>>> CCT_to_uv_Robertson1968(CCT, D_uv)  
array([ 0.1937413...,  0.3152210...])
colour.CCT_to_uv_Krystek1985(CCT)[source]

Returns the CIE UCS colourspace uv chromaticity coordinates from given correlated colour temperature \(T_{cp}\) using Krystek (1985) method.

Parameters:CCT (numeric) – Correlated colour temperature \(T_{cp}\).
Returns:CIE UCS colourspace uv chromaticity coordinates.
Return type:ndarray

Notes

  • Krystek (1985) method computations are valid for correlated colour temperature \(T_{cp}\) in domain [1000, 15000].

References

[9]Krystek, M. (1985). An algorithm to calculate correlated colour temperature. Color Research & Application, 10(1), 38–40. doi:10.1002/col.5080100109

Examples

>>> CCT_to_uv_Krystek1985(6504.38938305)  
array([ 0.1837669...,  0.3093443...])
colour.uv_to_CCT(uv, method=u'Ohno 2013', **kwargs)[source]

Returns the correlated colour temperature \(T_{cp}\) and \(\Delta_{uv}\) from given CIE UCS colourspace uv chromaticity coordinates using given method.

Parameters:
  • uv (array_like) – CIE UCS colourspace uv chromaticity coordinates.
  • method (unicode, optional) – {‘Ohno 2013’, ‘Robertson 1968’}, Computation method.
Other Parameters:
 
Returns:

Correlated colour temperature \(T_{cp}\), \(\Delta_{uv}\).

Return type:

ndarray

Examples

>>> from colour import STANDARD_OBSERVERS_CMFS
>>> cmfs = STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer']
>>> uv = np.array([0.1978, 0.3122])
>>> uv_to_CCT(uv, cmfs=cmfs)  
array([  6.5075128...e+03,   3.2233587...e-03])
colour.uv_to_CCT_Ohno2013(uv, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'), start=1000, end=100000, count=10, iterations=6)[source]

Returns the correlated colour temperature \(T_{cp}\) and \(\Delta_{uv}\) from given CIE UCS colourspace uv chromaticity coordinates, colour matching functions and temperature range using Ohno (2013) method.

The iterations parameter defines the calculations precision: The higher its value, the more planckian tables will be generated through cascade expansion in order to converge to the exact solution.

Parameters:
  • uv (array_like) – CIE UCS colourspace uv chromaticity coordinates.
  • cmfs (XYZ_ColourMatchingFunctions, optional) – Standard observer colour matching functions.
  • start (numeric, optional) – Temperature range start in kelvins.
  • end (numeric, optional) – Temperature range end in kelvins.
  • count (int, optional) – Temperatures count in the planckian tables.
  • iterations (int, optional) – Number of planckian tables to generate.
Returns:

Correlated colour temperature \(T_{cp}\), \(\Delta_{uv}\).

Return type:

ndarray

References

[3]Ohno, Y. (2014). Practical Use and Calculation of CCT and Duv. LEUKOS, 10(1), 47–55. doi:10.1080/15502724.2014.839020

Examples

>>> from colour import STANDARD_OBSERVERS_CMFS
>>> cmfs = STANDARD_OBSERVERS_CMFS['CIE 1931 2 Degree Standard Observer']
>>> uv = np.array([0.1978, 0.3122])
>>> uv_to_CCT_Ohno2013(uv, cmfs)  
array([  6.5075128...e+03,   3.2233587...e-03])
colour.uv_to_CCT_Robertson1968(uv)[source]

Returns the correlated colour temperature \(T_{cp}\) and \(\Delta_{uv}\) from given CIE UCS colourspace uv chromaticity coordinates using Roberston (1968) method.

Parameters:uv (array_like) – CIE UCS colourspace uv chromaticity coordinates.
Returns:Correlated colour temperature \(T_{cp}\), \(\Delta_{uv}\).
Return type:ndarray

References

[5]Wyszecki, G., & Stiles, W. S. (2000). DISTRIBUTION TEMPERATURE, COLOR TEMPERATURE, AND CORRELATED COLOR TEMPERATURE. In Color Science: Concepts and Methods, Quantitative Data and Formulae (pp. 224–229). Wiley. ISBN:978-0471399186
[6]Adobe Systems. (2013). Adobe DNG Software Development Kit (SDK) - 1.3.0.0 - dng_sdk_1_3/dng_sdk/source/dng_temperature.cpp:: dng_temperature::Set_xy_coord. Retrieved from https://www.adobe.com/support/downloads/dng/dng_sdk.html

Examples

>>> uv = np.array([0.193741375998230, 0.315221043940594])
>>> uv_to_CCT_Robertson1968(uv)  
array([  6.5000162...e+03,   8.3333289...e-03])
colour.CCT_to_xy(CCT, method=u'Kang 2002')[source]

Returns the CIE XYZ tristimulus values xy chromaticity coordinates from given correlated colour temperature \(T_{cp}\) using given method.

Parameters:
  • CCT (numeric or array_like) – Correlated colour temperature \(T_{cp}\).
  • method (unicode, optional) – {‘Kang 2002’, ‘CIE Illuminant D Series’}, Computation method.
Returns:

xy chromaticity coordinates.

Return type:

ndarray

colour.CCT_to_xy_Kang2002(CCT)[source]

Returns the CIE XYZ tristimulus values xy chromaticity coordinates from given correlated colour temperature \(T_{cp}\) using Kang et al. (2002) method.

Parameters:CCT (numeric or array_like) – Correlated colour temperature \(T_{cp}\).
Returns:xy chromaticity coordinates.
Return type:ndarray
Raises:ValueError – If the correlated colour temperature is not in appropriate domain.

References

[12]Kang, B., Moon, O., Hong, C., Lee, H., Cho, B., & Kim, Y. (2002). Design of advanced color: Temperature control system for HDTV applications. Journal of the Korean …, 41(6), 865–871. Retrieved from http://cat.inist.fr/?aModele=afficheN&cpsidt=14448733

Examples

>>> CCT_to_xy_Kang2002(6504.38938305)  
array([ 0.313426...,  0.3235959...])
colour.CCT_to_xy_CIE_D(CCT)[source]

Converts from the correlated colour temperature \(T_{cp}\) of a CIE Illuminant D Series to the chromaticity of that CIE Illuminant D Series illuminant.

Parameters:CCT (numeric or array_like) – Correlated colour temperature \(T_{cp}\).
Returns:xy chromaticity coordinates.
Return type:ndarray
Raises:ValueError – If the correlated colour temperature is not in appropriate domain.

References

[13]Wyszecki, G., & Stiles, W. S. (2000). CIE Method of Calculating D-Illuminants. In Color Science: Concepts and Methods, Quantitative Data and Formulae (pp. 145–146). Wiley. ISBN:978-0471399186

Examples

>>> CCT_to_xy_CIE_D(6504.38938305)  
array([ 0.3127077...,  0.3291128...])
colour.xy_to_CCT(xy, method=u'McCamy 1992')[source]

Returns the correlated colour temperature \(T_{cp}\) from given CIE XYZ tristimulus values xy chromaticity coordinates using given method.

Parameters:
  • xy (array_like) – xy chromaticity coordinates.
  • method (unicode, optional) – {‘McCamy 1992’, ‘Hernandez 1999’}, Computation method.
Returns:

Correlated colour temperature \(T_{cp}\).

Return type:

numeric or ndarray

colour.xy_to_CCT_McCamy1992(xy)[source]

Returns the correlated colour temperature \(T_{cp}\) from given CIE XYZ tristimulus values xy chromaticity coordinates using McCamy (1992) method.

Parameters:xy (array_like) – xy chromaticity coordinates.
Returns:Correlated colour temperature \(T_{cp}\).
Return type:numeric or ndarray

References

[10]Wikipedia. (n.d.). Approximation. Retrieved June 28, 2014, from http://en.wikipedia.org/wiki/Color_temperature#Approximation

Examples

>>> xy = np.array([0.31270, 0.32900])
>>> xy_to_CCT_McCamy1992(xy)  
6505.0805913...
colour.xy_to_CCT_Hernandez1999(xy)[source]

Returns the correlated colour temperature \(T_{cp}\) from given CIE XYZ tristimulus values xy chromaticity coordinates using Hernandez-Andres et al. (1999) method.

Parameters:xy (array_like) – xy chromaticity coordinates.
Returns:Correlated colour temperature \(T_{cp}\).
Return type:numeric

References

[11]Hernández-Andrés, J., Lee, R. L., & Romero, J. (1999). Calculating correlated color temperatures across the entire gamut of daylight and skylight chromaticities. Applied Optics, 38(27), 5703–5709. doi:10.1364/AO.38.005703

Examples

>>> xy = np.array([0.31270, 0.32900])
>>> xy_to_CCT_Hernandez1999(xy)  
6500.7420431...
colour.is_within_macadam_limits(xyY, illuminant, tolerance=None)[source]

Returns if given CIE xyY colourspace array is within MacAdam limits of given illuminant.

Parameters:
  • xyY (array_like) – CIE xyY colourspace array.
  • illuminant (unicode) – Illuminant.
  • tolerance (numeric, optional) – Tolerance allowed in the inside-triangle check.
Returns:

Is within MacAdam limits.

Return type:

bool

Notes

  • Input CIE xyY colourspace array is in domain [0, 1].

Examples

>>> is_within_macadam_limits(np.array([0.3205, 0.4131, 0.51]), 'A')
array(True, dtype=bool)
>>> a = np.array([[0.3205, 0.4131, 0.51],
...               [0.0005, 0.0031, 0.001]])
>>> is_within_macadam_limits(a, 'A')
array([ True, False], dtype=bool)
colour.is_within_mesh_volume(points, mesh, tolerance=None)[source]

Returns if given points are within given mesh volume using Delaunay triangulation.

Parameters:
  • points (array_like) – Points to check if they are within mesh volume.
  • mesh (array_like) – Points of the volume used to generate the Delaunay triangulation.
  • tolerance (numeric, optional) – Tolerance allowed in the inside-triangle check.
Returns:

Is within mesh volume.

Return type:

bool

Examples

>>> mesh = np.array([[-1.0, -1.0, 1.0],
...                  [1.0, -1.0, 1.0],
...                  [1.0, -1.0, -1.0],
...                  [-1.0, -1.0, -1.0],
...                  [0.0, 1.0, 0.0]])
>>> is_within_mesh_volume(np.array([0.0005, 0.0031, 0.0010]), mesh)
array(True, dtype=bool)
>>> a = np.array([[0.0005, 0.0031, 0.0010],
...               [0.3205, 0.4131, 0.5100]])
>>> is_within_mesh_volume(a, mesh)
array([ True, False], dtype=bool)
colour.is_within_pointer_gamut(XYZ, tolerance=None)[source]

Returns if given CIE XYZ tristimulus values are within Pointer’s Gamut volume.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • tolerance (numeric, optional) – Tolerance allowed in the inside-triangle check.
Returns:

Is within Pointer’s Gamut.

Return type:

bool

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 1].

Examples

>>> import numpy as np
>>> is_within_pointer_gamut(np.array([0.3205, 0.4131, 0.5100]))
array(True, dtype=bool)
>>> a = np.array([[0.3205, 0.4131, 0.5100],
...               [0.0005, 0.0031, 0.0010]])
>>> is_within_pointer_gamut(a)
array([ True, False], dtype=bool)
colour.is_within_visible_spectrum(XYZ, cmfs=XYZ_ColourMatchingFunctions( 'CIE 1931 2 Degree Standard Observer', {u'x_bar': {360.0: 0.0001299, 361.0: 0.000145847, 362.0: 0.0001638021, 363.0: 0.0001840037, 364.0: 0.0002066902, 365.0: 0.0002321, 366.0: 0.000260728, 367.0: 0.000293075, 368.0: 0.000329388, 369.0: 0.000369914, 370.0: 0.0004149, 371.0: 0.0004641587, 372.0: 0.000518986, 373.0: 0.000581854, 374.0: 0.0006552347, 375.0: 0.0007416, 376.0: 0.0008450296, 377.0: 0.0009645268, 378.0: 0.001094949, 379.0: 0.001231154, 380.0: 0.001368, 381.0: 0.00150205, 382.0: 0.001642328, 383.0: 0.001802382, 384.0: 0.001995757, 385.0: 0.002236, 386.0: 0.002535385, 387.0: 0.002892603, 388.0: 0.003300829, 389.0: 0.003753236, 390.0: 0.004243, 391.0: 0.004762389, 392.0: 0.005330048, 393.0: 0.005978712, 394.0: 0.006741117, 395.0: 0.00765, 396.0: 0.008751373, 397.0: 0.01002888, 398.0: 0.0114217, 399.0: 0.01286901, 400.0: 0.01431, 401.0: 0.01570443, 402.0: 0.01714744, 403.0: 0.01878122, 404.0: 0.02074801, 405.0: 0.02319, 406.0: 0.02620736, 407.0: 0.02978248, 408.0: 0.03388092, 409.0: 0.03846824, 410.0: 0.04351, 411.0: 0.0489956, 412.0: 0.0550226, 413.0: 0.0617188, 414.0: 0.069212, 415.0: 0.07763, 416.0: 0.08695811, 417.0: 0.09717672, 418.0: 0.1084063, 419.0: 0.1207672, 420.0: 0.13438, 421.0: 0.1493582, 422.0: 0.1653957, 423.0: 0.1819831, 424.0: 0.198611, 425.0: 0.21477, 426.0: 0.2301868, 427.0: 0.2448797, 428.0: 0.2587773, 429.0: 0.2718079, 430.0: 0.2839, 431.0: 0.2949438, 432.0: 0.3048965, 433.0: 0.3137873, 434.0: 0.3216454, 435.0: 0.3285, 436.0: 0.3343513, 437.0: 0.3392101, 438.0: 0.3431213, 439.0: 0.3461296, 440.0: 0.34828, 441.0: 0.3495999, 442.0: 0.3501474, 443.0: 0.350013, 444.0: 0.349287, 445.0: 0.34806, 446.0: 0.3463733, 447.0: 0.3442624, 448.0: 0.3418088, 449.0: 0.3390941, 450.0: 0.3362, 451.0: 0.3331977, 452.0: 0.3300411, 453.0: 0.3266357, 454.0: 0.3228868, 455.0: 0.3187, 456.0: 0.3140251, 457.0: 0.308884, 458.0: 0.3032904, 459.0: 0.2972579, 460.0: 0.2908, 461.0: 0.2839701, 462.0: 0.2767214, 463.0: 0.2689178, 464.0: 0.2604227, 465.0: 0.2511, 466.0: 0.2408475, 467.0: 0.2298512, 468.0: 0.2184072, 469.0: 0.2068115, 470.0: 0.19536, 471.0: 0.1842136, 472.0: 0.1733273, 473.0: 0.1626881, 474.0: 0.1522833, 475.0: 0.1421, 476.0: 0.1321786, 477.0: 0.1225696, 478.0: 0.1132752, 479.0: 0.1042979, 480.0: 0.09564, 481.0: 0.08729955, 482.0: 0.07930804, 483.0: 0.07171776, 484.0: 0.06458099, 485.0: 0.05795001, 486.0: 0.05186211, 487.0: 0.04628152, 488.0: 0.04115088, 489.0: 0.03641283, 490.0: 0.03201, 491.0: 0.0279172, 492.0: 0.0241444, 493.0: 0.020687, 494.0: 0.0175404, 495.0: 0.0147, 496.0: 0.01216179, 497.0: 0.00991996, 498.0: 0.00796724, 499.0: 0.006296346, 500.0: 0.0049, 501.0: 0.003777173, 502.0: 0.00294532, 503.0: 0.00242488, 504.0: 0.002236293, 505.0: 0.0024, 506.0: 0.00292552, 507.0: 0.00383656, 508.0: 0.00517484, 509.0: 0.00698208, 510.0: 0.0093, 511.0: 0.01214949, 512.0: 0.01553588, 513.0: 0.01947752, 514.0: 0.02399277, 515.0: 0.0291, 516.0: 0.03481485, 517.0: 0.04112016, 518.0: 0.04798504, 519.0: 0.05537861, 520.0: 0.06327, 521.0: 0.07163501, 522.0: 0.08046224, 523.0: 0.08973996, 524.0: 0.09945645, 525.0: 0.1096, 526.0: 0.1201674, 527.0: 0.1311145, 528.0: 0.1423679, 529.0: 0.1538542, 530.0: 0.1655, 531.0: 0.1772571, 532.0: 0.18914, 533.0: 0.2011694, 534.0: 0.2133658, 535.0: 0.2257499, 536.0: 0.2383209, 537.0: 0.2510668, 538.0: 0.2639922, 539.0: 0.2771017, 540.0: 0.2904, 541.0: 0.3038912, 542.0: 0.3175726, 543.0: 0.3314384, 544.0: 0.3454828, 545.0: 0.3597, 546.0: 0.3740839, 547.0: 0.3886396, 548.0: 0.4033784, 549.0: 0.4183115, 550.0: 0.4334499, 551.0: 0.4487953, 552.0: 0.464336, 553.0: 0.480064, 554.0: 0.4959713, 555.0: 0.5120501, 556.0: 0.5282959, 557.0: 0.5446916, 558.0: 0.5612094, 559.0: 0.5778215, 560.0: 0.5945, 561.0: 0.6112209, 562.0: 0.6279758, 563.0: 0.6447602, 564.0: 0.6615697, 565.0: 0.6784, 566.0: 0.6952392, 567.0: 0.7120586, 568.0: 0.7288284, 569.0: 0.7455188, 570.0: 0.7621, 571.0: 0.7785432, 572.0: 0.7948256, 573.0: 0.8109264, 574.0: 0.8268248, 575.0: 0.8425, 576.0: 0.8579325, 577.0: 0.8730816, 578.0: 0.8878944, 579.0: 0.9023181, 580.0: 0.9163, 581.0: 0.9297995, 582.0: 0.9427984, 583.0: 0.9552776, 584.0: 0.9672179, 585.0: 0.9786, 586.0: 0.9893856, 587.0: 0.9995488, 588.0: 1.0090892, 589.0: 1.0180064, 590.0: 1.0263, 591.0: 1.0339827, 592.0: 1.040986, 593.0: 1.047188, 594.0: 1.0524667, 595.0: 1.0567, 596.0: 1.0597944, 597.0: 1.0617992, 598.0: 1.0628068, 599.0: 1.0629096, 600.0: 1.0622, 601.0: 1.0607352, 602.0: 1.0584436, 603.0: 1.0552244, 604.0: 1.0509768, 605.0: 1.0456, 606.0: 1.0390369, 607.0: 1.0313608, 608.0: 1.0226662, 609.0: 1.0130477, 610.0: 1.0026, 611.0: 0.9913675, 612.0: 0.9793314, 613.0: 0.9664916, 614.0: 0.9528479, 615.0: 0.9384, 616.0: 0.923194, 617.0: 0.907244, 618.0: 0.890502, 619.0: 0.87292, 620.0: 0.8544499, 621.0: 0.835084, 622.0: 0.814946, 623.0: 0.794186, 624.0: 0.772954, 625.0: 0.7514, 626.0: 0.7295836, 627.0: 0.7075888, 628.0: 0.6856022, 629.0: 0.6638104, 630.0: 0.6424, 631.0: 0.6215149, 632.0: 0.6011138, 633.0: 0.5811052, 634.0: 0.5613977, 635.0: 0.5419, 636.0: 0.5225995, 637.0: 0.5035464, 638.0: 0.4847436, 639.0: 0.4661939, 640.0: 0.4479, 641.0: 0.4298613, 642.0: 0.412098, 643.0: 0.394644, 644.0: 0.3775333, 645.0: 0.3608, 646.0: 0.3444563, 647.0: 0.3285168, 648.0: 0.3130192, 649.0: 0.2980011, 650.0: 0.2835, 651.0: 0.2695448, 652.0: 0.2561184, 653.0: 0.2431896, 654.0: 0.2307272, 655.0: 0.2187, 656.0: 0.2070971, 657.0: 0.1959232, 658.0: 0.1851708, 659.0: 0.1748323, 660.0: 0.1649, 661.0: 0.1553667, 662.0: 0.14623, 663.0: 0.13749, 664.0: 0.1291467, 665.0: 0.1212, 666.0: 0.1136397, 667.0: 0.106465, 668.0: 0.09969044, 669.0: 0.09333061, 670.0: 0.0874, 671.0: 0.08190096, 672.0: 0.07680428, 673.0: 0.07207712, 674.0: 0.06768664, 675.0: 0.0636, 676.0: 0.05980685, 677.0: 0.05628216, 678.0: 0.05297104, 679.0: 0.04981861, 680.0: 0.04677, 681.0: 0.04378405, 682.0: 0.04087536, 683.0: 0.03807264, 684.0: 0.03540461, 685.0: 0.0329, 686.0: 0.03056419, 687.0: 0.02838056, 688.0: 0.02634484, 689.0: 0.02445275, 690.0: 0.0227, 691.0: 0.02108429, 692.0: 0.01959988, 693.0: 0.01823732, 694.0: 0.01698717, 695.0: 0.01584, 696.0: 0.01479064, 697.0: 0.01383132, 698.0: 0.01294868, 699.0: 0.0121292, 700.0: 0.01135916, 701.0: 0.01062935, 702.0: 0.009938846, 703.0: 0.009288422, 704.0: 0.008678854, 705.0: 0.008110916, 706.0: 0.007582388, 707.0: 0.007088746, 708.0: 0.006627313, 709.0: 0.006195408, 710.0: 0.005790346, 711.0: 0.005409826, 712.0: 0.005052583, 713.0: 0.004717512, 714.0: 0.004403507, 715.0: 0.004109457, 716.0: 0.003833913, 717.0: 0.003575748, 718.0: 0.003334342, 719.0: 0.003109075, 720.0: 0.002899327, 721.0: 0.002704348, 722.0: 0.00252302, 723.0: 0.002354168, 724.0: 0.002196616, 725.0: 0.00204919, 726.0: 0.00191096, 727.0: 0.001781438, 728.0: 0.00166011, 729.0: 0.001546459, 730.0: 0.001439971, 731.0: 0.001340042, 732.0: 0.001246275, 733.0: 0.001158471, 734.0: 0.00107643, 735.0: 0.0009999493, 736.0: 0.0009287358, 737.0: 0.0008624332, 738.0: 0.0008007503, 739.0: 0.000743396, 740.0: 0.0006900786, 741.0: 0.0006405156, 742.0: 0.0005945021, 743.0: 0.0005518646, 744.0: 0.000512429, 745.0: 0.0004760213, 746.0: 0.0004424536, 747.0: 0.0004115117, 748.0: 0.0003829814, 749.0: 0.0003566491, 750.0: 0.0003323011, 751.0: 0.0003097586, 752.0: 0.0002888871, 753.0: 0.0002695394, 754.0: 0.0002515682, 755.0: 0.0002348261, 756.0: 0.000219171, 757.0: 0.0002045258, 758.0: 0.0001908405, 759.0: 0.0001780654, 760.0: 0.0001661505, 761.0: 0.0001550236, 762.0: 0.0001446219, 763.0: 0.0001349098, 764.0: 0.000125852, 765.0: 0.000117413, 766.0: 0.0001095515, 767.0: 0.0001022245, 768.0: 9.539445e-05, 769.0: 8.90239e-05, 770.0: 8.307527e-05, 771.0: 7.751269e-05, 772.0: 7.231304e-05, 773.0: 6.745778e-05, 774.0: 6.292844e-05, 775.0: 5.870652e-05, 776.0: 5.477028e-05, 777.0: 5.109918e-05, 778.0: 4.767654e-05, 779.0: 4.448567e-05, 780.0: 4.150994e-05, 781.0: 3.873324e-05, 782.0: 3.614203e-05, 783.0: 3.372352e-05, 784.0: 3.146487e-05, 785.0: 2.935326e-05, 786.0: 2.737573e-05, 787.0: 2.552433e-05, 788.0: 2.379376e-05, 789.0: 2.21787e-05, 790.0: 2.067383e-05, 791.0: 1.927226e-05, 792.0: 1.79664e-05, 793.0: 1.674991e-05, 794.0: 1.561648e-05, 795.0: 1.455977e-05, 796.0: 1.357387e-05, 797.0: 1.265436e-05, 798.0: 1.179723e-05, 799.0: 1.099844e-05, 800.0: 1.025398e-05, 801.0: 9.559646e-06, 802.0: 8.912044e-06, 803.0: 8.308358e-06, 804.0: 7.745769e-06, 805.0: 7.221456e-06, 806.0: 6.732475e-06, 807.0: 6.276423e-06, 808.0: 5.851304e-06, 809.0: 5.455118e-06, 810.0: 5.085868e-06, 811.0: 4.741466e-06, 812.0: 4.420236e-06, 813.0: 4.120783e-06, 814.0: 3.841716e-06, 815.0: 3.581652e-06, 816.0: 3.339127e-06, 817.0: 3.112949e-06, 818.0: 2.902121e-06, 819.0: 2.705645e-06, 820.0: 2.522525e-06, 821.0: 2.351726e-06, 822.0: 2.192415e-06, 823.0: 2.043902e-06, 824.0: 1.905497e-06, 825.0: 1.776509e-06, 826.0: 1.656215e-06, 827.0: 1.544022e-06, 828.0: 1.43944e-06, 829.0: 1.341977e-06, 830.0: 1.251141e-06}, u'y_bar': {360.0: 3.917e-06, 361.0: 4.393581e-06, 362.0: 4.929604e-06, 363.0: 5.532136e-06, 364.0: 6.208245e-06, 365.0: 6.965e-06, 366.0: 7.813219e-06, 367.0: 8.767336e-06, 368.0: 9.839844e-06, 369.0: 1.104323e-05, 370.0: 1.239e-05, 371.0: 1.388641e-05, 372.0: 1.555728e-05, 373.0: 1.744296e-05, 374.0: 1.958375e-05, 375.0: 2.202e-05, 376.0: 2.483965e-05, 377.0: 2.804126e-05, 378.0: 3.153104e-05, 379.0: 3.521521e-05, 380.0: 3.9e-05, 381.0: 4.28264e-05, 382.0: 4.69146e-05, 383.0: 5.15896e-05, 384.0: 5.71764e-05, 385.0: 6.4e-05, 386.0: 7.234421e-05, 387.0: 8.221224e-05, 388.0: 9.350816e-05, 389.0: 0.0001061361, 390.0: 0.00012, 391.0: 0.000134984, 392.0: 0.000151492, 393.0: 0.000170208, 394.0: 0.000191816, 395.0: 0.000217, 396.0: 0.0002469067, 397.0: 0.00028124, 398.0: 0.00031852, 399.0: 0.0003572667, 400.0: 0.000396, 401.0: 0.0004337147, 402.0: 0.000473024, 403.0: 0.000517876, 404.0: 0.0005722187, 405.0: 0.00064, 406.0: 0.00072456, 407.0: 0.0008255, 408.0: 0.00094116, 409.0: 0.00106988, 410.0: 0.00121, 411.0: 0.001362091, 412.0: 0.001530752, 413.0: 0.001720368, 414.0: 0.001935323, 415.0: 0.00218, 416.0: 0.0024548, 417.0: 0.002764, 418.0: 0.0031178, 419.0: 0.0035264, 420.0: 0.004, 421.0: 0.00454624, 422.0: 0.00515932, 423.0: 0.00582928, 424.0: 0.00654616, 425.0: 0.0073, 426.0: 0.008086507, 427.0: 0.00890872, 428.0: 0.00976768, 429.0: 0.01066443, 430.0: 0.0116, 431.0: 0.01257317, 432.0: 0.01358272, 433.0: 0.01462968, 434.0: 0.01571509, 435.0: 0.01684, 436.0: 0.01800736, 437.0: 0.01921448, 438.0: 0.02045392, 439.0: 0.02171824, 440.0: 0.023, 441.0: 0.02429461, 442.0: 0.02561024, 443.0: 0.02695857, 444.0: 0.02835125, 445.0: 0.0298, 446.0: 0.03131083, 447.0: 0.03288368, 448.0: 0.03452112, 449.0: 0.03622571, 450.0: 0.038, 451.0: 0.03984667, 452.0: 0.041768, 453.0: 0.043766, 454.0: 0.04584267, 455.0: 0.048, 456.0: 0.05024368, 457.0: 0.05257304, 458.0: 0.05498056, 459.0: 0.05745872, 460.0: 0.06, 461.0: 0.06260197, 462.0: 0.06527752, 463.0: 0.06804208, 464.0: 0.07091109, 465.0: 0.0739, 466.0: 0.077016, 467.0: 0.0802664, 468.0: 0.0836668, 469.0: 0.0872328, 470.0: 0.09098, 471.0: 0.09491755, 472.0: 0.09904584, 473.0: 0.1033674, 474.0: 0.1078846, 475.0: 0.1126, 476.0: 0.117532, 477.0: 0.1226744, 478.0: 0.1279928, 479.0: 0.1334528, 480.0: 0.13902, 481.0: 0.1446764, 482.0: 0.1504693, 483.0: 0.1564619, 484.0: 0.1627177, 485.0: 0.1693, 486.0: 0.1762431, 487.0: 0.1835581, 488.0: 0.1912735, 489.0: 0.199418, 490.0: 0.20802, 491.0: 0.2171199, 492.0: 0.2267345, 493.0: 0.2368571, 494.0: 0.2474812, 495.0: 0.2586, 496.0: 0.2701849, 497.0: 0.2822939, 498.0: 0.2950505, 499.0: 0.308578, 500.0: 0.323, 501.0: 0.3384021, 502.0: 0.3546858, 503.0: 0.3716986, 504.0: 0.3892875, 505.0: 0.4073, 506.0: 0.4256299, 507.0: 0.4443096, 508.0: 0.4633944, 509.0: 0.4829395, 510.0: 0.503, 511.0: 0.5235693, 512.0: 0.544512, 513.0: 0.56569, 514.0: 0.5869653, 515.0: 0.6082, 516.0: 0.6293456, 517.0: 0.6503068, 518.0: 0.6708752, 519.0: 0.6908424, 520.0: 0.71, 521.0: 0.7281852, 522.0: 0.7454636, 523.0: 0.7619694, 524.0: 0.7778368, 525.0: 0.7932, 526.0: 0.8081104, 527.0: 0.8224962, 528.0: 0.8363068, 529.0: 0.8494916, 530.0: 0.862, 531.0: 0.8738108, 532.0: 0.8849624, 533.0: 0.8954936, 534.0: 0.9054432, 535.0: 0.9148501, 536.0: 0.9237348, 537.0: 0.9320924, 538.0: 0.9399226, 539.0: 0.9472252, 540.0: 0.954, 541.0: 0.9602561, 542.0: 0.9660074, 543.0: 0.9712606, 544.0: 0.9760225, 545.0: 0.9803, 546.0: 0.9840924, 547.0: 0.9874182, 548.0: 0.9903128, 549.0: 0.9928116, 550.0: 0.9949501, 551.0: 0.9967108, 552.0: 0.9980983, 553.0: 0.999112, 554.0: 0.9997482, 555.0: 1.0, 556.0: 0.9998567, 557.0: 0.9993046, 558.0: 0.9983255, 559.0: 0.9968987, 560.0: 0.995, 561.0: 0.9926005, 562.0: 0.9897426, 563.0: 0.9864444, 564.0: 0.9827241, 565.0: 0.9786, 566.0: 0.9740837, 567.0: 0.9691712, 568.0: 0.9638568, 569.0: 0.9581349, 570.0: 0.952, 571.0: 0.9454504, 572.0: 0.9384992, 573.0: 0.9311628, 574.0: 0.9234576, 575.0: 0.9154, 576.0: 0.9070064, 577.0: 0.8982772, 578.0: 0.8892048, 579.0: 0.8797816, 580.0: 0.87, 581.0: 0.8598613, 582.0: 0.849392, 583.0: 0.838622, 584.0: 0.8275813, 585.0: 0.8163, 586.0: 0.8047947, 587.0: 0.793082, 588.0: 0.781192, 589.0: 0.7691547, 590.0: 0.757, 591.0: 0.7447541, 592.0: 0.7324224, 593.0: 0.7200036, 594.0: 0.7074965, 595.0: 0.6949, 596.0: 0.6822192, 597.0: 0.6694716, 598.0: 0.6566744, 599.0: 0.6438448, 600.0: 0.631, 601.0: 0.6181555, 602.0: 0.6053144, 603.0: 0.5924756, 604.0: 0.5796379, 605.0: 0.5668, 606.0: 0.5539611, 607.0: 0.5411372, 608.0: 0.5283528, 609.0: 0.5156323, 610.0: 0.503, 611.0: 0.4904688, 612.0: 0.4780304, 613.0: 0.4656776, 614.0: 0.4534032, 615.0: 0.4412, 616.0: 0.42908, 617.0: 0.417036, 618.0: 0.405032, 619.0: 0.393032, 620.0: 0.381, 621.0: 0.3689184, 622.0: 0.3568272, 623.0: 0.3447768, 624.0: 0.3328176, 625.0: 0.321, 626.0: 0.3093381, 627.0: 0.2978504, 628.0: 0.2865936, 629.0: 0.2756245, 630.0: 0.265, 631.0: 0.2547632, 632.0: 0.2448896, 633.0: 0.2353344, 634.0: 0.2260528, 635.0: 0.217, 636.0: 0.2081616, 637.0: 0.1995488, 638.0: 0.1911552, 639.0: 0.1829744, 640.0: 0.175, 641.0: 0.1672235, 642.0: 0.1596464, 643.0: 0.1522776, 644.0: 0.1451259, 645.0: 0.1382, 646.0: 0.1315003, 647.0: 0.1250248, 648.0: 0.1187792, 649.0: 0.1127691, 650.0: 0.107, 651.0: 0.1014762, 652.0: 0.09618864, 653.0: 0.09112296, 654.0: 0.08626485, 655.0: 0.0816, 656.0: 0.07712064, 657.0: 0.07282552, 658.0: 0.06871008, 659.0: 0.06476976, 660.0: 0.061, 661.0: 0.05739621, 662.0: 0.05395504, 663.0: 0.05067376, 664.0: 0.04754965, 665.0: 0.04458, 666.0: 0.04175872, 667.0: 0.03908496, 668.0: 0.03656384, 669.0: 0.03420048, 670.0: 0.032, 671.0: 0.02996261, 672.0: 0.02807664, 673.0: 0.02632936, 674.0: 0.02470805, 675.0: 0.0232, 676.0: 0.02180077, 677.0: 0.02050112, 678.0: 0.01928108, 679.0: 0.01812069, 680.0: 0.017, 681.0: 0.01590379, 682.0: 0.01483718, 683.0: 0.01381068, 684.0: 0.01283478, 685.0: 0.01192, 686.0: 0.01106831, 687.0: 0.01027339, 688.0: 0.009533311, 689.0: 0.008846157, 690.0: 0.00821, 691.0: 0.007623781, 692.0: 0.007085424, 693.0: 0.006591476, 694.0: 0.006138485, 695.0: 0.005723, 696.0: 0.005343059, 697.0: 0.004995796, 698.0: 0.004676404, 699.0: 0.004380075, 700.0: 0.004102, 701.0: 0.003838453, 702.0: 0.003589099, 703.0: 0.003354219, 704.0: 0.003134093, 705.0: 0.002929, 706.0: 0.002738139, 707.0: 0.002559876, 708.0: 0.002393244, 709.0: 0.002237275, 710.0: 0.002091, 711.0: 0.001953587, 712.0: 0.00182458, 713.0: 0.00170358, 714.0: 0.001590187, 715.0: 0.001484, 716.0: 0.001384496, 717.0: 0.001291268, 718.0: 0.001204092, 719.0: 0.001122744, 720.0: 0.001047, 721.0: 0.0009765896, 722.0: 0.0009111088, 723.0: 0.0008501332, 724.0: 0.0007932384, 725.0: 0.00074, 726.0: 0.0006900827, 727.0: 0.00064331, 728.0: 0.000599496, 729.0: 0.0005584547, 730.0: 0.00052, 731.0: 0.0004839136, 732.0: 0.0004500528, 733.0: 0.0004183452, 734.0: 0.0003887184, 735.0: 0.0003611, 736.0: 0.0003353835, 737.0: 0.0003114404, 738.0: 0.0002891656, 739.0: 0.0002684539, 740.0: 0.0002492, 741.0: 0.0002313019, 742.0: 0.0002146856, 743.0: 0.0001992884, 744.0: 0.0001850475, 745.0: 0.0001719, 746.0: 0.0001597781, 747.0: 0.0001486044, 748.0: 0.0001383016, 749.0: 0.0001287925, 750.0: 0.00012, 751.0: 0.0001118595, 752.0: 0.0001043224, 753.0: 9.73356e-05, 754.0: 9.084587e-05, 755.0: 8.48e-05, 756.0: 7.914667e-05, 757.0: 7.3858e-05, 758.0: 6.8916e-05, 759.0: 6.430267e-05, 760.0: 6e-05, 761.0: 5.598187e-05, 762.0: 5.22256e-05, 763.0: 4.87184e-05, 764.0: 4.544747e-05, 765.0: 4.24e-05, 766.0: 3.956104e-05, 767.0: 3.691512e-05, 768.0: 3.444868e-05, 769.0: 3.214816e-05, 770.0: 3e-05, 771.0: 2.799125e-05, 772.0: 2.611356e-05, 773.0: 2.436024e-05, 774.0: 2.272461e-05, 775.0: 2.12e-05, 776.0: 1.977855e-05, 777.0: 1.845285e-05, 778.0: 1.721687e-05, 779.0: 1.606459e-05, 780.0: 1.499e-05, 781.0: 1.398728e-05, 782.0: 1.305155e-05, 783.0: 1.217818e-05, 784.0: 1.136254e-05, 785.0: 1.06e-05, 786.0: 9.885877e-06, 787.0: 9.217304e-06, 788.0: 8.592362e-06, 789.0: 8.009133e-06, 790.0: 7.4657e-06, 791.0: 6.959567e-06, 792.0: 6.487995e-06, 793.0: 6.048699e-06, 794.0: 5.639396e-06, 795.0: 5.2578e-06, 796.0: 4.901771e-06, 797.0: 4.56972e-06, 798.0: 4.260194e-06, 799.0: 3.971739e-06, 800.0: 3.7029e-06, 801.0: 3.452163e-06, 802.0: 3.218302e-06, 803.0: 3.0003e-06, 804.0: 2.797139e-06, 805.0: 2.6078e-06, 806.0: 2.43122e-06, 807.0: 2.266531e-06, 808.0: 2.113013e-06, 809.0: 1.969943e-06, 810.0: 1.8366e-06, 811.0: 1.71223e-06, 812.0: 1.596228e-06, 813.0: 1.48809e-06, 814.0: 1.387314e-06, 815.0: 1.2934e-06, 816.0: 1.20582e-06, 817.0: 1.124143e-06, 818.0: 1.048009e-06, 819.0: 9.77058e-07, 820.0: 9.1093e-07, 821.0: 8.49251e-07, 822.0: 7.91721e-07, 823.0: 7.3809e-07, 824.0: 6.8811e-07, 825.0: 6.4153e-07, 826.0: 5.9809e-07, 827.0: 5.57575e-07, 828.0: 5.19808e-07, 829.0: 4.84612e-07, 830.0: 4.5181e-07}, u'z_bar': {360.0: 0.0006061, 361.0: 0.0006808792, 362.0: 0.0007651456, 363.0: 0.0008600124, 364.0: 0.0009665928, 365.0: 0.001086, 366.0: 0.001220586, 367.0: 0.001372729, 368.0: 0.001543579, 369.0: 0.001734286, 370.0: 0.001946, 371.0: 0.002177777, 372.0: 0.002435809, 373.0: 0.002731953, 374.0: 0.003078064, 375.0: 0.003486, 376.0: 0.003975227, 377.0: 0.00454088, 378.0: 0.00515832, 379.0: 0.005802907, 380.0: 0.006450001, 381.0: 0.007083216, 382.0: 0.007745488, 383.0: 0.008501152, 384.0: 0.009414544, 385.0: 0.01054999, 386.0: 0.0119658, 387.0: 0.01365587, 388.0: 0.01558805, 389.0: 0.01773015, 390.0: 0.02005001, 391.0: 0.02251136, 392.0: 0.02520288, 393.0: 0.02827972, 394.0: 0.03189704, 395.0: 0.03621, 396.0: 0.04143771, 397.0: 0.04750372, 398.0: 0.05411988, 399.0: 0.06099803, 400.0: 0.06785001, 401.0: 0.07448632, 402.0: 0.08136156, 403.0: 0.08915364, 404.0: 0.09854048, 405.0: 0.1102, 406.0: 0.1246133, 407.0: 0.1417017, 408.0: 0.1613035, 409.0: 0.1832568, 410.0: 0.2074, 411.0: 0.2336921, 412.0: 0.2626114, 413.0: 0.2947746, 414.0: 0.3307985, 415.0: 0.3713, 416.0: 0.4162091, 417.0: 0.4654642, 418.0: 0.5196948, 419.0: 0.5795303, 420.0: 0.6456, 421.0: 0.7184838, 422.0: 0.7967133, 423.0: 0.8778459, 424.0: 0.959439, 425.0: 1.0390501, 426.0: 1.1153673, 427.0: 1.1884971, 428.0: 1.2581233, 429.0: 1.3239296, 430.0: 1.3856, 431.0: 1.4426352, 432.0: 1.4948035, 433.0: 1.5421903, 434.0: 1.5848807, 435.0: 1.62296, 436.0: 1.6564048, 437.0: 1.6852959, 438.0: 1.7098745, 439.0: 1.7303821, 440.0: 1.74706, 441.0: 1.7600446, 442.0: 1.7696233, 443.0: 1.7762637, 444.0: 1.7804334, 445.0: 1.7826, 446.0: 1.7829682, 447.0: 1.7816998, 448.0: 1.7791982, 449.0: 1.7758671, 450.0: 1.77211, 451.0: 1.7682589, 452.0: 1.764039, 453.0: 1.7589438, 454.0: 1.7524663, 455.0: 1.7441, 456.0: 1.7335595, 457.0: 1.7208581, 458.0: 1.7059369, 459.0: 1.6887372, 460.0: 1.6692, 461.0: 1.6475287, 462.0: 1.6234127, 463.0: 1.5960223, 464.0: 1.564528, 465.0: 1.5281, 466.0: 1.4861114, 467.0: 1.4395215, 468.0: 1.3898799, 469.0: 1.3387362, 470.0: 1.28764, 471.0: 1.2374223, 472.0: 1.1878243, 473.0: 1.1387611, 474.0: 1.090148, 475.0: 1.0419, 476.0: 0.9941976, 477.0: 0.9473473, 478.0: 0.9014531, 479.0: 0.8566193, 480.0: 0.8129501, 481.0: 0.7705173, 482.0: 0.7294448, 483.0: 0.6899136, 484.0: 0.6521049, 485.0: 0.6162, 486.0: 0.5823286, 487.0: 0.5504162, 488.0: 0.5203376, 489.0: 0.4919673, 490.0: 0.46518, 491.0: 0.4399246, 492.0: 0.4161836, 493.0: 0.3938822, 494.0: 0.3729459, 495.0: 0.3533, 496.0: 0.3348578, 497.0: 0.3175521, 498.0: 0.3013375, 499.0: 0.2861686, 500.0: 0.272, 501.0: 0.2588171, 502.0: 0.2464838, 503.0: 0.2347718, 504.0: 0.2234533, 505.0: 0.2123, 506.0: 0.2011692, 507.0: 0.1901196, 508.0: 0.1792254, 509.0: 0.1685608, 510.0: 0.1582, 511.0: 0.1481383, 512.0: 0.1383758, 513.0: 0.1289942, 514.0: 0.1200751, 515.0: 0.1117, 516.0: 0.1039048, 517.0: 0.09666748, 518.0: 0.08998272, 519.0: 0.08384531, 520.0: 0.07824999, 521.0: 0.07320899, 522.0: 0.06867816, 523.0: 0.06456784, 524.0: 0.06078835, 525.0: 0.05725001, 526.0: 0.05390435, 527.0: 0.05074664, 528.0: 0.04775276, 529.0: 0.04489859, 530.0: 0.04216, 531.0: 0.03950728, 532.0: 0.03693564, 533.0: 0.03445836, 534.0: 0.03208872, 535.0: 0.02984, 536.0: 0.02771181, 537.0: 0.02569444, 538.0: 0.02378716, 539.0: 0.02198925, 540.0: 0.0203, 541.0: 0.01871805, 542.0: 0.01724036, 543.0: 0.01586364, 544.0: 0.01458461, 545.0: 0.0134, 546.0: 0.01230723, 547.0: 0.01130188, 548.0: 0.01037792, 549.0: 0.009529306, 550.0: 0.008749999, 551.0: 0.0080352, 552.0: 0.0073816, 553.0: 0.0067854, 554.0: 0.0062428, 555.0: 0.005749999, 556.0: 0.0053036, 557.0: 0.0048998, 558.0: 0.0045342, 559.0: 0.0042024, 560.0: 0.0039, 561.0: 0.0036232, 562.0: 0.0033706, 563.0: 0.0031414, 564.0: 0.0029348, 565.0: 0.002749999, 566.0: 0.0025852, 567.0: 0.0024386, 568.0: 0.0023094, 569.0: 0.0021968, 570.0: 0.0021, 571.0: 0.002017733, 572.0: 0.0019482, 573.0: 0.0018898, 574.0: 0.001840933, 575.0: 0.0018, 576.0: 0.001766267, 577.0: 0.0017378, 578.0: 0.0017112, 579.0: 0.001683067, 580.0: 0.001650001, 581.0: 0.001610133, 582.0: 0.0015644, 583.0: 0.0015136, 584.0: 0.001458533, 585.0: 0.0014, 586.0: 0.001336667, 587.0: 0.00127, 588.0: 0.001205, 589.0: 0.001146667, 590.0: 0.0011, 591.0: 0.0010688, 592.0: 0.0010494, 593.0: 0.0010356, 594.0: 0.0010212, 595.0: 0.001, 596.0: 0.00096864, 597.0: 0.00092992, 598.0: 0.00088688, 599.0: 0.00084256, 600.0: 0.0008, 601.0: 0.00076096, 602.0: 0.00072368, 603.0: 0.00068592, 604.0: 0.00064544, 605.0: 0.0006, 606.0: 0.0005478667, 607.0: 0.0004916, 608.0: 0.0004354, 609.0: 0.0003834667, 610.0: 0.00034, 611.0: 0.0003072533, 612.0: 0.00028316, 613.0: 0.00026544, 614.0: 0.0002518133, 615.0: 0.00024, 616.0: 0.0002295467, 617.0: 0.00022064, 618.0: 0.00021196, 619.0: 0.0002021867, 620.0: 0.00019, 621.0: 0.0001742133, 622.0: 0.00015564, 623.0: 0.00013596, 624.0: 0.0001168533, 625.0: 0.0001, 626.0: 8.613333e-05, 627.0: 7.46e-05, 628.0: 6.5e-05, 629.0: 5.693333e-05, 630.0: 4.999999e-05, 631.0: 4.416e-05, 632.0: 3.948e-05, 633.0: 3.572e-05, 634.0: 3.264e-05, 635.0: 3e-05, 636.0: 2.765333e-05, 637.0: 2.556e-05, 638.0: 2.364e-05, 639.0: 2.181333e-05, 640.0: 2e-05, 641.0: 1.813333e-05, 642.0: 1.62e-05, 643.0: 1.42e-05, 644.0: 1.213333e-05, 645.0: 1e-05, 646.0: 7.733333e-06, 647.0: 5.4e-06, 648.0: 3.2e-06, 649.0: 1.333333e-06, 650.0: 0.0, 651.0: 0.0, 652.0: 0.0, 653.0: 0.0, 654.0: 0.0, 655.0: 0.0, 656.0: 0.0, 657.0: 0.0, 658.0: 0.0, 659.0: 0.0, 660.0: 0.0, 661.0: 0.0, 662.0: 0.0, 663.0: 0.0, 664.0: 0.0, 665.0: 0.0, 666.0: 0.0, 667.0: 0.0, 668.0: 0.0, 669.0: 0.0, 670.0: 0.0, 671.0: 0.0, 672.0: 0.0, 673.0: 0.0, 674.0: 0.0, 675.0: 0.0, 676.0: 0.0, 677.0: 0.0, 678.0: 0.0, 679.0: 0.0, 680.0: 0.0, 681.0: 0.0, 682.0: 0.0, 683.0: 0.0, 684.0: 0.0, 685.0: 0.0, 686.0: 0.0, 687.0: 0.0, 688.0: 0.0, 689.0: 0.0, 690.0: 0.0, 691.0: 0.0, 692.0: 0.0, 693.0: 0.0, 694.0: 0.0, 695.0: 0.0, 696.0: 0.0, 697.0: 0.0, 698.0: 0.0, 699.0: 0.0, 700.0: 0.0, 701.0: 0.0, 702.0: 0.0, 703.0: 0.0, 704.0: 0.0, 705.0: 0.0, 706.0: 0.0, 707.0: 0.0, 708.0: 0.0, 709.0: 0.0, 710.0: 0.0, 711.0: 0.0, 712.0: 0.0, 713.0: 0.0, 714.0: 0.0, 715.0: 0.0, 716.0: 0.0, 717.0: 0.0, 718.0: 0.0, 719.0: 0.0, 720.0: 0.0, 721.0: 0.0, 722.0: 0.0, 723.0: 0.0, 724.0: 0.0, 725.0: 0.0, 726.0: 0.0, 727.0: 0.0, 728.0: 0.0, 729.0: 0.0, 730.0: 0.0, 731.0: 0.0, 732.0: 0.0, 733.0: 0.0, 734.0: 0.0, 735.0: 0.0, 736.0: 0.0, 737.0: 0.0, 738.0: 0.0, 739.0: 0.0, 740.0: 0.0, 741.0: 0.0, 742.0: 0.0, 743.0: 0.0, 744.0: 0.0, 745.0: 0.0, 746.0: 0.0, 747.0: 0.0, 748.0: 0.0, 749.0: 0.0, 750.0: 0.0, 751.0: 0.0, 752.0: 0.0, 753.0: 0.0, 754.0: 0.0, 755.0: 0.0, 756.0: 0.0, 757.0: 0.0, 758.0: 0.0, 759.0: 0.0, 760.0: 0.0, 761.0: 0.0, 762.0: 0.0, 763.0: 0.0, 764.0: 0.0, 765.0: 0.0, 766.0: 0.0, 767.0: 0.0, 768.0: 0.0, 769.0: 0.0, 770.0: 0.0, 771.0: 0.0, 772.0: 0.0, 773.0: 0.0, 774.0: 0.0, 775.0: 0.0, 776.0: 0.0, 777.0: 0.0, 778.0: 0.0, 779.0: 0.0, 780.0: 0.0, 781.0: 0.0, 782.0: 0.0, 783.0: 0.0, 784.0: 0.0, 785.0: 0.0, 786.0: 0.0, 787.0: 0.0, 788.0: 0.0, 789.0: 0.0, 790.0: 0.0, 791.0: 0.0, 792.0: 0.0, 793.0: 0.0, 794.0: 0.0, 795.0: 0.0, 796.0: 0.0, 797.0: 0.0, 798.0: 0.0, 799.0: 0.0, 800.0: 0.0, 801.0: 0.0, 802.0: 0.0, 803.0: 0.0, 804.0: 0.0, 805.0: 0.0, 806.0: 0.0, 807.0: 0.0, 808.0: 0.0, 809.0: 0.0, 810.0: 0.0, 811.0: 0.0, 812.0: 0.0, 813.0: 0.0, 814.0: 0.0, 815.0: 0.0, 816.0: 0.0, 817.0: 0.0, 818.0: 0.0, 819.0: 0.0, 820.0: 0.0, 821.0: 0.0, 822.0: 0.0, 823.0: 0.0, 824.0: 0.0, 825.0: 0.0, 826.0: 0.0, 827.0: 0.0, 828.0: 0.0, 829.0: 0.0, 830.0: 0.0}}, 'CIE 1931 2$^\circ$ Standard Observer'), tolerance=None)[source]

Returns if given CIE XYZ tristimulus values are within visible spectrum volume / given colour matching functions volume.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • cmfs (XYZ_ColourMatchingFunctions) – Standard observer colour matching functions.
  • tolerance (numeric, optional) – Tolerance allowed in the inside-triangle check.
Returns:

Is within visible spectrum.

Return type:

bool

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 1].

Examples

>>> import numpy as np
>>> is_within_visible_spectrum(np.array([0.3205, 0.4131, 0.51]))
array(True, dtype=bool)
>>> a = np.array([[0.3205, 0.4131, 0.51],
...               [-0.0005, 0.0031, 0.001]])
>>> is_within_visible_spectrum(a)
array([ True, False], dtype=bool)
colour.RGB_colourspace_limits(colourspace, illuminant=array([ 0.3457, 0.3585]))[source]

Computes given RGB colourspace volume limits in Lab colourspace.

Parameters:
  • colourspace (RGB_Colourspace) – RGB colourspace to compute the volume of.
  • illuminant (array_like, optional) – Lab colourspace illuminant chromaticity coordinates.
Returns:

RGB colourspace volume limits.

Return type:

ndarray

Examples

>>> from colour import sRGB_COLOURSPACE as sRGB
>>> RGB_colourspace_limits(sRGB)  
array([[   0...        ,  100.0000848...],
       [ -79.2197012...,   94.6760011...],
       [-114.7814393...,   96.7261797...]])
colour.RGB_colourspace_volume_MonteCarlo(colourspace, samples=10000000.0, limits=array([[ 0, 100], [-150, 150], [-150, 150]]), illuminant_Lab=array([ 0.3457, 0.3585]), chromatic_adaptation_method=u'CAT02', random_generator=<function random_triplet_generator>, random_state=None, processes=None)[source]

Performs given RGB colourspace volume computation using Monte Carlo method and multiprocessing.

Parameters:
  • colourspace (RGB_Colourspace) – RGB colourspace to compute the volume of.
  • samples (numeric, optional) – Samples count.
  • limits (array_like, optional) – Lab colourspace volume.
  • illuminant_Lab (array_like, optional) – Lab colourspace illuminant chromaticity coordinates.
  • chromatic_adaptation_method (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation method.
  • random_generator (generator, optional) – Random triplet generator providing the random samples within the Lab colourspace volume.
  • random_state (RandomState, optional) – Mersenne Twister pseudo-random number generator to use in the random number generator.
  • processes (integer, optional) – Processes count, default to multiprocessing.cpu_count() definition.
Returns:

RGB colourspace volume.

Return type:

float

Notes

Examples

>>> from colour import sRGB_COLOURSPACE as sRGB
>>> prng = np.random.RandomState(2)
>>> processes = 1
>>> RGB_colourspace_volume_MonteCarlo(  
...     sRGB, 10e3, random_state=prng, processes=processes)
858...
colour.RGB_colourspace_volume_coverage_MonteCarlo(colourspace, coverage_sampler, samples=10000000.0, random_generator=<function random_triplet_generator>, random_state=None)[source]

Returns given RGB colourspace percentage coverage of an arbitrary volume.

Parameters:
  • colourspace (RGB_Colourspace) – RGB colourspace to compute the volume coverage percentage.
  • coverage_sampler (object) – Python object responsible for checking the volume coverage.
  • samples (numeric, optional) – Samples count.
  • random_generator (generator, optional) – Random triplet generator providing the random samples.
  • random_state (RandomState, optional) – Mersenne Twister pseudo-random number generator to use in the random number generator.
Returns:

Percentage coverage of volume.

Return type:

float

Examples

>>> from colour import sRGB_COLOURSPACE as sRGB
>>> prng = np.random.RandomState(2)
>>> RGB_colourspace_volume_coverage_MonteCarlo(  
...     sRGB,
...     is_within_pointer_gamut,
...     10e3,
...     random_state=prng)
83...
colour.RGB_colourspace_pointer_gamut_coverage_MonteCarlo(colourspace, samples=10000000.0, random_generator=<function random_triplet_generator>, random_state=None)[source]

Returns given RGB colourspace percentage coverage of Pointer’s Gamut volume using Monte Carlo method.

Parameters:
  • colourspace (RGB_Colourspace) – RGB colourspace to compute the Pointer’s Gamut coverage percentage.
  • samples (numeric, optional) – Samples count.
  • random_generator (generator, optional) – Random triplet generator providing the random samples.
  • random_state (RandomState, optional) – Mersenne Twister pseudo-random number generator to use in the random number generator.
Returns:

Percentage coverage of Pointer’s Gamut volume.

Return type:

float

Examples

>>> from colour import sRGB_COLOURSPACE as sRGB
>>> prng = np.random.RandomState(2)
>>> RGB_colourspace_pointer_gamut_coverage_MonteCarlo(
...     sRGB,
...     10e3,
...     random_state=prng)  
83...
colour.RGB_colourspace_visible_spectrum_coverage_MonteCarlo(colourspace, samples=10000000.0, random_generator=<function random_triplet_generator>, random_state=None)[source]

Returns given RGB colourspace percentage coverage of visible spectrum volume using Monte Carlo method.

Parameters:
  • colourspace (RGB_Colourspace) – RGB colourspace to compute the visible spectrum coverage percentage.
  • samples (numeric, optional) – Samples count.
  • random_generator (generator, optional) – Random triplet generator providing the random samples.
  • random_state (RandomState, optional) – Mersenne Twister pseudo-random number generator to use in the random number generator.
Returns:

Percentage coverage of visible spectrum volume.

Return type:

float

Examples

>>> from colour import sRGB_COLOURSPACE as sRGB
>>> prng = np.random.RandomState(2)
>>> RGB_colourspace_visible_spectrum_coverage_MonteCarlo(
...     sRGB,
...     10e3,
...     random_state=prng)  
36...