Description Usage Arguments Details Value References See Also

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.

1 2 3 4 5 6 | ```
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 |

`white` |
a vector of length 1, 2, or 3; see |

`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/γ* power law.
`power.EOTF()`

returns a `TransferFunction`

with the classical *γ* 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.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.