colour.models.log_encoding_CanonLog3

colour.models.log_encoding_CanonLog3(x, bit_depth=10, out_legal=True, in_reflection=True)[source]

Defines the Canon Log 3 log encoding curve / opto-electronic transfer function.

Parameters:
  • x (numeric or array_like) – Linear data \(x\).
  • bit_depth (int, optional) – Bit depth used for conversion.
  • out_legal (bool, optional) – Whether the Canon Log 3 non-linear data is encoded in legal range.
  • in_reflection (bool, optional) – Whether the light level \(x\) to a camera is reflection.
Returns:

Canon Log 3 non-linear data.

Return type:

numeric or ndarray

Notes

  • Introspection of the grafting points by Shaw, N. (2018) shows that the Canon Log 3 IDT was likely derived from its encoding curve as the later is grafted at +/-0.014:

    >>> clog3 = 0.04076162
    >>> (clog3 - 0.073059361) / 2.3069815
    -0.014000000000000002
    >>> clog3 = 0.105357102
    >>> (clog3 - 0.073059361) / 2.3069815
    0.013999999999999997
    

Notes

Domain Scale - Reference Scale - 1
x [0, 1] [0, 1]
Range Scale - Reference Scale - 1
clog3 [0, 1] [0, 1]

References

[Can16]

Examples

>>> log_encoding_CanonLog3(0.18) * 100  # doctest: +ELLIPSIS
34.3389369...