| Opto-Optical Transfer Function, parameterized | R Documentation |
This parameterized OOTF maps from ACES (linear scene) RGB to linear display RGB
(both of these are optical in nature).
This transform bypasses non-linear signal display RGB (which is electrical in nature).
general.OOTF( display_pri, Ymin=0.00010, Ymid=7.2, Ymax=108,
observerWP=NULL, limiting_pri=NULL,
surround='dark', dynrange='SDR', glowmod='1.1', redmod='1.1' )
display_pri |
a 4x2 matrix containing the display primaries, or a numeric vector of length 8
that can be converted to such a matrix, by row.
Some built-in matrices are |
Ymin |
the minimum display luminance, in |
Ymid |
the middle display luminance, in |
Ymax |
the maximum display luminance, in |
observerWP |
the xy chromaticity of the assumed observer whitepoint.
This is used to make a Chromatic Adaptation Transform (CAT) from the ACES whitepoint (approximately D60)
to the assumed observer whitepoint.
If |
limiting_pri |
a 4x2 matrix containing the limiting primaries, or a numeric vector of length 8
that can be converted to such a matrix, by row.
If |
surround |
The level of the surround luminance.
Valid values are |
dynrange |
the dynamic range of the display system.
Valid values are |
glowmod |
the version of the Glow Modifier to use.
The only version currently supported is |
redmod |
the version of the Red Modifier to use.
The only version currently supported is |
The transfer is complicated; here is a summary of the steps:
glow module (see argument glowmod)
red modifier (see argument redmod)
matrix conversion from AP0 RGB \rarrow AP1 RGB
clamp to non-negative RGB
global desaturation (as in RRT.TF)
single-stage tone-scale (SSTS) using Ymin, Ymid, and Ymax
absolute luminance to linear code-value, in cube [0,1]^3
matrix conversion from AP1 RGB to XYZ
dim surround compensation (optional, see arguments surround and dynrange)
clamp XYZ to limiting primaries (optional, see argument limiting_pri)
adapt XYZ from ACES whitepoint to observer whitepoint (optional, see argument observerWP)
matrix conversion from XYZ to linear display RGB (see argument display_pri)
scale and roll-white to avoid clipping (optional, only when observerWP is ACES whitepoint and display whitepoint is D65 or DCI whitepoint)
clamp to non-negative RGB
general.OOTF() returns a TransferFunction of dimension 3
that maps ACES RGB to linear display RGB.
The domain of the returned TransferFunction depends on the values of
Ymin, Ymid, and Ymax.
The range is [0,1]^3, for which clamping may be used.
The metadata contains the display primaries and whitepoint,
which is useful in installRGB().
This function was based on source code at:
https://github.com/ampas/aces-core;
especially the file ACESlib.OutputTransforms.ctl.
This transform is a sub-transform of the function outputTransform();
it omits the final EOTF^{-1} and optional Full-to-SMPTE range.
ST 2065-1:2012. SMPTE Standard - Academy Color Encoding Specification (ACES). 2013.
TransferFunction,
installRGB(),
metadata(),
Standard Primaries
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.