MunsellToRGB {munsellinterpol} | R Documentation |
Convert a Munsell specification to RGB coordinates
Description
MunsellToRGB
Converts a
Munsell specification to RGB coordinates, by interpolating over the
extrapolated Munsell renotation data
Usage
MunsellToRGB( MunsellSpec, space='sRGB', which='scene', maxSignal=255,
adapt='Bradford', ... )
Arguments
MunsellSpec |
a numeric Nx3 matrix with HVC values in the rows, or a vector that can be converted to such a matrix, by row. |
space |
the name of an installed RGB space.
Spaces |
which |
either |
maxSignal |
maximum of the non-linear signal RGB; Other popular values are 1, 100, 1023, and 65535 |
adapt |
method for chromatic adaptation, see |
... |
other parameters passed to |
Details
The conversion is done with these steps:
HVC → xyY using
MunsellToxyY()
with...
. This xyY is for Illuminant C.xyY → XYZ using
spacesXYZ::XYZfromxyY()
XYZ is adapted from Illuminant C to the white-point (with
which
) of the RGBspace
, usingspacesXYZ::adaptXYZ()
, with the given chromatic adaptation methodadapt
XYZ → RGB using
spacesRGB::RGBfromXYZ()
with the givenspace
,which
, andmaxSignal
Value
a data.frame
with these columns:
SAMPLE_NAME |
a character N-vector equal to the original |
xyY |
an Nx3 matrix with xyY values in the rows, that are adapted to Illuminant C.
This is an intermediate result that is sometimes useful, e.g. it can be passed
to |
RGB |
an Nx3 matrix with non-linear RGB signal values in the rows.
All values are clamped to the appropriate cube, e.g. |
OutOfGamut |
logical vector, TRUE means the result was out of gamut (the cube) before clamping it |
In case of error, it returns NULL
.
Author(s)
Jose Gama and Glenn Davis
References
Paul Centore 2014 The Munsell and Kubelka-Munk Toolbox https://www.munsellcolourscienceforpainters.com/MunsellAndKubelkaMunkToolbox/MunsellAndKubelkaMunkToolbox.html
See Also
MunsellToXYZ()
,
IsWithinMacAdamLimits()
,
spacesRGB::installRGB()
,
spacesRGB::RGBfromXYZ()
,
spacesXYZ::XYZfromxyY()
,
spacesXYZ::CAT()
Examples
MunsellToRGB( c('7.6P 8.9/2.2', 'N 3/'), space='AdobeRGB' )
## SAMPLE_NAME xyY.x xyY.y xyY.Y RGB.R RGB.G RGB.B OutOfGamut
## 1 7.6P 8.9/2.2 0.3109520 0.3068719 74.6134498 227.72419 220.18659 229.23297 FALSE
## 2 N 3/ 0.3101000 0.3163000 6.3911778 73.01793 73.01793 73.01793 FALSE