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.