Basic Parameterized TransferFunctions | R Documentation |
Each of these functions returns a TransferFunction
object,
that depends on the argument values passed to it.
The returned object has the parameter values "locked in".
These TransferFunction
objects are a mixture of EOTFs, OETFs, OOTFs, and general-purpose transfer functions.
power.OETF( gamma )
power.EOTF( gamma )
power.OOTF( gamma )
BT.1886.EOTF( gamma=2.4, Lb=0, Lw=1 )
XYZfromRGB.TF( primaries, white )
affine.TF( y0, y1 )
gamma |
the value of |
Lb |
the black level |
Lw |
the white level |
primaries |
a 3x2 or 4x2 matrix; see Details |
white |
a vector of length 1, 2, or 3; see Details |
y0 |
the number to which 0 maps |
y1 |
the number to which 1 maps |
There are 3 valid combinations of primaries
and white
, as given in this table:
dim(primaries) | length(white) | Description |
4x2 | 1 | primaries is a 4x2 matrix with CIE xy chromaticities of R,G,B,W in the rows |
3x2 | 2 | primaries is a 3x2 matrix with CIE xy chromaticities of R,G,B in the rows |
3x2 | 3 | primaries is a 3x2 matrix with CIE xy chromaticities of R,G,B in the rows |
If length(white)
is 1, then white
is the whitepoint Y.
If length(white)
is 2, then white
is the whitepoint xy (CIE chromaticity);
the whitepoint Y is taken to be 1.
If length(white)
is 3, white
is the whitepoint XYZ (CIE tristimulus).
primaries
can also be a plain numeric vector of length 6 or 8,
which is then converted to a 3x2 or 4x2 matrix, by row.
power.OETF()
returns a TransferFunction
with the classical 1/\gamma
power law.
power.EOTF()
returns a TransferFunction
with the classical \gamma
power law.
power.OOTF()
is the same as power.EOTF()
,
but having a different name may make the creation of new RGB spaces clearer.
All three of these map [0,1] to [0,1].
BT.1886.EOTF()
returns a TransferFunction
that maps [0,1] to
[Lb
,Lw
], with non-linearity given by gamma
.
The BT.1886 standard has details in Annex 1.
XYZfromRGB.TF()
returns a 3D TransferFunction
that is linear
and maps RGB=(1,1,1) to the XYZ of white.
The domain is set to the ACES cube [-65504, 65504]^3
and the range is set to the smallest enclosing box.
For the inverse one can use XYZfromRGB.TF()^-1
.
affine.TF()
returns a 1D TransferFunction
that maps
0 \rarrow y_0
and 1 \rarrow y_1
in an affine way.
One must have y_0 \ne y_1
, but is is OK to have y_0 > y_1
.
No quantities are associated with these values; the function is intended for arbitrary 1D scaling.
BT.1886. Reference electro-optical transfer function for flat panel displays used in HDTV studio production. March 2011.
TransferFunction
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.