colour.XYZ_to_ICtCp#
- colour.XYZ_to_ICtCp(XYZ: ArrayLike, illuminant=CCS_ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['D65'], chromatic_adaptation_transform: Literal['Bianco 2010', 'Bianco PC 2010', 'Bradford', 'CAT02 Brill 2008', 'CAT02', 'CAT16', 'CMCCAT2000', 'CMCCAT97', 'Fairchild', 'Sharp', 'Von Kries', 'XYZ Scaling'] | str | None = 'CAT02', method: Literal['Dolby 2016', 'ITU-R BT.2100-1 HLG', 'ITU-R BT.2100-1 PQ', 'ITU-R BT.2100-2 HLG', 'ITU-R BT.2100-2 PQ'] | str = 'Dolby 2016', L_p: float = 10000) NDArrayFloat [source]#
Convert from CIE XYZ tristimulus values to \(IC_TC_P\) colour encoding.
- Parameters:
XYZ (ArrayLike) – CIE XYZ tristimulus values.
illuminant – Source illuminant chromaticity coordinates.
chromatic_adaptation_transform (Literal['Bianco 2010', 'Bianco PC 2010', 'Bradford', 'CAT02 Brill 2008', 'CAT02', 'CAT16', 'CMCCAT2000', 'CMCCAT97', 'Fairchild', 'Sharp', 'Von Kries', 'XYZ Scaling'] | str | None) – Chromatic adaptation transform.
method (Literal['Dolby 2016', 'ITU-R BT.2100-1 HLG', 'ITU-R BT.2100-1 PQ', 'ITU-R BT.2100-2 HLG', 'ITU-R BT.2100-2 PQ'] | str) –
Computation method. Recommendation ITU-R BT.2100 defines multiple variants of the \(IC_TC_P\) colour encoding:
ITU-R BT.2100-1
SMPTE ST 2084:2014 inverse electro-optical transfer function (EOTF) and the \(IC_TC_P\) matrix from [Dolby16]: Dolby 2016, ITU-R BT.2100-1 PQ, ITU-R BT.2100-2 PQ methods.
Recommendation ITU-R BT.2100 Reference HLG opto-electrical transfer function (OETF) and the \(IC_TC_P\) matrix from [Dolby16]: ITU-R BT.2100-1 HLG method.
ITU-R BT.2100-2
SMPTE ST 2084:2014 inverse electro-optical transfer function (EOTF) and the \(IC_TC_P\) matrix from [Dolby16]: Dolby 2016, ITU-R BT.2100-1 PQ, ITU-R BT.2100-2 PQ methods.
Recommendation ITU-R BT.2100 Reference HLG opto-electrical transfer function (OETF) and a custom \(IC_TC_P\) matrix from [InternationalTUnion18]: ITU-R BT.2100-2 HLG method.
L_p (float) – Display peak luminance \(cd/m^2\) for SMPTE ST 2084:2014 non-linear encoding. This parameter should stay at its default \(10000 cd/m^2\) value for practical applications. It is exposed so that the definition can be used as a fitting function.
- Returns:
\(IC_TC_P\) colour encoding array.
- Return type:
Warning
The underlying SMPTE ST 2084:2014 transfer function is an absolute transfer function.
Notes
The underlying SMPTE ST 2084:2014 transfer function is an absolute transfer function, thus the domain and range values for the Reference
The ITU-R BT.2100-1 PQ and ITU-R BT.2100-2 PQ methods are aliases for the Dolby 2016 method. and 1 scales are only indicative that the data is not affected by scale transformations. The effective domain of SMPTE ST 2084:2014 inverse electro-optical transfer function (EOTF) is [0.0001, 10000].
Domain
Scale - Reference
Scale - 1
XYZ
UN
UN
Range
Scale - Reference
Scale - 1
ICtCp
I
: [0, 1]CT
: [-1, 1]CP
: [-1, 1]I
: [0, 1]CT
: [-1, 1]CP
: [-1, 1]References
Examples
>>> XYZ = np.array([0.20654008, 0.12197225, 0.05136952]) >>> XYZ_to_ICtCp(XYZ) array([ 0.0685809..., -0.0028384..., 0.0602098...]) >>> XYZ_to_ICtCp(XYZ, method="ITU-R BT.2100-2 HLG") array([ 0.5924279..., -0.0374073..., 0.2512267...])