Partial Output Device Transform, parameterized {spacesRGB} | R Documentation |
Partial Output Device Transform, general
Description
A partial Output Device Transform (PODT) maps from OCES to linear display RGB
(both of these are optical in nature).
The adjective "partial" is used because this
is an ODT that omits the final OETF (which maps from linear display RGB to signal display RGB).
This PODT is parameterized.
Usage
general.PODT( display_pri, Ymax=1, observerWP=NULL, surround='dark', limiting_pri=NULL )
Arguments
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 |
Ymax |
the maximum luminance of the output device, 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 |
surround |
The level of the surround luminance.
Valid values are |
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 |
Details
The transfer is complicated; here is a summary of the steps:
matrix conversion from AP0 RGB → AP1 RGB
clamp to non-negative RGB
segmented spline, assuming
CINEMA_WHITE
=48 nitabsolute luminance to linear code-value, in cube [0,1]
^3
scale and roll-white to avoid clipping (optional, only when
observerWP
is ACES whitepoint and display whitepoint is D65 or DCI whitepoint)dim surround compensation with conversion to XYZ and back again (optional, see argument
surround
)matrix conversion from AP1 RGB to XYZ
adapt XYZ from ACES whitepoint to observer whitepoint (optional, see argument
observerWP
)clamp XYZ to limiting primaries (optional, see argument
limiting_pri
)matrix conversion from XYZ to linear display RGB (but not for DCDM, see argument
display_pri
)clamp linear display RGB (or XYZ for DCDM) to the cube [0,1]
^3
Value
general.PODT()
returns a TransferFunction
of dimension 3
that maps OCES RGB to linear display RGB.
The domain is [0,10000]^3
and the range is [0,1]^3
.
The metadata
contains the display primaries and whitepoint,
which is useful in installRGB()
.
Source
This function was based on source code at:
https://github.com/ampas/aces-dev;
especially the files under the folder aces-dev-master/transforms/ctl/odt/
.
References
ST 2065-1:2012. SMPTE Standard - Academy Color Encoding Specification (ACES). 2013.
See Also
TransferFunction
,
installRGB()
,
metadata()
,
RRT.TF
,
Standard Primaries