# LMS color space

LMS (long, medium, short), is a color space which represents the response of the three types of cones of the human eye, named for their responsivity (sensitivity) peaks at long, medium, and short wavelengths.
The numerical range is generally not specified, except that the lower end is generally bounded by zero. It is common to use the LMS color space when performing chromatic adaptation (estimating the appearance of a sample under a different illuminant). It is also useful in the study of color blindness, when one or more cone types are defective.

## Definition

The cone response functions ${\bar {l}}(\lambda ),{\bar {m}}(\lambda ),{\bar {s}}(\lambda )$ are the color matching functions for the LMS color space. The chromaticity coordinates (L, M, S) for a spectral distribution $J(\lambda )$ are defined as:
    $L=\int _{0}^{\infty }J(\lambda ){\bar {l}}(\lambda )d\lambda$
    $M=\int _{0}^{\infty }J(\lambda ){\bar {m}}(\lambda )d\lambda$
    $S=\int _{0}^{\infty }J(\lambda ){\bar {s}}(\lambda )d\lambda$
The cone response functions are normalized to have their maxima equal to unity.

## XYZ to LMS

Typically, colors to be adapted chromatically will be specified in a color space other than LMS (e.g. sRGB). The chromatic adaptation matrix in the diagonal von Kries transform method, however, operates on tristimulus values in the LMS color space. Since colors in most colorspaces can be transformed to the XYZ color space, only one additional transformation matrix is required for any color space to be adapted chromatically: to transform colors from the XYZ color space to the LMS color space.
In addition, many color adaption methods, or color appearance models (CAMs), run a von Kries-style diagonal matrix transform in a slightly modified, LMS-like, space instead. They may refer to it simply as LMS, as RGB, or as ργβ. The following text uses the "RGB" naming, but do note that the resulting space has nothing to do with the additive color model called RGB.
The chromatic adaptation transform (CAT) matrices for some CAMs in terms of CIEXYZ coordinates are presented here. The matrices, in conjunction with the XYZ data defined for the standard observer, implicitly define a "cone" response for each cell type.
Notes:
* All tristimulus values are normally calculated using the CIE 1931 2° standard colorimetric observer.
* Unless specified otherwise, the CAT matrices are normalized (the elements in a row add up to 1) so the tristimulus values for an equal-energy illuminant (X=Y=Z), like CIE Illuminant E, produce equal LMS values.

### Hunt, RLAB

The Hunt and RLAB color appearance models use the Hunt–Pointer–Estevez transformation matrix (M$_{HPE}$) for conversion from CIE XYZ to LMS. This is the transformation matrix which was originally used in conjunction with the von Kries transform method, and is therefore also called von Kries transformation matrix (M$_{vonKries}$).
* Equal-energy illuminants: ${\begin{bmatrix}L\\M\\S\end{bmatrix}}_{\text{E}}=\left[{\begin{array}{lll}{\phantom {-}}0.38971&{\phantom {-}}0.68898&-0.07868\\-0.22981&{\phantom {-}}1.18340&{\phantom {-}}0.04641\\{\phantom {-}}0&{\phantom {-}}0&{\phantom {-}}1\end{array}}\right]{\begin{bmatrix}X\\Y\\Z\end{bmatrix}}$
* Normalized to D65: ${\begin{bmatrix}L\\M\\S\end{bmatrix}}_{\text{D65}}=\left[{\begin{array}{lll}{\phantom {-}}0.4002&{\phantom {-}}0.7076&-0.0808\\-0.2263&{\phantom {-}}1.1653&{\phantom {-}}0.0457\\{\phantom {-}}0&{\phantom {-}}0&{\phantom {-}}0.9182\end{array}}\right]{\begin{bmatrix}X\\Y\\Z\end{bmatrix}}$

### Bradford's spectrally sharpened matrix (LLAB, CIECAM97s)

