colour.models.log_encoding_FLog#

colour.models.log_encoding_FLog(in_r: FloatingOrArrayLike, bit_depth: int = 10, out_normalised_code_value: bool = True, in_reflection: bool = True, constants: colour.utilities.data_structures.Structure = CONSTANTS_FLOG) FloatingOrNDArray[source]#

Define the Fujifilm F-Log log encoding curve / opto-electronic transfer function.

Parameters
  • in_r (FloatingOrArrayLike) – Linear reflection data :math`in`.

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

  • out_normalised_code_value (bool) – Whether the non-linear Fujifilm F-Log data \(out\) is encoded as normalised code values.

  • in_reflection (bool) – Whether the light level :math`in` to a camera is reflection.

  • constants (colour.utilities.data_structures.Structure) – Fujifilm F-Log constants.

Returns

Non-linear data \(out\).

Return type

numpy.floating or numpy.ndarray

Notes

Domain

Scale - Reference

Scale - 1

in_r

[0, 1]

[0, 1]

Range

Scale - Reference

Scale - 1

out_r

[0, 1]

[0, 1]

References

[Fujifilm16]

Examples

>>> log_encoding_FLog(0.18)  
0.4593184...

The values of 2-2. F-Log Code Value table in [Fujifilm16] are obtained as follows:

>>> x = np.array([0, 18, 90]) / 100
>>> np.around(log_encoding_FLog(x, 10, False) * 100, 1)
array([  3.5,  46.3,  73.2])
>>> np.around(log_encoding_FLog(x) * (2 ** 10 - 1)).astype(np.int)
array([ 95, 470, 705])