colour.temperature.cct Module — Colour 0.3.0 documentation

# colour.temperature.cct Module

## Correlated Colour Temperature \(T_{cp}\)

Defines correlated colour temperature \(T_{cp}\) computations objects:

- `uv_to_CCT_ohno2013()`: Correlated colour temperature \(T_{cp}\) and \(\Delta_{uv}\) computation of given CIE UCS colourspace uv chromaticity coordinates using Yoshi Ohno (2013) method.
- `CCT_to_uv_ohno2013()`: CIE UCS colourspace uv chromaticity coordinates computation of given correlated colour temperature \(T_{cp}\), \(\Delta_{uv}\) using Yoshi Ohno (2013) method.
- `uv_to_CCT_robertson1968()`: Correlated colour temperature \(T_{cp}\) and \(\Delta_{uv}\) computation of given CIE UCS colourspace uv chromaticity coordinates using Robertson (1968) method.
- `CCT_to_uv_robertson1968()`: CIE UCS colourspace uv chromaticity coordinates computation of given correlated colour temperature \(T_{cp}\) and \(\Delta_{uv}\) using Robertson (1968) method.
- `xy_to_CCT_mccamy1992()`: Correlated colour temperature \(T_{cp}\) computation of given CIE XYZ colourspace xy chromaticity coordinates using McCamy (1992) method.
- `xy_to_CCT_hernandez1999()`: Correlated colour temperature \(T_{cp}\) computation of given CIE XYZ colourspace xy chromaticity coordinates using Hernandez-Andres, Lee & Romero (1999) method.
- `CCT_to_xy_kang2002()`: CIE XYZ colourspace xy chromaticity coordinates computation of given correlated colour temperature \(T_{cp}\) using Kang, Moon, Hong, Lee, Cho and Kim (2002) method.
- `CCT_to_xy_illuminant_D()`: CIE XYZ colourspace xy chromaticity coordinates computation of CIE Illuminant D Series from given correlated colour temperature \(T_{cp}\) of that CIE Illuminant D Series.

See also

Colour Temperature & Correlated Colour Temperature IPython Notebook

References

[1] | http://en.wikipedia.org/wiki/Color_temperature

`colour.temperature.cct.` `PLANCKIAN_TABLE_TUVD`

  alias of `PlanckianTable_Tuvdi`

`colour.temperature.cct.` `ROBERTSON_ISOTEMPERATURE_LINES_DATA` = ((0, 0.18006, 0.26352, -0.24341), (10, 0.18066, 0.26589, -0.25479), (20, 0.18133, 0.26846, -0.26876), (30, 0.18208, 0.27119, -0.28539), (40, 0.18293, 0.27407, -0.3047), (50, 0.18388, 0.27709, -0.32675), (60, 0.18494, 0.28021, -0.35156), (70, 0.18611, 0.28342, -0.37915), (80, 0.1874, 0.28668, -0.40955), (90, 0.1888, 0.28997, -0.44278), (100, 0.19032, 0.29326, -0.47888), (125, 0.19462, 0.30141, -0.58204), (150, 0.19962, 0.30921, -0.70471), (175, 0.20525, 0.31647, -0.84901), (200, 0.21142, 0.32312, -1.0182), (225, 0.21807, 0.32909, -1.2168), (250, 0.22511, 0.33439, -1.4512), (275, 0.23247, 0.33904, -1.7298), (300, 0.2401, 0.34308, -2.0637), (325, 0.24792, 0.34655, -2.4681), (350, 0.25591, 0.34951, -2.9641), (375, 0.264, 0.352, -3.5814), (400, 0.27218, 0.35407, -4.3633), (425, 0.28039, 0.35577, -5.3762), (450, 0.28863, 0.35714, -6.7262), (475, 0.29685, 0.35823, -8.5955), (500, 0.30505, 0.35907, -11.324), (525, 0.3132, 0.35968, -15.628), (550, 0.32129, 0.36011, -23.325), (575, 0.32931, 0.36038, -40.77), (600, 0.33724, 0.36051, -116.45))

  Robertson iso-temperature lines.

  ROBERTSON_ISOTEMPERATURE_LINES_DATA : tuple
    (Reciprocal Megakelvin, CIE 1960 Chromaticity Coordinate u, CIE 1960 Chromaticity Coordinate v, Slope)

  Notes

  - A correction has been done by Bruce Lindbloom for 325 Megakelvin temperature: 0.24702 —> 0.24792

  References

  [1] | Wyszecki & Stiles, Color Science - Concepts and Methods Data and Formulae - Second Edition, Wiley Classics Library Edition, published 2000, ISBN-10: 0-471-39918-3, page 228.

