colour.models.rgb.ictcp Module

\(IC_TC_P\) Colour Encoding

Defines the \(IC_TC_P\) colour encoding related transformations:

References

[1]Dolby. (2016). WHAT IS ICTCP? - INTRODUCTION. Retrieved from https://www.dolby.com/us/en/technologies/dolby-vision/ICtCp-white-paper.pdf
[2]Lu, T., Pu, F., Yin, P., Chen, T., Husak, W., Pytlarz, J., … Su, G.-M. (2016). ICTCP Colour Space and Its Compression Performance for High Dynamic Range and Wide Colour Gamut Video Distribution. ZTE Communications, 14(1), 32–38. doi:10.3969/j.
colour.models.rgb.ictcp.ICTCP_RGB_TO_LMS_MATRIX = array([[ 0.41210938, 0.52392578, 0.06396484], [ 0.16674805, 0.72045898, 0.11279297], [ 0.02416992, 0.07543945, 0.90039062]])

Rec. 2020 colourspace to normalised cone responses matrix.

ICTCP_RGB_TO_LMS_MATRIX : array_like, (3, 3)

colour.models.rgb.ictcp.ICTCP_LMS_TO_RGB_MATRIX = array([[ 3.43660669, -2.50645212, 0.06984542], [-0.79132956, 1.98360045, -0.1922709 ], [-0.0259499 , -0.09891371, 1.12486361]])

\(IC_TC_P\) colourspace normalised cone responses to Rec. 2020 colourspace matrix.

ICTCP_LMS_TO_RGB_MATRIX : array_like, (3, 3)

colour.models.rgb.ictcp.ICTCP_LMS_P_TO_ICTCP_MATRIX = array([[ 0.5 , 0.5 , 0. ], [ 1.61376953, -3.32348633, 1.7097168 ], [ 4.37817383, -4.24560547, -0.13256836]])

\(LMS_p\) SMPTE ST 2084 – 2014 encoded normalised cone responses to \(IC_TC_P\) colour encoding matrix.

ICTCP_LMS_P_TO_ICTCP_MATRIX : array_like, (3, 3)

colour.models.rgb.ictcp.ICTCP_ICTCP_TO_LMS_P_MATRIX = array([[ 1. , 0.00860904, 0.11102963], [ 1. , -0.00860904, -0.11102963], [ 1. , 0.56003134, -0.32062717]])

\(IC_TC_P\) colour encoding to \(LMS_p\) SMPTE ST 2084 – 2014 encoded normalised cone responses matrix.

ICTCP_ICTCP_TO_LMS_P_MATRIX : array_like, (3, 3)

colour.models.rgb.ictcp.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.models.rgb.ictcp.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...])