Convert non-linear Munsell Value V to linear Luminance Factor Y, and back again
YfromV( V, which='ASTM' )
VfromY( Y, which='ASTM' )
a numeric vector with elements in the interval [0,10]
a numeric vector with elements in the interval [0,100]
one of the strings in the first column of this table
reference | |
'ASTM' |
ASTM D-1535 (2008) |
'OSA' |
Newhall, et. al. (1943) |
'MgO' |
Newhall, et. al. (1943) |
'Munsell' |
Munsell, et. al. (1933) |
'Priest' |
Priest, et. al. (1920) |
Partial matching is enabled, and it is case insensitive.
a numeric vector the same length as the input
'Priest'
is the earliest (1920) transfer function in this package.
It is implemented as:
$$V = sqrt(Y) ~~~~~~and~~~~~~ Y = V^2 $$
One readily checks that when V=10, Y=100, and vice-versa.
This transfer function has been implemented in colorimeters,
using analog electric circuits.
It is used in Hunter Lab - the precursor of CIE Lab.
'Munsell'
is the next (1933) transfer function,
and was proposed by Munsell's son (Alexander Ector Orr Munsell) and co-workers.
It is implemented as:
$$V = sqrt( 1.474*Y - 0.00474*Y^2 )$$
$$Y = 50 * ( (1474 - sqrt(1474^2 - 4*4740*V^2)) / 474 )$$
One readily checks that when V=10, Y=100, and vice-versa.
The luminance factor Y is absolute,
AKA relative to the perfect reflecting diffuser.
'Priest'
and 'Munsell'
are included in this package
for historical interest only.
The remaining three define Y as a quintic polynomial in V.
The next one historically - 'MgO'
- is implemented as:
$$ Y = (((((8404*V - 210090)*V + 2395100)*V - 2311100)*V + 10000000)*V ) / 10000000$$
One readily checks that when V=10, Y=102.568.
This Y is larger than 100, because the authors decided to make Y relative
to a clean surface of MgO, instead of the perfect reflecting diffuser.
In their words:
It should be noted that the reflectances indicated are not absolute but relative to magnesium oxide; whereas the maximum at value 10/ was formerly 100 percent, it is now 102.57. Use of this relation facilitates results and also avoids the somewhat dubious conversion to absolute scale, by permitting Y determinations with a MgO standard to be converted directly to Munsell value.
Nowadays, the perfect reflecting diffuser is preferred over MgO.
For users who would like to modify this quintic as little as possible,
with the perfect reflecting diffuser in mind
(going back to 'MUNSELL'
),
I offer 'OSA'
, which is given by this quintic of my own design
$$Y = (((((8404*V - 210090)*V + 2395100)*V - 2311100)*V + 10000000)*V ) / 10256800$$
ASTM had a similar modification in mind,
but did it a little differently by scaling each coefficient.
'ASTM'
is given by this quintic:
$$Y = ( ((((81939*V - 2048400)*V + 23352000)*V - 22533000)*V + 119140000)*V ) / 1.e8 $$
One readily checks that when V=10, Y=100 exactly (for both 'OSA'
and 'ASTM'
).
The inverses - from Y to V - of all 3 quintics are implemented as
3 splinefun()
s at a large number (about 300) of points.
These inverses are both fast and accurate.
The round-trip Y V Y is accurate to 7 digits after the decimal.
The round-trip V Y V is accurate to 8 digits after the decimal.
Priest, I. G. Gibson, K. S. and McNicholas, H. J. An Examination of the Munsell Color System. I. Spectral and and Total Reflection and the Munsell Scale of Value. Technologic Papers of the Bureau of Standards, No. 167. pp. 1-33. Washington D.C. 1920.
Munsell, A. E. O., L. L. Sloan, and I. H. Godlove. Neutral Value Scales. I. Munsell Neutral Value Scale. Journal of the Optical Society of America. Vol. 23. Issue 11. pp. 394-411. November 1933.
Newhall, Sidney M., Dorothy Nickerson, Deane B. Judd. Final Report of the O.S.A. Subcommitte on the Spacing of the Munsell Colors. Journal of the Optical Society of America. Vol. 33. No. 7. pp. 385-418. July 1943.
ASTM D 1535-08. Standard Practice for Specifying Color by the Munsell System. 2008
MunsellToxyY()
,
xyYtoMunsell()
# NOT RUN {
VfromY( c(0,50,100) )
## [1] 0.00000 7.53772 10.00000
# }
Run the code above in your browser using DataLab