Partial Output Device Transform, parameterized | R Documentation |
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.
general.PODT( display_pri, Ymax=1, observerWP=NULL, surround='dark', limiting_pri=NULL )
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 |
The transfer is complicated; here is a summary of the steps:
matrix conversion from AP0 RGB \rarrow AP1 RGB
clamp to non-negative RGB
segmented spline, assuming CINEMA_WHITE
=48 nit
absolute 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
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()
.
This function was based on source code at:
https://github.com/ampas/aces-core;
especially the files under the folder aces-dev-master/transforms/ctl/odt/
.
ST 2065-1:2012. SMPTE Standard - Academy Color Encoding Specification (ACES). 2013.
TransferFunction
,
installRGB()
,
metadata()
,
RRT.TF
,
Standard Primaries
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.