The original CIECAM97s color appearance model uses the Bradford transformation matrix (M$_{BFD}$) (as does the LLAB color appearance model). This is a “spectrally sharpened” transformation matrix (i.e. the L and M cone response curves are narrower and more distinct from each other). The Bradford transformation matrix was supposed to work in conjunction with a modified von Kries transform method which introduced a small non-linearity in the S (blue) channel. However, outside of CIECAM97s and LLAB this is often neglected and the Bradford transformation matrix is used in conjunction with the linear von Kries transform method, explicitly so in ICC profiles. ${\begin{bmatrix}R\\G\\B\end{bmatrix}}_{\text{BFD}}=\left[{\begin{array}{lll}{\phantom {-}}0.8951&{\phantom {-}}0.2664&-0.1614\\-0.7502&{\phantom {-}}1.7135&{\phantom {-}}0.0367\\{\phantom {-}}0.0389&-0.0685&{\phantom {-}}1.0296\end{array}}\right]{\begin{bmatrix}X\\Y\\Z\end{bmatrix}}$
A "spectrally sharpened" matrix is believed to improve chromatic adaptation especially for blue colors, but does not work as a real cone-describing LMS space for later human vision processing. Although the outputs are called "LMS" in the original LLAB incarnation, CIECAM97s uses a different "RGB" name to highlight that this space does not really reflect cone cells; hence the different names here.
LLAB proceeds by taking the post-adaptation XYZ values and performing a CIELAB-like treatment to get the visual correlates. On the other hand, CIECAM97s takes the post-adaptation XYZ value back into the Hunt LMS space, and works from there to model the vision system's calculation of color properties.

### Later CIECAMs

A revised version of CIECAM97s switches back to a linear transform method and introduces a corresponding transformation matrix (M$_{CAT97s}$): ${\begin{bmatrix}R\\G\\B\end{bmatrix}}_{\text{97}}=\left[{\begin{array}{lll}{\phantom {-}}0.8562&{\phantom {-}}0.3372&-0.1934\\-0.8360&{\phantom {-}}1.8327&{\phantom {-}}0.0033\\{\phantom {-}}0.0357&-0.0469&{\phantom {-}}1.0112\end{array}}\right]{\begin{bmatrix}X\\Y\\Z\end{bmatrix}}$
The sharpened transformation matrix in CIECAM02 (M$_{CAT02}$) is: ${\begin{bmatrix}R\\G\\B\end{bmatrix}}_{\text{02}}=\left[{\begin{array}{lll}{\phantom {-}}0.7328&{\phantom {-}}0.4296&-0.1624\\-0.7036&{\phantom {-}}1.6975&{\phantom {-}}0.0061\\{\phantom {-}}0.0030&{\phantom {-}}0.0136&{\phantom {-}}0.9834\end{array}}\right]{\begin{bmatrix}X\\Y\\Z\end{bmatrix}}$
CAM16 uses a different matrix: ${\begin{bmatrix}R\\G\\B\end{bmatrix}}_{\text{16}}=\left[{\begin{array}{lll}{\phantom {-}}0.401288&{\phantom {-}}0.650173&-0.051461\\-0.250268&{\phantom {-}}1.204414&{\phantom {-}}0.045854\\-0.002079&{\phantom {-}}0.048952&{\phantom {-}}0.953127\end{array}}\right]{\begin{bmatrix}X\\Y\\Z\end{bmatrix}}$
As in CIECAM97s, after adaptation, the colors are converted to the traditional Hunt–Pointer–Estévez LMS for final prediction of visual results.

## Stockman & Sharpe (2000) physiological CMFs

From a physiological point of view, the LMS color space describes a more fundamental level of human visual response, so it makes more sense to define the physiopsychological XYZ by LMS, rather than the other way around.
A set of physiologically-based LMS functions were proposed by Stockman & Sharpe in 2000. The functions have been published in a technical report by the CIE in 2006 (CIE 170). The functions are derived from Stiles and Burch RGB CMF data, combined with newer measurements about the contribution of each cone in the RGB functions. To adjust from the 10° data to 2°, assumptions about photopigment density difference and data about the absorption of light by pigment in the lens and the macula lutea are used.
The Stockman & Sharpe functions can then be turned into a set of three color-matching functions similar to the CIE 1931 functions.
Let ${\mathcal {P}}_{i}(\lambda )=({\bar {l}}(\lambda ),{\bar {m}}(\lambda ),{\bar {s}}(\lambda ))$ be the three cone response functions, and let ${\mathcal {Q}}_{i}(\lambda )=({\bar {x}}_{\text{F}}(\lambda ),{\bar {y}}_{\text{F}}(\lambda ),{\bar {z}}_{\text{F}}(\lambda ))$ be the new XYZ color matching functions. Then, by definition, the new XYZ color matching functions are:
    ${\mathcal {Q}}_{i}(\lambda )=\sum _{j=1}^{3}T_{ij}{\mathcal {P}}_{j}(\lambda )$
