colour.gamma_function¶
-
colour.
gamma_function
(a, exponent=1, negative_number_handling='Indeterminate')[source]¶ Defines a typical gamma encoding / decoding function.
Parameters: - a (numeric or array_like) – Array to encode / decode.
- exponent (numeric or array_like, optional) – Encoding / decoding exponent.
- negative_number_handling (unicode, optional) –
{‘Indeterminate’, ‘Mirror’, ‘Preserve’, ‘Clamp’}, Defines the behaviour for
a
negative numbers and / or the definition return value:- Indeterminate: The behaviour will be indeterminate and definition return value might contain nans.
- Mirror: The definition return value will be mirrored around abscissa and ordinate axis, i.e. Blackmagic Design: Davinci Resolve behaviour.
- Preserve: The definition will preserve any negative number in
a
, i.e. The Foundry Nuke behaviour. - Clamp: The definition will clamp any negative number in
a
to 0.
Returns: Encoded / decoded array.
Return type: numeric or ndarray
Raises: ValueError
– If the negative number handling method is not defined.Examples
>>> gamma_function(0.18, 2.2) # doctest: +ELLIPSIS 0.0229932... >>> gamma_function(-0.18, 2.0) # doctest: +ELLIPSIS 0.0323999... >>> gamma_function(-0.18, 2.2) nan >>> gamma_function(-0.18, 2.2, 'Mirror') # doctest: +ELLIPSIS -0.0229932... >>> gamma_function(-0.18, 2.2, 'Preserve') # doctest: +ELLIPSIS -0.1... >>> gamma_function(-0.18, 2.2, 'Clamp') # doctest: +ELLIPSIS 0.0