LAB2XYZ
Name
LAB2XYZ
Purpose
This function returns the converted tristimulus values for a
provided CIE L*a*b* value assuming a particular illuminant,
namely
X = xr * Xr
Y = yr * Yr
Z = zr * Zr
where
xr = fx^3 for fx^3 > epsilon
xr = (116 * fx - 16) / kappa for fx^3 <= epsilon
yr = ((L + 16) / 116 ) / kappa for L > kappa * epsilon
yr = L / kappa for L <= kappa * epsilon
zr = fz^3 for fz^3 > epsilon
zr = (116 * fz - 16) / kappa for fz^3 <= epsilon
fx = (a / 500) + fy
fy = (L + 16) / 116
fz = fy - (b / 200)
epsilon = 0.008856
kappa = 903.3
and
Xr, Yr, Zr are the white reference for the specified illuminant
Category
Color Science.
Calling Sequence
Result = LAB2XYZ( Lab, ILLUMINANT=illuminant )
Inputs
Lab
A 3-element vector or 3xn array of CIE L*a*b* coordinates
Keyword Parameters
ILLUMINANT
An optional keyword to describe the illuminant that should
be used for the CIE L*a*b* to XYZ conversion
0 - D65 (Daylight) [DEFAULT]
1 - Illuminant A (Tungsten)
2 - Illuminant F2 (Cool White Fluorescent)
3 - Illuminant F11 (Narrow Band Fluorescent)
4 - Illuminant F7 (Daylight Fluorescent)
5 - Illuminant F8 (Daylight Fluorescent)
Return Value
Result is either a 3-element vector or a 3xn array that contains
the computed tristimulus values
Side Effects
None
Modification History
Written by: Carl Salvaggio
February, 2010 Original code
April, 2012 Corrected white reference scaling error
Disclaimer
This source code is provided "as is" and without warranties as to performance
or merchantability. The author and/or distributors of this source code may
have made statements about this source code. Any such statements do not
constitute warranties and shall not be relied on by the user in deciding
whether to use this source code.
This source code is provided without any express or implied warranties
whatsoever. Because of the diversity of conditions and hardware under which
this source code may be used, no warranty of fitness for a particular purpose
is offered. The user is advised to test the source code thoroughly before
relying on it. The user must assume the entire risk of using the source code.