Background
Calculations - light dose
Calculations - Fraction of initial colorant
Calculations - Fraction of initial colorant
Calculations - Reflectance to tristimulus values (CIEXYZ)
Calculations - CIEXYZ to sRGB for rendering colour swatches
Calculations - CIEXYZ to CIELAB for calculating colour difference
Calculations - Colour difference
References
CCI Light Damage Calculator 1 – Single Point Source Data
Background
The Light Damage Calculator estimates colour change with light exposure for a variety of common materials in heritage collections. In addition to providing descriptive information, the database contains a set of tristimulus colour values for each unexposed material (\( X_{o} \), \( Y_{o} \), \( Z_{o} \)), and pairs of sensitivity coeffients (\( K_{UV} \), \( K_{noUV} \)). These coefficients define the approximate rate of colour change with light dose when illuminanted by a light source with and without ultraviolet (UV) energy respectively. The values were derived from lightfastness ratings of materials, given in the literature as the dose causing a just noticeable difference (JND) in color. As a numerical measure, this is approximately equivalent to ΔE = 1.6 (ISO Grey Scale contrast #4)
The following text describes how the colour change is estimated from parameters in the database and a series of user-defined values.
Calculations
Light dose
Light dose is the product of illuminance (lux) and time (hours) to give lux hours (lxh). Due to the magnitude of these values in practice, units of Mega lux hours (Mlxh) are used in the Light Damage Calculator. The light dose contributions from flash photography and lighting are calculated separately from user inputs as:
\begin{equation} D_{lighting}=\frac{E\cdot h\cdot n\cdot t}{10^{6}} \end{equation} \begin{equation} D_{flash}=\frac{d\cdot F\cdot n\cdot t}{3.6\cdot10^{6}} \end{equation} where\( E \) - illuminance (lux)
\( h \) - exposure hours per day
\( n \) - exposure days per year
\( t \) - number of years
\( d \) - dose per flash (lux seconds)
\( F \) - flash frequency (flashes per day)
The two dose components are then summed to give the total future dose
\begin{equation} D_{f} = D_{lighting} + D_{flash} \end{equation}The prior dose is approximated as:
\begin{equation} D_{p}=\ln\left ( c_{p} \right )K \end{equation} where\( c_{p} \) - prior fade fraction
\( K \) - sensitivity coefficient
Values of \( D_{p} \) are calculated separately for \( K_{UV} \) and \( K_{noUV} \) with the user input of prior fade fraction, \( c_{p} \).
Fraction of initial colorant
The colorimetric equations in the remaining sections (RGB, and CIE colour space, and ΔE) are all dependent on the fraction of initial colorant remaining after light exposure:
\begin{equation} c_{t}=c_{p}\exp\left ( -K \cdot D_{f} \right ) \end{equation}Reflectance of the faded colorant
The following equations first transform the tristimulus values of the colorant (X, Y, Z) into the corresponding reflectance value. Then the Kubelka-Munk equation relating reflectance to colorant concentration is solved, using the solution for the positive root of the quadratic equation:
\begin{equation} R_{x}=\frac{-B_{x}- \sqrt{B_{x}^{2}-4}}{2} \end{equation} \begin{equation} R_{y}=\frac{-B_{y}- \sqrt{B_{y}^{2}-4}}{2} \end{equation} \begin{equation} R_{z}=\frac{-B_{z}- \sqrt{B_{z}^{2}-4}}{2} \end{equation}Several helper variables are used for calculating \( R_{x} \) as \begin{equation} R_{ox}=\frac{X_{o}}{X_{ref}} \end{equation} \begin{equation} K_{1x}=c_{t}\frac{\left ( 1-R_{ox} \right )^{2}}{2R_{ox}} \end{equation} \begin{equation} B_{x}=-2\left ( 1+K_{1x} \right ) \end{equation} , and similarly for \( R_{y} \) \begin{equation} R_{oy}=\frac{Y_{o}}{Y_{ref}} \end{equation} \begin{equation} K_{1y}=c_{t}\frac{\left ( 1-R_{oy} \right )^{2}}{2R_{oy}} \end{equation} \begin{equation} B_{y}=-2\left ( 1+K_{1y} \right ) \end{equation} and \( R_{z} \) \begin{equation} R_{oz}=\frac{Z_{o}}{Z_{ref}} \end{equation} \begin{equation} K_{1z}=c_{t}\frac{\left ( 1-R_{oz} \right )^{2}}{2R_{oz}} \end{equation} \begin{equation} B_{z}=-2\left ( 1+K_{1z} \right ) \end{equation}
In the above equations, values of \( X_{ref} \), \( Y_{ref} \), \( Z_{ref} \) are tristimulus values of the reference white illuminant. The Light Damage Calculator uses values for CIE D65/2° viewing conditions, giving:
\begin{equation} X_{ref}=95.047 \end{equation} \begin{equation} Y_{ref}=100 \end{equation} \begin{equation} Z_{ref}=108.883 \end{equation}Reflectance to tristimulus values (CIEXYZ)
The calculated reflectance values for the faded colorant are converted back to tristimulus values using the reference white as:
\begin{equation} X = R_{x} \cdot X_{ref} \end{equation} \begin{equation} Y = R_{y} \cdot Y_{ref} \end{equation} \begin{equation} Z = R_{z} \cdot Z_{ref} \end{equation}These are calculated for the following conditions:
- Current (based on prior exposure selection)
- Future, with UV (using \( K_{UV} \))
- Future, no UV (using \( K_{noUV} \))
In the following sections, these colours are transformed to sRGB for rendering swatches, and CIELAB values for calculating colour difference.
CIEXYZ to sRGB for rendering colour swatches
To render colour patches on the computer screen, the tristimulus values are transformed to sRGB values for a typical monitor. Prior to conversion, the XYZ values are scaled as:
\begin{equation} X_{n} = X / 100 \end{equation} \begin{equation} Y_{n} = Y / 100 \end{equation} \begin{equation} Z_{n} = Z / 100 \end{equation}The normalised values are then transformed by the following matrix operation:
\begin{equation} \begin{bmatrix}r \\g \\b\end{bmatrix}= \begin{bmatrix}3.2404542&-1.5371385&-0.4985314\\-0.9692660&1.8760108&0.0415560\\0.0556434&-0.2040259&1.0572252\\\end{bmatrix}\begin{bmatrix}X_{n} \\Y_{n} \\Z_{n}\end{bmatrix} \end{equation}Applying gamma correction gives the final sRGB values on a 0-255 scale:
\begin{equation} R_{s}=\begin{cases}255\left(12.92r\right) & \text{ if } r\leqslant 0.0031308 \\255\left(1.055r^{1/2.4}\right)& \text{ otherwise } \end{cases} \end{equation} \begin{equation} G_{s}=\begin{cases}255\left(12.92g\right) & \text{ if } g\leqslant 0.0031308 \\255\left(1.055g^{1/2.4}\right)& \text{ otherwise } \end{cases} \end{equation} \begin{equation} B_{s}=\begin{cases}255\left(12.92b\right) & \text{ if } b\leqslant 0.0031308 \\255\left(1.055b^{1/2.4}\right)& \text{ otherwise } \end{cases} \end{equation}CIEXYZ to CIELAB for calculating colour difference
The calculation of colour difference, ΔE, requires transformation of tristimulus values to CIELAB colour space. This is performed with the following set of functions:
\begin{equation} L=116f_{y}-16 \end{equation} \begin{equation} a=500\left ( f_{x}-f_{y} \right ) \end{equation} \begin{equation} b=200\left ( f_{y}-f_{z} \right ) \end{equation} where \begin{equation} f_{x}=\begin{cases}\sqrt[3]{x_{r}}& \text{ if } x_{r}> \epsilon \\\frac{\kappa x_{r}+16}{116}& \text{ otherwise }\end{cases} \end{equation} \begin{equation} f_{y}=\begin{cases}\sqrt[3]{y_{r}}& \text{ if } y_{r}> \epsilon \\\frac{\kappa y_{r}+16}{116}& \text{ otherwise }\end{cases} \end{equation} \begin{equation} f_{z}=\begin{cases}\sqrt[3]{z_{r}}& \text{ if } z_{r}> \epsilon \\\frac{\kappa z_{r}+16}{116}& \text{ otherwise }\end{cases} \end{equation} and \begin{equation} x_{r}=\frac{X}{X_{ref}} \end{equation} \begin{equation} y_{r}=\frac{Y}{Y_{ref}} \end{equation} \begin{equation} z_{r}=\frac{Z}{Z_{ref}} \end{equation} \begin{equation} \epsilon = 216/24389 \end{equation} \begin{equation} \kappa = 24389/27 \end{equation}Colour difference
Colour difference is calculated between two pairs of conditions: original→current, and current→future. The CIELAB, \( \Delta E_{76} \), equation is used:
\begin{equation} \Delta E_{76}=\sqrt{\left ( L_{2}-L_{1} \right )^{2}+\left ( a_{2}-a_{1} \right )^{2}+\left ( b_{2}-b_{1} \right )^{2}} \end{equation}
where (\( L_{1} \),\( a_{1} \),\( b_{1} \)) is the reference colour and (\( L_{2} \),\( a_{2} \),\( b_{2} \)) is the comparison.