article

Lab is the abbreviated name of two different color spaces. The best known is CIELab (strictly CIE 1976 L*a*b*) and the other is Hunter Lab (strictly, Hunter L, a, b). Lab is an informal abbreviation, and without further checking should not be assumed to be one or the other. The color spaces are related in intention and purpose, but are different.

Both spaces are derived from the "master" space CIE 1931 XYZ color space. However, CIELab is calculated using cube roots, and Hunter Lab is calculated using square rootsHunter L,a,b Versus CIE 1976 L*a*b* (PDF) Except where data must be compared with existing Hunter L,a,b values, it is recommended that CIELab be used for new applications

The intention of both spaces is to produce a color space that is more perceptually linear than other color spaces. Perceptually linear means that a change of the same amount in a color value should produce a change of about the same visual importance. When storing colors in limited precision values, this can improve the reproduction of tones. Both are also absolute color spaces, so they define colors exactly, unlike (for example) RGB or CMYK which do not exactly define color, only a mixing recipe for light or ink (respectively).

Which Lab?


Some specific uses of the abbreviation in software, literature etc.

  • In Adobe Photoshop, image editing using "Lab" is CIELab.
  • In ICC Profiles, the Lab color space used as a profile connection space is CIELab.
  • In TIFF files, the Lab color space is CIELab.
  • In PDF documents, the Lab color space is CIELab.

CIE 1976 L*, a*, b* Color Space (CIELAB)