`colour.temperature.cct.` `ROBERTSON_ISOTEMPERATURE_LINES_RUVT`

  alias of `WyszeckiRobertson_ruvt`

`colour.temperature.cct.` `planckian_table`(uv, cmfs, start, end, count)

  Returns a planckian table from given CIE UCS colourspace uv chromaticity coordinates, colour matching functions and temperature range using Yoshi Ohno (2013) method.

  Parameters: | uv (array_like) – uv chromaticity coordinates. cmfs (XYZ_ColourMatchingFunctions) – Standard observer colour matching functions. start (numeric) – Temperature range start in kelvins. end (numeric) – Temperature range end in kelvins. count (int) – Temperatures count in the planckian table.
  Returns: | Planckian table.
  Return type: | list

  Examples

      >>> from colour import STANDARD_OBSERVERS_CMFS
      >>> from pprint import pprint
      >>> cmfs = 'CIE 1931 2 Degree Standard Observer'
      >>> cmfs = STANDARD_OBSERVERS_CMFS.get(cmfs)
      >>> pprint(planckian_table((0.1978, 0.3122), cmfs, 1000, 1010, 10))
      [PlanckianTable_Tuvdi(Ti=1000.0, ui=0.4480108..., vi=0.3546249..., di=0.2537821...),
       PlanckianTable_Tuvdi(Ti=1001.1111111..., ui=0.4477508..., vi=0.3546475..., di=0.2535294...),
       PlanckianTable_Tuvdi(Ti=1002.2222222..., ui=0.4474910..., vi=0.3546700..., di=0.2532771...),
       PlanckianTable_Tuvdi(Ti=1003.3333333..., ui=0.4472316..., vi=0.3546924..., di=0.2530251...),
       PlanckianTable_Tuvdi(Ti=1004.4444444..., ui=0.4469724..., vi=0.3547148..., di=0.2527734...),
       PlanckianTable_Tuvdi(Ti=1005.5555555..., ui=0.4467136..., vi=0.3547372..., di=0.2525220...),
       PlanckianTable_Tuvdi(Ti=1006.6666666..., ui=0.4464550..., vi=0.3547595..., di=0.2522710...),
       PlanckianTable_Tuvdi(Ti=1007.7777777..., ui=0.4461968..., vi=0.3547817..., di=0.2520202...),
       PlanckianTable_Tuvdi(Ti=1008.8888888..., ui=0.4459389..., vi=0.3548040..., di=0.2517697...),
       PlanckianTable_Tuvdi(Ti=1010.0, ui=0.4456812..., vi=0.3548261..., di=0.2515196...)]

`colour.temperature.cct.` `planckian_table_minimal_distance_index`(planckian_table)

  Returns the shortest distance index in given planckian table using Yoshi Ohno (2013) method.

  Parameters: | planckian_table (list) – Planckian table.
  Returns: | Shortest distance index.
  Return type: | int

  Examples

      >>> from colour import STANDARD_OBSERVERS_CMFS
      >>> cmfs = 'CIE 1931 2 Degree Standard Observer'
      >>> cmfs = STANDARD_OBSERVERS_CMFS.get(cmfs)
      >>> table = planckian_table((0.1978, 0.3122), cmfs, 1000, 1010, 10)
      >>> planckian_table_minimal_distance_index(table)
      9

`colour.temperature.cct.` `uv_to_CCT_ohno2013`(uv, cmfs=<colour.colorimetry.cmfs.XYZ_ColourMatchingFunctions object at 0x102cf5c10>, start=1000, end=100000, count=10, iterations=6)

  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 Yoshi 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: | tuple

  References

  [2] | Yoshi Ohno, Practical Use and Calculation of CCT and Duv

  Examples

      >>> from colour import STANDARD_OBSERVERS_CMFS
      >>> cmfs = 'CIE 1931 2 Degree Standard Observer'
      >>> cmfs = STANDARD_OBSERVERS_CMFS.get(cmfs)
      >>> uv_to_CCT_ohno2013((0.1978, 0.3122), cmfs)
      (6507.5470349..., 0.0032236...)

