colour.models.log_decoding_CanonLog#

colour.models.log_decoding_CanonLog(clog: ArrayLike, bit_depth: int = 10, in_normalised_code_value: bool = True, out_reflection: bool = True, method: Literal['v1', 'v1.2'] | str = 'v1.2') NDArrayFloat[source]#

Define the Canon Log log decoding curve / electro-optical transfer function.

Parameters:
  • clog (ArrayLike) – Canon Log non-linear data.

  • bit_depth (int) – Bit-depth used for conversion.

  • in_normalised_code_value (bool) – Whether the Canon Log non-linear data is encoded with normalised code values.

  • out_reflection (bool) – Whether the light level \(x\) to a camera is reflection.

  • method (Literal['v1', 'v1.2'] | str) – Computation method.

Returns:

Linear data \(x\).

Return type:

numpy.ndarray

Notes

Domain

Scale - Reference

Scale - 1

clog

[0, 1]

[0, 1]

Range

Scale - Reference

Scale - 1

x

[0, 1]

[0, 1]

References

[Canon16], [Canon20], [Tho12]

Examples

>>> log_decoding_CanonLog(34.338964929528061 / 100)  
0.17999999...
>>> log_decoding_CanonLog(34.338965172606912 / 100, method="v1")
... 
0.17999999...