colour.models.exponent_function_monitor_curve#

colour.models.exponent_function_monitor_curve(x: FloatingOrArrayLike, exponent: FloatingOrArrayLike = 1, offset: FloatingOrArrayLike = 0, style: Union[Literal['monCurveFwd', 'monCurveRev', 'monCurveMirrorFwd', 'monCurveMirrorRev'], str] = 'monCurveFwd') FloatingOrNDArray[source]#

Define the Monitor Curve exponent transfer function.

Parameters:
  • x (FloatingOrArrayLike) – Data to undergo the monitor curve exponential conversion.

  • exponent (FloatingOrArrayLike) – Exponent value used for the conversion.

  • offset (FloatingOrArrayLike) – Offset value used for the conversion.

  • style (Union[Literal['monCurveFwd', 'monCurveRev', 'monCurveMirrorFwd', 'monCurveMirrorRev'], str]) –

    Defines the behaviour for the transfer function to operate:

    • monCurveFwd: Monitor Curve Forward exponential behaviour where the definition applies a power law function with a linear segment near the origin.

    • monCurveRev: Monitor Curve Reverse exponential behaviour where the definition applies a power law function with a linear segment near the origin.

    • monCurveMirrorFwd: Monitor Curve Mirror Forward exponential behaviour where the definition applies a power law function with a linear segment near the origin and mirrors the function for values less than zero (i.e. rotationally symmetric around the origin).

    • monCurveMirrorRev: Monitor Curve Mirror Reverse exponential behaviour where the definition applies a power law function with a linear segment near the origin and mirrors the function for values less than zero (i.e. rotationally symmetric around the origin).

Returns:

Exponentially converted data.

Return type:

numpy.floating or numpy.ndarray

Examples

>>> exponent_function_monitor_curve(  
...     0.18, 2.2, 0.001)
0.0232240...
>>> exponent_function_monitor_curve(  
...     -0.18, 2.2, 0.001)
-0.0002054...
>>> exponent_function_monitor_curve(  
...     0.18, 2.2, 0.001, 'monCurveRev')
0.4581151...
>>> exponent_function_monitor_curve(  
...     -0.18, 2.2, 0.001, 'monCurveRev')
-157.7302795...
>>> exponent_function_monitor_curve(  
...     0.18, 2.2, 2, 'monCurveMirrorFwd')
0.1679399...
>>> exponent_function_monitor_curve(  
...     -0.18, 2.2, 0.001, 'monCurveMirrorFwd')
-0.0232240...
>>> exponent_function_monitor_curve(  
...     0.18, 2.2, 0.001, 'monCurveMirrorRev')
0.4581151...
>>> exponent_function_monitor_curve(  
...     -0.18, 2.2, 0.001, 'monCurveMirrorRev')
-0.4581151...