`colour.temperature.cct.` `CCT_to_uv_ohno2013`(CCT, Duv=0, cmfs=<colour.colorimetry.cmfs.XYZ_ColourMatchingFunctions object at 0x102cf5c10>)

  Returns the CIE UCS colourspace uv chromaticity coordinates from given correlated colour temperature \(T_{cp}\), \(\Delta_{uv}\) and colour matching functions using Yoshi Ohno (2013) method.

  Parameters: | CCT (numeric) – Correlated colour temperature \(T_{cp}\). Duv (numeric, optional) – \(\Delta_{uv}\). cmfs (XYZ_ColourMatchingFunctions, optional) – Standard observer colour matching functions.
  Returns: | CIE UCS colourspace uv chromaticity coordinates.
  Return type: | tuple

  References

  [3] | Yoshi Ohno, Practical Use and Calculation of CCT and Duv

  Examples

      >>> from colour import STANDARD_OBSERVERS_CMFS
      >>> cmfs = 'CIE 1931 2 Degree Standard Observer'
      >>> cmfs = STANDARD_OBSERVERS_CMFS.get(cmfs)
      >>> CCT = 6507.4342201047066
      >>> Duv = 0.003223690901512735
      >>> CCT_to_uv_ohno2013(CCT, Duv, cmfs)
      (0.1978003..., 0.3122005...)

`colour.temperature.cct.` `uv_to_CCT_robertson1968`(uv)

  Returns the correlated colour temperature \(T_{cp}\) and \(\Delta_{uv}\) from given CIE UCS colourspace uv chromaticity coordinates using Robertson (1968) method.

  Parameters: | uv (array_like) – CIE UCS colourspace uv chromaticity coordinates.
  Returns: | Correlated colour temperature \(T_{cp}\), \(\Delta_{uv}\).
  Return type: | tuple

  References

  [4] | Wyszecki & Stiles, Color Science - Concepts and Methods Data and Formulae - Second Edition, Wiley Classics Library Edition, published 2000, ISBN-10: 0-471-39918-3, page 227.

  [5] | Adobe DNG SDK 1.3.0.0: dng_sdk_1_3/dng_sdk/source/dng_temperature.cpp: dng_temperature::Set_xy_coord.

  Examples

      >>> uv = (0.19374137599822966, 0.31522104394059397)
      >>> uv_to_CCT_robertson1968(uv)
      (6500.0162879..., 0.0083333...)

`colour.temperature.cct.` `CCT_to_uv_robertson1968`(CCT, Duv=0)

  Returns the CIE UCS colourspace uv chromaticity coordinates from given correlated colour temperature \(T_{cp}\) and \(\Delta_{uv}\) using Robertson (1968) method.

  Parameters: | CCT (numeric) – Correlated colour temperature \(T_{cp}\). Duv (numeric) – \(\Delta_{uv}\).
  Returns: | CIE UCS colourspace uv chromaticity coordinates.
  Return type: | tuple

  References

  [6] | Wyszecki & Stiles, Color Science - Concepts and Methods Data and Formulae - Second Edition, Wiley Classics Library Edition, published 2000, ISBN-10: 0-471-39918-3, page 227.

  [7] | Adobe DNG SDK 1.3.0.0: dng_sdk_1_3/dng_sdk/source/dng_temperature.cpp: dng_temperature::xy_coord.

  Examples

      >>> CCT = 6500.0081378199056
      >>> Duv = 0.0083333312442250979
      >>> CCT_to_uv_robertson1968(CCT, Duv)
      (0.1937413..., 0.3152210...)

`colour.temperature.cct.` `UV_TO_CCT_METHODS` = CaseInsensitiveMapping({u'Ohno 2013': <function uv_to_CCT_ohno2013 at 0x1031d5758>, u'robertson1968': <function uv_to_CCT_robertson1968 at 0x1031d5848>, u'ohno2013': <function uv_to_CCT_ohno2013 at 0x1031d5758>, u'Robertson 1968': <function uv_to_CCT_robertson1968 at 0x1031d5848>})

  Supported CIE UCS colourspace uv chromaticity coordinates to correlated colour temperature \(T_{cp}\) computation methods.

  UV_TO_CCT_METHODS : dict
    (‘Ohno 2013’, ‘Robertson 1968’)

  Aliases:

  - ‘ohno2013’: ‘Ohno 2013’
  - ‘robertson1968’: ‘Robertson 1968’

