colour_hdri.xy_to_camera_neutral#

colour_hdri.xy_to_camera_neutral(xy: ArrayLike, CCT_calibration_illuminant_1: float, CCT_calibration_illuminant_2: float, M_color_matrix_1: ArrayLike, M_color_matrix_2: ArrayLike, M_camera_calibration_1: ArrayLike, M_camera_calibration_2: ArrayLike, analog_balance: ArrayLike) NDArrayFloat[source]#

Convert given xy white balance chromaticity coordinates to Camera Neutral coordinates.

Parameters:
  • xy (ArrayLike) – xy white balance chromaticity coordinates.

  • CCT_calibration_illuminant_1 (float) – Correlated colour temperature of CalibrationIlluminant1.

  • CCT_calibration_illuminant_2 (float) – Correlated colour temperature of CalibrationIlluminant2.

  • M_color_matrix_1 (ArrayLike) – ColorMatrix1 tag matrix.

  • M_color_matrix_2 (ArrayLike) – ColorMatrix2 tag matrix.

  • M_camera_calibration_1 (ArrayLike) – CameraCalibration1 tag matrix.

  • M_camera_calibration_2 (ArrayLike) – CameraCalibration2 tag matrix.

  • analog_balance (ArrayLike) – AnalogBalance tag vector.

Returns:

Camera Neutral coordinates.

Return type:

numpy.ndarray

References

[AdobeSystems12d], [AdobeSystems12b], [AdobeSystems15a], [McG12]

Examples

>>> M_color_matrix_1 = np.array(
...     [
...         [0.5309, -0.0229, -0.0336],
...         [-0.6241, 1.3265, 0.3337],
...         [-0.0817, 0.1215, 0.6664],
...     ]
... )
>>> M_color_matrix_2 = np.array(
...     [
...         [0.4716, 0.0603, -0.0830],
...         [-0.7798, 1.5474, 0.2480],
...         [-0.1496, 0.1937, 0.6651],
...     ]
... )
>>> M_camera_calibration_1 = np.identity(3)
>>> M_camera_calibration_2 = np.identity(3)
>>> analog_balance = np.ones(3)
>>> xy_to_camera_neutral(  
...     np.array([0.32816244, 0.34698169]),
...     2850,
...     6500,
...     M_color_matrix_1,
...     M_color_matrix_2,
...     M_camera_calibration_1,
...     M_camera_calibration_2,
...     analog_balance,
... )
array([ 0.4130699...,  1...        ,  0.646465...])