Learn R Programming

munsellinterpol (version 3.0-0)

MunsellTosRGB: Convert a Munsell specification to sRGB coordinates

Description

MunsellTosRGB Converts a Munsell specification to non-linear sRGB coordinates, by interpolating over the extrapolated Munsell renotation data

Usage

MunsellTosRGB( MunsellSpec, maxSignal=255, ... )

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. MunsellSpec can also be a character N-vector with Munsell notations, which is converted to an Nx3 matrix using HVCfromMunsellName().

maxSignal

maximum of signal sRGB; Other popular values are 1, 100, 1023, and 65535

...

other parameters passed to MunsellToxyY()

Value

a data.frame with these columns:

SAMPLE_NAME

the original MunsellSpec if that was a character vector. Or the Munsell notation string converted from the input matrix HVC.

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 IsWithinMacAdamLimits(). The rownames of xyY are copied from those of HVC, unless the rownames of HVC are NULL when they are set to SAMPLE_NAME.

RGB

an Nx3 matrix with non-linear signal sRGB values in the rows. All values are clamped to the appropriate cube, e.g. \([0,255]^3\). The rownames of RGB are copied from those of xyY.

OutOfGamut

logical vector, TRUE means the RGB result was out of gamut (the cube) before clamping it

Details

The conversion is done in these steps.

References

Paul Centore 2014 The Munsell and Kubelka-Munk Toolbox https://www.munsellcolourscienceforpainters.com/MunsellAndKubelkaMunkToolbox/MunsellAndKubelkaMunkToolbox.html

See Also

MunsellToXYZ(), MunsellToRGB(), spacesXYZ::XYZfromxyY(), spacesXYZ::CAT(), spacesXYZ::adaptXYZ(), spacesRGB::RGBfromXYZ(), IsWithinMacAdamLimits()

Examples

Run this code
# NOT RUN {
MunsellTosRGB( c('7.6P 8.9/2.2', 'N 3/') )
##     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 231.35746 221.14207 230.35011      FALSE
##  2         N 3/  0.3101000  0.3163000  6.3911778  71.50491  71.50491  71.50491      FALSE
# }

Run the code above in your browser using DataLab