`colour.temperature.cct.` `uv_to_CCT`(uv, method=u'Ohno 2013', **kwargs)

  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) – (‘Ohno 2013’, ‘Robertson 1968’) Computation method. **kwargs (**) – Keywords arguments.
  Returns: | Correlated colour temperature \(T_{cp}\), \(\Delta_{uv}\).
  Return type: | tuple
  Raises: | `ValueError` – If the computation method is not defined.

  Examples

      >>> from colour import STANDARD_OBSERVERS_CMFS
      >>> cmfs = 'CIE 1931 2 Degree Standard Observer'
      >>> cmfs = STANDARD_OBSERVERS_CMFS.get(cmfs)
      >>> uv_to_CCT((0.1978, 0.3122), cmfs=cmfs)
      (6507.5470349..., 0.0032236...)

`colour.temperature.cct.` `CCT_TO_UV_METHODS` = CaseInsensitiveMapping({u'Ohno 2013': <function CCT_to_uv_ohno2013 at 0x1031d57d0>, u'robertson1968': <function CCT_to_uv_robertson1968 at 0x1031d58c0>, u'ohno2013': <function CCT_to_uv_ohno2013 at 0x1031d57d0>, u'Robertson 1968': <function CCT_to_uv_robertson1968 at 0x1031d58c0>})

  Supported correlated colour temperature \(T_{cp}\) to CIE UCS colourspace uv chromaticity coordinates computation methods.

  CCT_TO_UV_METHODS : dict
    (‘Ohno 2013’, ‘Robertson 1968’)

  Aliases:

  - ‘ohno2013’: ‘Ohno 2013’
  - ‘robertson1968’: ‘Robertson 1968’

`colour.temperature.cct.` `CCT_to_uv`(CCT, Duv=0, method=u'Ohno 2013', **kwargs)

  Returns the CIE UCS colourspace uv chromaticity coordinates from given correlated colour temperature \(T_{cp}\) and \(\Delta_{uv}\) using given method.

  Parameters: | CCT (numeric) – Correlated colour temperature \(T_{cp}\). Duv (numeric) – \(\Delta_{uv}\). method (unicode) – (‘Ohno 2013’, ‘Robertson 1968’) Computation method. **kwargs (**) – Keywords arguments.
  Returns: | CIE UCS colourspace uv chromaticity coordinates.
  Return type: | tuple
  Raises: | `ValueError` – If the computation method is not defined.

  Examples

      >>> from colour import STANDARD_OBSERVERS_CMFS
      >>> cmfs = 'CIE 1931 2 Degree Standard Observer'
      >>> cmfs = STANDARD_OBSERVERS_CMFS.get(cmfs)
      >>> CCT = 6507.4342201047066
      >>> Duv = 0.003223690901512735
      >>> CCT_to_uv(CCT, Duv, cmfs=cmfs)
      (0.1978003..., 0.3122005...)

`colour.temperature.cct.` `xy_to_CCT_mccamy1992`(xy)

  Returns the correlated colour temperature \(T_{cp}\) from given CIE XYZ colourspace xy chromaticity coordinates using McCamy (1992) method.

  Parameters: | xy (array_like) – xy chromaticity coordinates.
  Returns: | Correlated colour temperature \(T_{cp}\).
  Return type: | numeric

  References

  [8] | http://en.wikipedia.org/wiki/Color_temperature#Approximation (Last accessed 28 June 2014)

  Examples

      >>> xy_to_CCT_mccamy1992((0.31271, 0.32902))
      6504.3893830...

`colour.temperature.cct.` `xy_to_CCT_hernandez1999`(xy)

  Returns the correlated colour temperature \(T_{cp}\) from given CIE XYZ colourspace xy chromaticity coordinates using Hernandez-Andres, Lee & Romero (1999) method.

  Parameters: | xy (array_like) – xy chromaticity coordinates.
  Returns: | Correlated colour temperature \(T_{cp}\).
  Return type: | numeric

  References

  [9] | Calculating correlated color temperatures across the entire gamut of daylight and skylight chromaticities

  Examples

      >>> xy_to_CCT_hernandez1999((0.31271, 0.32902))
      6500.0421533...

