Every converter is named as xxxToYyy where xxx and yyy are the names of color spaces,
e.g. munsellToHex. Please see the following sections for the names of color spaces.
mhvc, or Munsell HVC, is a 3-number expression of Munsell
Color composed of [Hue, Value, Chroma]: e.g. [94.2, 3.5, 11] or
[0, 10 ,0]. The range of each number is as follows:
Hue is in the circle group R/100Z.
e.g. the number of 0R (= 10RP) is 0 (= 100 = 300 = -2000) and that of 2YR is 12 (= -88 = 412).
Value is in the range [0, 10].
The converters will clamp it if a given value exceeds this range.
Chroma is a non-negative number.
The converters will assume it to be zero if a given chroma is negative.
Note that every converter accepts a huge chroma outside the Munsell Renotation Data (e.g. 1000000) and returns a extrapolated result.
munsell is the standard string specification of the Munsell Color:
e.g. "4.2RP 3.5/11" or "N 10". Here various notations of numbers are
accepted. An ugly specification like "2e-02RP .9/0xf" (equivalent to
"0.02RP 0.9/15") will be also available. However, the capital letters
A-Z and the slash '/' are reserved.
The underlying data of this library is the Munsell Renotation Data.
Since this data assume that the illuminant is the standard illuminant C,
munsell.js uses the Bradford transformation as CAT to other illumnants (e.g. D65).
munsell.js inter- and extrapolates the above data via LCHab space, the method of which is
in common with dufy, my colorimetry library for
Common Lisp. The inversion method from LCHab to Munsell Color is essentially the same as
the one suggested by Paul Centore. Please see the links and articles for more information.
Centore, Paul. (2012). An open-source inversion algorithm for the Munsell renotation.
Color Research & Application. 37. 10.1002/col.20715.
Naming convention
Every converter is named as
xxxToYyy
wherexxx
andyyy
are the names of color spaces, e.g.munsellToHex
. Please see the following sections for the names of color spaces.Data structure for Munsell Color
mhvc
, or Munsell HVC, is a 3-number expression of Munsell Color composed of [Hue, Value, Chroma]: e.g.[94.2, 3.5, 11]
or[0, 10 ,0]
. The range of each number is as follows:munsell
is the standard string specification of the Munsell Color: e.g."4.2RP 3.5/11"
or"N 10"
. Here various notations of numbers are accepted. An ugly specification like"2e-02RP .9/0xf"
(equivalent to"0.02RP 0.9/15"
) will be also available. However, the capital letters A-Z and the slash '/' are reserved.Other color spaces
hex
is the hex string expression of the gamma-corrected RGB, e.g.##f2f4f8
.xxxToHex
is always the 24-bit RGB.hexToYyy
may be 24-bit RGB (#rrggbb), 12-bit RGB (#rgb), 32-bit RGBA (#rrggbbaa), or 16-bit RGBA (#rgba).rgb255
is the 3-integer expression of the gamma-corrected RGB, quantized to 0, 1, ..., 255.rgb
is the 3-number expression of the gamma-corrected RGB, normalized to the range [0, 1].linearRgb
is the 3-number expression of the linear RGB, normalized to the range [0, 1].xyz
is the 3-number expression of the CIE 1931 XYZ color space.lab
is the 3-number expression of the CIE 1976 L*a*b* color space.lchab
is the 3-number expression of the CIE 1976 L*C*h(ab) color space.Mechanism
The underlying data of this library is the Munsell Renotation Data. Since this data assume that the illuminant is the standard illuminant C, munsell.js uses the Bradford transformation as CAT to other illumnants (e.g. D65).
munsell.js inter- and extrapolates the above data via LCHab space, the method of which is in common with dufy, my colorimetry library for Common Lisp. The inversion method from LCHab to Munsell Color is essentially the same as the one suggested by Paul Centore. Please see the links and articles for more information.
Centore, Paul. (2012). An open-source inversion algorithm for the Munsell renotation. Color Research & Application. 37. 10.1002/col.20715.