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 Ohno (2013) method.
  • CCT_to_uv_Ohno2013(): CIE UCS colourspace uv chromaticity coordinates computation of given correlated colour temperature \(T_{cp}\), \(\Delta_{uv}\) using 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 and Romero (1999) method.
  • CCT_to_xy_Kang2002(): CIE XYZ colourspace xy chromaticity coordinates computation of given correlated colour temperature \(T_{cp}\) using Kang et al. (2002) method.
  • CCT_to_xy_CIE_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.

References

[1]Wikipedia. (n.d.). Color temperature. Retrieved June 28, 2014, from 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 (1968) 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 Lindbloom for 325 Megakelvin temperature: 0.24702 —> 0.24792

References

[2]Wyszecki, G., & Stiles, W. S. (2000). Table 1(3.11) Isotemperature Lines. In Color Science: Concepts and Methods, Quantitative Data and Formulae (p. 228). Wiley. ISBN:978-0471399186
colour.temperature.cct.ROBERTSON_ISOTEMPERATURE_LINES_RUVT

alias of WyszeckiRobertson_ruvt

colour.temperature.cct.planckian_table(uv, cmfs, start, end, count)[source]

Returns a planckian table from given CIE UCS colourspace uv chromaticity coordinates, colour matching functions and temperature range using 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)[source]

Returns the shortest distance index in given planckian table using 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 0x2b3679ab5690>, 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:

tuple

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 = '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, D_uv=0, cmfs=<colour.colorimetry.cmfs.XYZ_ColourMatchingFunctions object at 0x2b3679ab5690>)[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:

tuple

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 = 'CIE 1931 2 Degree Standard Observer'
>>> cmfs = STANDARD_OBSERVERS_CMFS.get(cmfs)
>>> CCT = 6507.4342201047066
>>> D_uv = 0.003223690901512735
>>> CCT_to_uv_Ohno2013(CCT, D_uv, cmfs)  
(0.1978003..., 0.3122005...)
colour.temperature.cct.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:tuple

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 = (0.19374137599822966, 0.31522104394059397)
>>> uv_to_CCT_Robertson1968(uv)  
(6500.0162879..., 0.0083333...)
colour.temperature.cct.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:

tuple

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.0083333312442250979
>>> CCT_to_uv_Robertson1968(CCT, D_uv)  
(0.1937413..., 0.3152210...)
colour.temperature.cct.UV_TO_CCT_METHODS = CaseInsensitiveMapping({u'Ohno 2013': <function uv_to_CCT_Ohno2013 at 0x2b36874d2668>, u'robertson1968': <function uv_to_CCT_Robertson1968 at 0x2b36874d2758>, u'ohno2013': <function uv_to_CCT_Ohno2013 at 0x2b36874d2668>, u'Robertson 1968': <function uv_to_CCT_Robertson1968 at 0x2b36874d2758>})

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

UV_TO_CCT_METHODS : CaseInsensitiveMapping
{‘Ohno 2013’, ‘Robertson 1968’}

Aliases:

  • ‘ohno2013’: ‘Ohno 2013’
  • ‘robertson1968’: ‘Robertson 1968’
colour.temperature.cct.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.
  • **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 0x2b36874d26e0>, u'robertson1968': <function CCT_to_uv_Robertson1968 at 0x2b36874d27d0>, u'ohno2013': <function CCT_to_uv_Ohno2013 at 0x2b36874d26e0>, u'Robertson 1968': <function CCT_to_uv_Robertson1968 at 0x2b36874d27d0>})

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

CCT_TO_UV_METHODS : CaseInsensitiveMapping
{‘Ohno 2013’, ‘Robertson 1968’}

Aliases:

  • ‘ohno2013’: ‘Ohno 2013’
  • ‘robertson1968’: ‘Robertson 1968’
colour.temperature.cct.CCT_to_uv(CCT, D_uv=0, method=u'Ohno 2013', **kwargs)[source]

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}\).
  • D_uv (numeric) – \(\Delta_{uv}\).
  • method (unicode, optional) –
  • 2013’, ‘Robertson 1968’} ({‘Ohno) – 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
>>> D_uv = 0.003223690901512735
>>> CCT_to_uv(CCT, D_uv, cmfs=cmfs)  
(0.1978003..., 0.3122005...)
colour.temperature.cct.xy_to_CCT_McCamy1992(xy)[source]

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

[9]Wikipedia. (n.d.). Approximation. Retrieved June 28, 2014, from http://en.wikipedia.org/wiki/Color_temperature#Approximation

Examples

>>> xy_to_CCT_McCamy1992((0.31271, 0.32902))  
6504.3893830...
colour.temperature.cct.xy_to_CCT_Hernandez1999(xy)[source]

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

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

References

[10]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_to_CCT_Hernandez1999((0.31271, 0.32902))  
6500.0421533...
colour.temperature.cct.CCT_to_xy_Kang2002(CCT)[source]

Returns the CIE XYZ colourspace xy chromaticity coordinates from given correlated colour temperature \(T_{cp}\) using Kang et al. (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

[11]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)  
(0.3134259..., 0.3235959...)
colour.temperature.cct.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) – 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

[12]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)  
(0.3127077..., 0.3291128...)
colour.temperature.cct.XY_TO_CCT_METHODS = CaseInsensitiveMapping({u'hernandez1999': <function xy_to_CCT_Hernandez1999 at 0x2b36874d29b0>, u'Hernandez 1999': <function xy_to_CCT_Hernandez1999 at 0x2b36874d29b0>, u'McCamy 1992': <function xy_to_CCT_McCamy1992 at 0x2b36874d2938>, u'mccamy1992': <function xy_to_CCT_McCamy1992 at 0x2b36874d2938>})

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

XY_TO_CCT_METHODS : CaseInsensitiveMapping
{‘McCamy 1992’, ‘Hernandez 1999’}

Aliases:

  • ‘mccamy1992’: ‘McCamy 1992’
  • ‘hernandez1999’: ‘Hernandez 1999’
colour.temperature.cct.xy_to_CCT(xy, method=u'McCamy 1992', **kwargs)[source]

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, optional) – {‘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_CIE_D at 0x2b36874d2aa0>, u'CIE Illuminant D Series': <function CCT_to_xy_CIE_D at 0x2b36874d2aa0>, u'kang2002': <function CCT_to_xy_Kang2002 at 0x2b36874d2a28>, u'Kang 2002': <function CCT_to_xy_Kang2002 at 0x2b36874d2a28>})

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

CCT_TO_XY_METHODS : CaseInsensitiveMapping
{‘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')[source]

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, optional) – {‘Kang 2002’, ‘CIE Illuminant D Series’} Computation method.
Returns:

xy chromaticity coordinates.

Return type:

tuple