`colour.temperature.cct.` `CCT_to_xy_kang2002`(CCT)

  Returns the CIE XYZ colourspace xy chromaticity coordinates from given correlated colour temperature \(T_{cp}\) using Kang, Moon, Hong, Lee, Cho and Kim (2002) method.

  Parameters: | CCT (numeric) – Correlated colour temperature \(T_{cp}\).
  Returns: | xy chromaticity coordinates.
  Return type: | tuple
  Raises: | `ValueError` – If the correlated colour temperature is not in appropriate domain.

  References

  [10] | Design of Advanced Color - Temperature Control System for HDTV Applications

  Examples

      >>> CCT_to_xy_kang2002(6504.38938305)
      (0.3134259..., 0.3235959...)

`colour.temperature.cct.` `CCT_to_xy_illuminant_D`(CCT)

  Converts from the correlated colour temperature \(T_{cp}\) of a CIE Illuminant D Series to the chromaticity of that CIE Illuminant D Series.

  Parameters: | CCT (numeric) – Correlated colour temperature \(T_{cp}\).
  Returns: | xy chromaticity coordinates.
  Return type: | tuple
  Raises: | `ValueError` – If the correlated colour temperature is not in appropriate domain.

  References

  [11] | Wyszecki & Stiles, Color Science - Concepts and Methods Data and Formulae - Second Edition, Wiley Classics Library Edition, published 2000, ISBN-10: 0-471-39918-3, page 145.

  Examples

      >>> CCT_to_xy_illuminant_D(6504.38938305)
      (0.3127077..., 0.3291128...)

`colour.temperature.cct.` `XY_TO_CCT_METHODS` = CaseInsensitiveMapping({u'hernandez1999': <function xy_to_CCT_hernandez1999 at 0x1031d5aa0>, u'Hernandez 1999': <function xy_to_CCT_hernandez1999 at 0x1031d5aa0>, u'McCamy 1992': <function xy_to_CCT_mccamy1992 at 0x1031d5a28>, u'mccamy1992': <function xy_to_CCT_mccamy1992 at 0x1031d5a28>})

  Supported CIE XYZ colourspace xy chromaticity coordinates to correlated colour temperature \(T_{cp}\) computation methods.

  XY_TO_CCT_METHODS : dict
    (‘McCamy 1992’, ‘Hernandez 1999’)

  Aliases:

  - ‘mccamy1992’: ‘McCamy 1992’
  - ‘hernandez1999’: ‘Hernandez 1999’

`colour.temperature.cct.` `xy_to_CCT`(xy, method=u'McCamy 1992', **kwargs)

  Returns the correlated colour temperature \(T_{cp}\) from given CIE XYZ colourspace xy chromaticity coordinates using given method.

  Parameters: | xy (array_like) – xy chromaticity coordinates. method (unicode (‘McCamy 1992’, ‘Hernandez 1999’)) – Computation method. **kwargs (**) – Keywords arguments.
  Returns: | Correlated colour temperature \(T_{cp}\).
  Return type: | numeric

`colour.temperature.cct.` `CCT_TO_XY_METHODS` = CaseInsensitiveMapping({u'cie_d': <function CCT_to_xy_illuminant_D at 0x1031d5b90>, u'CIE Illuminant D Series': <function CCT_to_xy_illuminant_D at 0x1031d5b90>, u'kang2002': <function CCT_to_xy_kang2002 at 0x1031d5b18>, u'Kang 2002': <function CCT_to_xy_kang2002 at 0x1031d5b18>})

  Supported correlated colour temperature \(T_{cp}\) to CIE XYZ colourspace xy chromaticity coordinates computation methods.

  CCT_TO_XY_METHODS : dict
    (‘Kang 2002’, ‘CIE Illuminant D Series’)

  Aliases:

  - ‘kang2002’: ‘Kang 2002’
  - ‘cie_d’: ‘Hernandez 1999’

`colour.temperature.cct.` `CCT_to_xy`(CCT, method=u'Kang 2002')

  Returns the CIE XYZ colourspace xy chromaticity coordinates from given correlated colour temperature \(T_{cp}\) using given method.

  Parameters: | CCT (numeric) – Correlated colour temperature \(T_{cp}\). method (unicode (‘Kang 2002’, ‘CIE Illuminant D Series’)) – Computation method.
  Returns: | xy chromaticity coordinates.
  Return type: | tuple