colour.models.rgb.transfer_functions.rimm_romm_rgb Module

RIMM, ROMM and ERIMM Encodings

Defines the RIMM, ROMM and ERIMM encodings opto-electrical transfer functions (OETF / OECF) and electro-optical transfer functions (EOTF / EOCF):

References

[1]Spaulding, K. E., Woolfe, G. J., & Giorgianni, E. J. (2000). Reference Input/Output Medium Metric RGB Color Encodings (RIMM/ROMM RGB), 1–8. Retrieved from http://www.photo-lovers.org/pdf/color/romm.pdf
[3]ANSI. (2003). Specification of ROMM RGB. Retrieved from http://www.color.org/ROMMRGB.pdf
colour.models.rgb.transfer_functions.rimm_romm_rgb.oetf_ROMMRGB(X, I_max=255)[source]

Defines the ROMM RGB encoding opto-electronic transfer function (OETF / OECF).

Parameters:
  • X (numeric or array_like) – Linear data \(X_{ROMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
Returns:

Non-linear data \(X'_{ROMM}\).

Return type:

numeric or ndarray

Examples

>>> oetf_ROMMRGB(0.18)  
98.3564133...
colour.models.rgb.transfer_functions.rimm_romm_rgb.eotf_ROMMRGB(X_p, I_max=255)[source]

Defines the ROMM RGB encoding electro-optical transfer function (EOTF / EOCF).

Parameters:
  • X_p (numeric or array_like) – Non-linear data \(X'_{ROMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
Returns:

Linear data \(X_{ROMM}\).

Return type:

numeric or ndarray

Examples

>>> eotf_ROMMRGB(98.356413311540095) 
0.1...
colour.models.rgb.transfer_functions.rimm_romm_rgb.oetf_ProPhotoRGB(X, I_max=255)

Defines the ROMM RGB encoding opto-electronic transfer function (OETF / OECF).

Parameters:
  • X (numeric or array_like) – Linear data \(X_{ROMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
Returns:

Non-linear data \(X'_{ROMM}\).

Return type:

numeric or ndarray

Examples

>>> oetf_ROMMRGB(0.18)  
98.3564133...
colour.models.rgb.transfer_functions.rimm_romm_rgb.eotf_ProPhotoRGB(X_p, I_max=255)

Defines the ROMM RGB encoding electro-optical transfer function (EOTF / EOCF).

Parameters:
  • X_p (numeric or array_like) – Non-linear data \(X'_{ROMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
Returns:

Linear data \(X_{ROMM}\).

Return type:

numeric or ndarray

Examples

>>> eotf_ROMMRGB(98.356413311540095) 
0.1...
colour.models.rgb.transfer_functions.rimm_romm_rgb.oetf_RIMMRGB(X, I_max=255, E_clip=2.0)[source]

Defines the RIMM RGB encoding opto-electronic transfer function (OETF / OECF).

RIMM RGB encoding non-linearity is based on that specified by Recommendation ITU-R BT.709-6.

Parameters:
  • X (numeric or array_like) – Linear data \(X_{RIMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
  • E_clip (numeric, optional) – Maximum exposure level.
Returns:

Non-linear data \(X'_{RIMM}\).

Return type:

numeric or ndarray

Examples

>>> oetf_RIMMRGB(0.18)  
74.3768017...
colour.models.rgb.transfer_functions.rimm_romm_rgb.eotf_RIMMRGB(X_p, I_max=255, E_clip=2.0)[source]

Defines the RIMM RGB encoding electro-optical transfer function (EOTF / EOCF).

Parameters:
  • X_p (numeric or array_like) – Non-linear data \(X'_{RIMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
  • E_clip (numeric, optional) – Maximum exposure level.
Returns:

Linear data \(X_{RIMM}\).

Return type:

numeric or ndarray

Examples

>>> eotf_RIMMRGB(74.37680178131521)  
0.1...
colour.models.rgb.transfer_functions.rimm_romm_rgb.log_encoding_ERIMMRGB(X, I_max=255, E_min=0.001, E_clip=316.2)[source]

Defines the ERIMM RGB log encoding curve / opto-electronic transfer function (OETF / OECF).

Parameters:
  • X (numeric or array_like) – Linear data \(X_{ERIMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
  • E_min (numeric, optional) – Minimum exposure limit.
  • E_clip (numeric, optional) – Maximum exposure limit.
Returns:

Non-linear data \(X'_{ERIMM}\).

Return type:

numeric or ndarray

Examples

>>> log_encoding_ERIMMRGB(0.18)  
104.5633593...
colour.models.rgb.transfer_functions.rimm_romm_rgb.log_decoding_ERIMMRGB(X_p, I_max=255, E_min=0.001, E_clip=316.2)[source]

Defines the ERIMM RGB log decoding curve / electro-optical transfer function (EOTF / EOCF).

Parameters:
  • X_p (numeric or array_like) – Non-linear data \(X'_{ERIMM}\).
  • I_max (numeric, optional) – Maximum code value: 255, 4095 and 650535 for respectively 8-bit, 12-bit and 16-bit per channel.
  • E_min (numeric, optional) – Minimum exposure limit.
  • E_clip (numeric, optional) – Maximum exposure limit.
Returns:

Linear data \(X_{ERIMM}\).

Return type:

numeric or ndarray

Examples

>>> log_decoding_ERIMMRGB(104.56335932049294) 
0.1...