Bradford transformation (color adaptation)


The sRGB and Adobe RGB standards use D65 for the white point. On the other hand, in the Lab system, D50 is often used as the reference illuminant (e.g., Lab of Photoshop). If the reference illuminants are different, color space conversion between RGB and Lab cannot be performed. Thus, appropriate white point conversion is required. Since the conversion of the white point is similar to the process in which the eye adapts to the color of the illuminant (auto white balance?), it is sometimes called color adaptation.

If the illuminant is different, the color of reflected light is also different. In principle, if you have a photo shot under the D65 illuminant and you want a same photo hot under the D50 illuminant, you should change the light and shoot a photo again. However, changing the light and taking another picture is not realistic. Alternatively, if the color change for various materials due to the difference in the illuminant can be approximated by calculation, it will be possible to reproduce an image under the different illuminant successfully.

There are several methods for color adaptation (or the white point conversion). Among them, the method proposed by Bradford is widely used (e.g., by Photoshop). This is because the Bradford transformation can reproduce color changes of various materials due to the illuminant with a good accuracy and it is also a simple linear transformation. The below describes how to obtain the Bradford transformation matrix (also see Lindbloom's Page).

Here, we use the XYZ space to describe colors. We will write the XYZ values of the source white point as (XS, YS, ZS), and the XYZ values of the destination white point after the conversion as (XD, YD, ZD). The purpose is to compute the Bradford transformation matrix M which satisfies:

(
XD )

( XS
)
YD = M YS
ZD
ZS

The given values are the coordinates of the source white point (XwS, YwS, ZwS) and those of the destination white point (XwD, YwD, ZwD).

The procedure by Bradford is as follows. First, we convert the source white point (XwS, YwS, ZwS) to the response values of cone cells (LS, MS, SS). Here L, M, and S mean long wavelength (red), medium wavelength (green), and short wavelength (blue), respectively. Similar relation holds between the destination white point (XwD, YwD, ZwD) and the eye response values (LD, MD, SD).

(
LS )

( XwS
)
MS = MA YwS
SS
ZwS

(
LD )

( XwD
)
MD = MA YwD
SD
ZwD

According to Bradford, the matrix MA for this transformation is given as in the table 1:

Table 1. XTZ to LMS transformation matrix by Bradford
MA MA-1
 0.8951000  0.2664000 -0.1614000
-0.7502000 1.7135000 0.0367000
0.0389000 -0.0685000 1.0296000
 0.9869929 -0.1470543  0.1599627
0.4323053 0.5183603 0.0492912
-0.0085287 0.0400428 0.9684867


Thus, if the response values of the cone cells (LS, MS, SS) and (LD, MD, SD) have been determined, the Bradford transformation matrix M can be given as follows:


( LD/LS 0 0 )
M  =  MA-1
0 MD/MS 0 MA

0 0 SD/SS

The equation implies that this transformation does not change the white point by adjusting the balance of XYZ values directly. Rather, the XYZ values are first converted to LMS values close to eye responses with MA, then the valance of the LSM values are adjusted, and the values are transformed back to XYZ values with the inverse matrix MA-1.

For example, if we calculate the Bradford transformation matrix using D65, i.e. (XwS, YwS, ZwS) = (0.950456, 1.0, 1.089058) as the source illuminant and D50, i.e. (XwD, YwD, ZwD) = (0.9642, 1.0, 0.8249) as the destination, we get the following matrix:

Table 2. D65 to D50 transformation matrix
M
 1.047886  0.022919 -0.050216
0.029582 0.990484 -0.017079
-0.009252 0.015073 0.751678


Photoshop uses the Bradford transformation when converting the color mode from RGB (with the white point D65) to Lab (with the white point D50).


Back
T. Fujiwara,  2011/12