where the transformation matrix $T_{ij}$ is defined as: $T_{ij}=\left[\,{\begin{array}{lll}1.94735469&-1.41445123&{\phantom {-}}0.36476327\\0.68990272&{\phantom {-}}0.34832189&{\phantom {-}}0\\0&{\phantom {-}}0&{\phantom {-}}1.93485343\end{array}}\right]$
   ${\bar {y}}_{\text{F}}(\lambda )$
   ${\bar {z}}_{\text{F}}(\lambda )$
   ${\bar {s}}(\lambda )$
   ${\bar {y}}_{\text{F}}(\lambda )$
   ${\bar {x}}_{\text{F}}(\lambda )$
   * Like the other CMFs, the values of ${\bar {x}}_{\text{F}}(\lambda )$ are all positive.
   * The integral of ${\bar {x}}_{\text{F}}(\lambda )$ is identical to the integrals for ${\bar {y}}_{\text{F}}(\lambda )$ and ${\bar {z}}_{\text{F}}(\lambda )$.
   * The coefficients of the transformation that yields ${\bar {x}}_{\text{F}}(\lambda )$ are optimized to minimize the Euclidean differences between the resulting ${\bar {x}}_{\text{F}}(\lambda )$, ${\bar {y}}_{\text{F}}(\lambda )$ and ${\bar {z}}_{\text{F}}(\lambda )$ color matching functions and the CIE 1931 ${\bar {x}}(\lambda )$, ${\bar {y}}(\lambda )$ and ${\bar {z}}(\lambda )$ color matching functions. — CVRL description for 'CIE (2012) 2-deg XYZ "physiologically-relevant" colour matching functions'
For any spectral distribution $J(\lambda )$, let $P_{i}=(L,M,S)$ be the LMS chromaticity coordinates for $J(\lambda )$, and let $Q_{i}=(X,Y,Z)_{\text{F}}$ be the corresponding new XYZ chromaticity coordinates. Then:
    $Q_{i}=\int _{0}^{\infty }J(\lambda ){\mathcal {Q}}_{i}(\lambda )d\lambda =\int _{0}^{\infty }J(\lambda )\sum _{j=1}^{3}T_{ij}{\mathcal {P}}_{j}(\lambda )d\lambda =\sum _{j=1}^{3}T_{ij}P_{j}$
or, explicitly: ${\begin{bmatrix}X\\Y\\Z\end{bmatrix}}_{\text{F}}=\left[\,{\begin{array}{lll}1.94735469&-1.41445123&{\phantom {-}}0.36476327\\0.68990272&{\phantom {-}}0.34832189&{\phantom {-}}0\\0&{\phantom {-}}0&{\phantom {-}}1.93485343\end{array}}\right]{\begin{bmatrix}L\\M\\S\end{bmatrix}}$
The inverse matrix is shown here for comparison with the ones for traditional XYZ: ${\begin{bmatrix}L\\M\\S\end{bmatrix}}=\left[{\begin{array}{lll}{\phantom {-}}0.210576&{\phantom {-}}0.855098&-0.0396983\\-0.417076&{\phantom {-}}1.177260&{\phantom {-}}0.0786283\\{\phantom {-}}0&{\phantom {-}}0&{\phantom {-}}0.5168350\\\end{array}}\right]{\begin{bmatrix}X\\Y\\Z\end{bmatrix}}_{\text{F}}$
The above development has the advantage of basing the new X$_F$Y$_F$Z$_F$ color matching functions on the physiologically-based LMS cone response functions. In addition, it offers a one-to-one relationship between the LMS chromaticity coordinates and the new X$_F$Y$_F$Z$_F$ chromaticity coordinates, which was not the case for the CIE 1931 color matching functions. The transformation for a particular color between LMS and the CIE 1931 XYZ space is not unique. It rather depends highly on the particular form of the spectral distribution $J(\lambda )$ ) producing the given color. There is no fixed 3x3 matrix which will transform between the CIE 1931 XYZ coordinates and the LMS coordinates, even for a particular color, much less the entire gamut of colors. Any such transformation will be an approximation at best, generally requiring certain assumptions about the spectral distributions producing the color. For example, if the spectral distributions are constrained to be the result of mixing three monochromatic sources, (as was done in the measurement of the CIE 1931 and the Stiles and Burch color matching functions), then there will be a one-to-one relationship between the LMS and CIE 1931 XYZ coordinates of a particular color.
As of Nov 28, 2023, CIE 170-2 CMFs are proposals that have yet to be ratified by the full TC 1-36 committee or by the CIE.

