Question about white balancing

Hi folks,
I had a conceptual question about white balancing and its impact on matrices such as rgb_cam and cam_xyz.

My understanding of white balancing is scaling the relative amounts of R, G and B depending upon the source illumination. There is a paper (cited by many sources) by Viggiano ( that states that best results are obtained when white balancing is done on the CFA data. Hence, we scale the CFA data using the multipliers.

My question is the following:

WBCT_Coeffs give white balance multipliers for different camera presets. This is true for CR2 files that I have examined. Each white balance multiplier corresponds to a specific illuminant (Daylight vs Cool vs Tungsten) as defined by the LightSource EXIF Tag. These are different from D65. So, how can we use the rgb_cam matrix or the cam_xyz matrix for color conversions without doing a white point adaptation because both these matrices assume a D65 white point?

Conceptually, I do not understand how scaling the CFA data using the white balance multipliers makes "white" appear as it would under the specific illumination but we can continue to use matrices that are derived against D65?

Maybe this is something trivial, but I am quite new to white balancing and so am not very clear about this.



Yes, (good) color profiles

Yes, (good) color profiles created for specific light source works better than generic (D65 or D50) ones.

-- Alex Tutubalin @LibRaw LLC


Does that mean that when I scale the CFA data using say Tungsten multipliers, the result can be treated as though it was taken against a D65 illuminant?

As for "color profiles for specific light source", are they better because these profiles map the camera space data to XYZ and incorporate the chroma adaptation to D65 in them?

I understand these are more conceptual questions, but I am unable to find good resources that answer them.