CIE L*a*b* (CIELAB) is the most complete color model used conventionally to describe all the colors visible to the human eye. It was developed for this specific purpose by the International Commission on Illumination (Commission Internationale d'Eclairage, hence its CIE initialism). The * after L, a and b are part of the full name, since they represent L*, a* and b*, derived from L, a and b. CIELAB is an Adams Chromatic Value Space.

The three parameters in the model represent the lightness of the color (L*, L*=0 yields black and L*=100 indicates white), its position between magenta and green (a*, negative values indicate green while positive values indicate magenta) and its position between yellow and blue (b*, negative values indicate blue and positive values indicate yellow).

The Lab color model has been created to serve as a device independent, absolute model to be used as a reference. Therefore it is crucial to realize that the visual representations of the full gamut of colors in this model are never accurate. They are there just to help in understanding the concept, but they are inherently inaccurate.

Since the Lab model is a three dimensional model, it can only be represented properly in a three dimensional space. A useful feature of the model however is that the first parameter is extremely intuitive: changing its value is like changing the brightness setting in a TV set. Therefore only a few representations of some horizontal "slices" in the model are enough to conceptually visualize the whole gamut, assuming that the luminance would be represented on the vertical axis.

CIE 1976 L*a*b* is based directly on the CIE 1931 XYZ color space as an attempt to linearize the perceptibility of color differences, using the color difference metric described by the MacAdam ellipse. The non-linear relations for L*, a*, and b* are intended to mimic the logarithmic response of the eye. Coloring information is referred to the color of the white point of the system, subscript n.

RGB and CMYK conversions

Programmers and others often seek a formula for conversion between RGB or CMYK values and L*a*b*, not understanding that RGB and CMYK are not absolute color spaces and so have no precise relation to an absolute color space such as L*a*b*. To convert between RGB and L*a*b*, for example, it is necessary to determine or assume an absolute color space for the RGB data, such as sRGB or Adobe RGB. For each of these absolute spaces, there are standard techniques for converting to and from the XYZ absolute color space (see for example SRGB color space#Specification of the transformation) which can be combined with the above transformations to convert them to L*a*b*.

XYZ to CIE L*a*b* (CIELAB) and CIELAB to XYZ conversions

The forward transformation

L^* = 116\,f(Y/Y_n) - 16
a^* = 500\,- f(Y/Y_n)
b^* = 200\,- f(Z/Z_n)

where

f(t) = t^{1/3}\, for t > 0.008856\,
f(t) = 7.787\,t + 16/116 otherwise

Here X_n, Y_n and Z_n are the CIE XYZ tristimulus values of the reference white point.

The division of the f(t) function into two domains was done to prevent an infinite slope at t=0. f(t) was assumed to be linear below some t=t0, and was assumed to match the t1/3 part of the function at t0 in both value and slope. In other words:

{| t_0^{1/3}\, =\, a t_0 + b\, (match in value) 1/(3t_0^{2/3})\, =\, a\, (match in slope)

The value of b was chosen to be 16/116. The above two equations can be solved for a and t0:

{| a\, =\, 1/(3\delta^2)\, = 7.787037\cdots t_0\, =\, \delta^3\, = 0.008856\cdots

where \delta=6/29. Note that 16/116=2\delta/3

The reverse transformation

The reverse transformation is as follows (with \delta=6/29 as mentioned above):

  1. define f_y\equiv (L^*+16)/116
  2. define f_x\equiv f_y+a^*/500
  3. define f_z\equiv f_y-b^*/200
  4. if f_y > \delta\, then Y=Y_nf_y^3\,   else Y=(f_y-16/116)3\delta^2Y_n\,
  5. if f_x > \delta\, then X=X_nf_x^3\,   else X=(f_x-16/116)3\delta^2X_n\,
  6. if f_z > \delta\, then Z=Z_nf_z^3\,   else Z=(f_z-16/116)3\delta^2Z_n\,

XYZ to CIELUV & CIELUV to XYZ conversions

The forward transformation

CIE 1976 L*u*v* (CIELUV) is based directly on CIE XYZ and is another attempt to linearize the perceptibility of color differences. The non-linear relations for L*, u*, and v* are given below:

L^* = 116 (Y/Y_n)^{1/3} - 16\,
u^* = 13L^* ( u' - u_n' )\,
v^* = 13L^* ( v' - v_n' )\,

The quantities u_n' and v_n' refer to the reference white point or the light source. (For example, for the 2° observer and illuminant C, u_n' = 0.2009, v_n' = 0.4610.) Equations for u' and v' are given below:

u' = 4X / (X + 15Y + 3Z) = 4x / ( -2x + 12y + 3 )\,
v' = 9Y / (X + 15Y + 3Z) = 9y / ( -2x + 12y + 3 )\,.

The reverse transformation

The transformation from (u',v') to (x,y) is:

x = 27u' / ( 18u' - 48v' + 36 )\,
y = 12v' / ( 18u' - 48v' + 36 )\,.

The transformation from CIELUV to XYZ is performed as following:

u' = u / ( 13L^*) + u_n\,
v' = v / ( 13L^* ) + v_n\,
Y = (( L^* + 16 ) / 116 )^3\,
X = - 9Yu' / (( u' - 4 ) v' - u'v' )\,
Z = ( 9Y - 15v'Y - v'X ) / 3v'\,

Hunter Lab Color Space


L is a correlate of Lightness, and is computed from the Y tristimulus value using Priest's Approximation to Munsell Value:

L=100\sqrt{Y/Yn}

where Yn is the Y tristimulus value of a specified white object. For surface-color applications, the specified white object is usually (though not always) a hypothetical material with unit reflectance and which follows Lambert's law.. The result will be Ls scaled between 0 (black) and 100 (white); roughly 10 times Munsell value. Note, however, that a mid-range Lightness of 50 is produced not by a Y of 50, but rather of 25.

a and b are termed opponent color axes. a represents, roughly, Redness (positive) versus Greenness (negative), and is computed:

a=K_a\left(\frac{X/X_n-Y/Y_n}{\sqrt{Y/Y_n}}\right)

where K_a is a coefficient which depends upon the illuminant (for D65, Ka is 172.30; see approximate formula below) and Xn is the X tristimulus value of the specified white object.

The other opponent color axis, b, is positive for yellow colors and negative for blue colors. It is computed as:

b=K_b\left(\frac{Y/Yn-Z/Zn}{\sqrt{Y/Yn}}\right)

where K_b is a coefficient which depends upon the illuminant (for D65, K_b is 67.20; see approximate formula below) and Zn is the Z tristimulus value of the specified white object.

Lab Color Scale," Insight on Color, 8:9 (August 1-15, 1996). Reston, VA, USA: Hunter Associates Laboratories.

Both a and b will be zero for objects which have the same chromaticity coordinates as the specified white objects. Usually this is the case for neutrals.

Approximate Formulas for Ka and Kb

In the previous version of the Hunter Lab color space, K_a was 175 and K_b was 70. Apparently, Hunter Associates Lab discovered that better agreement could be obtained with other color difference metrics, such as CIELAB (see below) by allowing these coefficients to depend upon the illuminants. Approximate formulae are:

K_a\approx\frac{175}{198.04}(X_n+Y_n)

K_b\approx\frac{70}{218.11}(Y_n+Z_n)

which result in the original values for Illuminant C, the original illuminant with which the Lab color space was used.

The Hunter Lab Color Space as an Adams Chromatic Valance Space

Adams Chromatic Valance spaces are based on two elements: a (relatively) uniform lightness scale, and a (relatively) uniform chromaticity diagram. Q Adams, "X-Z planes in the 1931 I.C.I. system of colorimetry," JOSA, 32:3, p 168-173 (March, 1942). If we take as the uniform lightness scale Priest's approximation to the Munsell Value scale, which would be written in modern notation:

L=100\sqrt{Y/Yn}

and, as the uniform chromaticity coordinates:

c_a=\frac{X/Xn}{Y/Yn}-1=\frac{X/Xn-Y/Yn}{Y/Yn}

c_b=k_e\left(1-\frac{Z/Zn}{Y/Yn}\right)=k_e\frac{Y/Yn-Z/Zn}{Y/Yn}

where k_e is a tuning coefficient, we obtain the two chromatic axes:

a=K\cdot L\cdot c_a=K\cdot 100\sqrt{Y/Yn}\frac{X/Xn-Y/Yn}{Y/Yn}=K\cdot 100\frac{X/Xn-Y/Yn}{\sqrt{Y/Yn}}

and

b=K\cdot L\cdot c_b=K\cdot k_e\cdot 100\sqrt{Y/Yn}\frac{Y/Yn-Z/Zn}{Y/Yn}=K\cdot k_e\cdot 100\frac{Y/Yn-Z/Zn}{\sqrt{Y/Yn}}

which is identical to the Hunter Lab formulae given above if we select K=K_a/100 and k_e=K_b/K_a. Therefore, the Hunter Lab color space is an Adams Chromatic Valance space.

References


Color space | Color

Lab-Farbraum | CIE Lab | CIELAB | CIELab

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Lab color space".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld