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 tristimulus values xy chromaticity coordinates using McCamy (1992) method.
  • xy_to_CCT_Hernandez1999(): Correlated colour temperature \(T_{cp}\) computation of given CIE XYZ tristimulus values xy chromaticity coordinates using Hernandez-Andres, Lee and Romero (1999) method.
  • CCT_to_xy_Kang2002(): CIE XYZ tristimulus values xy chromaticity coordinates computation of given correlated colour temperature \(T_{cp}\) using Kang et al. (2002) method.
  • CCT_to_xy_CIE_D(): CIE XYZ tristimulus values 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)
>>> uv = np.array([0.1978, 0.3122])
>>> pprint(planckian_table(  
...     uv, 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)
>>> uv = np.array([0.1978, 0.3122])
>>> table = planckian_table(uv, 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 0x2abef8d86c10>, 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 = 'CIE 1931 2 Degree Standard Observer'
>>> cmfs = STANDARD_OBSERVERS_CMFS.get(cmfs)
>>> uv = np.array([0.1978, 0.3122])
>>> uv_to_CCT_Ohno2013(uv, cmfs)  
array([  6.5075470...e+03,   3.2236908...e-03])
colour.temperature.cct.CCT_to_uv_Ohno2013(CCT, D_uv=0, cmfs=<colour.colorimetry.cmfs.XYZ_ColourMatchingFunctions object at 0x2abef8d86c10>)[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 = '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)  
array([ 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: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.19374137599822966, 0.31522104394059397])
>>> uv_to_CCT_Robertson1968(uv)  
array([  6.5000162...e+03,   8.3333289...e-03])
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:

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

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:

ndarray

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 = np.array([0.1978, 0.3122])
>>> uv_to_CCT(uv, cmfs=cmfs)  
array([  6.5075470...e+03,   3.2236908...e-03])
colour.temperature.cct.CCT_TO_UV_METHODS = CaseInsensitiveMapping({u'Ohno 2013': <function CCT_to_uv_Ohno2013 at 0x2abef967db90>, u'robertson1968': <function CCT_to_uv_Robertson1968 at 0x2abef967dc80>, u'ohno2013': <function CCT_to_uv_Ohno2013 at 0x2abef967db90>, u'Robertson 1968': <function CCT_to_uv_Robertson1968 at 0x2abef967dc80>})

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) – {‘Ohno 2013’, ‘Robertson 1968’}, Computation method.
  • **kwargs (**) – Keywords arguments.
Returns:

CIE UCS colourspace uv chromaticity coordinates.

Return type:

ndarray

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)  
array([ 0.1978003...,  0.3122005...])
colour.temperature.cct.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

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

Examples

>>> xy = np.array([0.31271, 0.32902])
>>> xy_to_CCT_McCamy1992(xy)  
6504.3893830...
colour.temperature.cct.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, 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 = np.array([0.31271, 0.32902])
>>> xy_to_CCT_Hernandez1999(xy)  
array(6500.0421533...)
colour.temperature.cct.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

[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)  
array([ 0.313426...,  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 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]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.temperature.cct.XY_TO_CCT_METHODS = CaseInsensitiveMapping({u'hernandez1999': <function xy_to_CCT_Hernandez1999 at 0x2abef967de60>, u'Hernandez 1999': <function xy_to_CCT_Hernandez1999 at 0x2abef967de60>, u'McCamy 1992': <function xy_to_CCT_McCamy1992 at 0x2abef967dde8>, u'mccamy1992': <function xy_to_CCT_McCamy1992 at 0x2abef967dde8>})

Supported CIE XYZ tristimulus values 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 tristimulus values 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 or ndarray

colour.temperature.cct.CCT_TO_XY_METHODS = CaseInsensitiveMapping({u'cie_d': <function CCT_to_xy_CIE_D at 0x2abef967df50>, u'CIE Illuminant D Series': <function CCT_to_xy_CIE_D at 0x2abef967df50>, u'kang2002': <function CCT_to_xy_Kang2002 at 0x2abef967ded8>, u'Kang 2002': <function CCT_to_xy_Kang2002 at 0x2abef967ded8>})

Supported correlated colour temperature \(T_{cp}\) to CIE XYZ tristimulus values 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 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