## Quantal CMF

For theoretical purposes, it is often convenient to characterize radiation in terms of photons rather than energy. The energy E of a photon is given by the Planck relation
    $E=h\nu =hc/\lambda$
where E is the energy per photon, h is the Planck constant, c is the speed of light, ν is the frequency of the radiation and λ is the wavelength. A spectral radiative quantity in terms of energy, JE(λ), is converted to its quantal form JQ(λ) by dividing by the energy per photon:
    $JQ(\lambda )=JE(\lambda )(\lambda /hc)$
For example, if JE(λ) is spectral radiance with the unit W/m$^2$/sr/m, then the quantal equivalent JQ(λ) characterizes that radiation with the unit photons/s/m$^2$/sr/m.
If CE$_{λi}$(λ) (i=1,2,3) are the three energy-based color matching functions for a particular color space (LMS color space for the purposes of this article), then the tristimulus values may be expressed in terms of the quantal radiative quantity by:
    $CE_{i}=\int _{0}^{\infty }JE(\lambda )CE_{\lambda i}(\lambda )d\lambda =\int _{0}^{\infty }JQ(\lambda )(hc/\lambda )CE_{\lambda i}(\lambda )d\lambda$
Define the quantal color matching functions:
    $CQ_{\lambda i}(\lambda )=(CE_{\lambda i}(\lambda )/\lambda )/(CE_{\lambda i}(\lambda _{i\,{\text{max}}})/\lambda _{i\,{\text{max}}})$
where λ$_{imax}$ is the wavelength at which CE$_{λi}$(λ)/λ is maximized. Define the quantal tristimulus values:
    $CQ_{i}=\int _{0}^{\infty }JQ(\lambda )CQ_{\lambda i}(\lambda )d\lambda$
Note that, as with the energy based functions, the peak value of CQ$_{λi}$(λ) will be equal to unity. Using the above equation for the energy tristimulus values CE$_i$
    $CE_{i}=(hc/\lambda _{i\,max})\,CE_{\lambda i}(\lambda _{i\,max})\,CQ_{i}$
For the LMS color space, $\lambda _{i\,{\text{max}}}$ ≈ {566, 541, 441} nm and
    $CE_{i}/CQ_{i}=\{3.49694,3.1253,0.144944\}\times 10^{-19}$ J/photon

## Applications
### Color blindness

The LMS color space can be used to emulate the way color-blind people see color. An early emulation of dichromats were produced by Brettel et al. 1997 and was rated favorably by actual patients. An example of a state-of-the-art method is Machado et al. 2009.
A related application is making color filters for color-blind people to more easily notice differences in color, a process known as daltonization.

### Image processing

JPEG XL uses an XYB color space derived from LMS. Its transform matrix is shown here: ${\begin{bmatrix}X\\Y\\B\end{bmatrix}}={\begin{bmatrix}1&-1&{\phantom {-}}0\\1&{\phantom {-}}1&{\phantom {-}}0\\0&{\phantom {-}}0&{\phantom {-}}1\end{bmatrix}}{\begin{bmatrix}L\\M\\S\end{bmatrix}}$
This can be interpreted as a hybrid color theory where L and M are opponents but S is handled in a trichromatic way, justified by the lower spatial density of S cones. In practical terms, this allows for using less data for storing blue signals without losing much perceived quality.
The colorspace originates from Guetzli's butteraugli metric, and was passed down to JPEG XL via Google's Pik project.