2

When converting from XYZ (CIE 1931 color space) to L*a*b* (CIELAB) the formulas, that you'll find e.g. here https://en.wikipedia.org/wiki/CIELAB_color_space, specify you should divide by the XYZ values of the white point of the "reference illuminant" (of the lamp that illuminates the scene?).

The formula

My XYZ coordinate comes from an emissive source, so there's no illuminant of the scene. So I can understand this for when an illuminant is involved, because then the sum/integral for producing the XYZ values contains the illuminant. But I just can't find any other formulas than these ones, they all assume an illuminant.

2 Answers2

4

The reference illuminant is not the lamp that illuminates the scene. The reference illuminant is basically just the definition of white. While "pure black" is an unambiguous color (no intensity), "pure white" is not. E.g. if you look at the chromaticity diagram, there are infinitely many points near the middle you could call "white." Therefore, you have to pick one to be "white", and then you can construct the CIELAB space around that. That is, CIELAB is not a completely defined color space until you define what "white" you want to use. Different choices of "white" will give you different CIELAB coordinates. (Of course, as long as you keep track of the white point, the color can still be unambiguously converted back to XYZ.)

A very common definition of "white" is "Illuminant D65," or "statistically ideal European noontime sun," which has tristumulus coordinates (taken from the Wikipedia link) X = 95.047, Y = 100.00, Z = 108.883 for the standard 2º observer. Also according to Wikipedia, CIELAB is often implicitly understood to use Illuminant D50 as its white point. Turning the given xy coordinates back into XYZ coordinates (fixing Y = 100), I get X = 96.421, Y = 100, Z = 82.519. Pick either one, or even something else, to define your color space. If you're going to output a file or something with data in this color space, you should look into things like "embedded color profiles" for the relevant format, where you can store your choice of "white" for future programs to consume. If that's not possible, you should still document it somehow if it's going to be "user-facing."

HTNW
  • 27,182
  • 1
  • 32
  • 60
  • D50 is the reference white used in the printing/graphics arts industry. D65 is the standard CIE illuminant, used in nearly every other industry including paper and ink, LOL... and it's the white point for sRGB monitors. That said, if you are using a D50 light booth to view photos or proofs, you are hopefully using a real light that is close to D50, so that you are adapted to that white point when viewing. – Myndex Oct 13 '21 at 15:01
1

This is a complex topic. In short (and simplified): there is not a unique relation between spectrum of light and the colour we perceive. Our eyes and our brain have a colour adaptation. A white sheet of paper will be seen as white (after some minutes of adaptation), also if the light that enter in our eyes could have more bluish or more reddish light components. Note: but so also other lights (and so colour) could be perceived differently. On most common black-body illuminants, we tent to see (after adaptation) the same object as being in the same colour.

So on most colour spaces, we need to specify the white point (or the illuminant), in order to know how we see all other colours, and mostly we want to see white as white, and not as reddish, or bluish (and important: skin colour change a lot on different illuminants, and so images with wrong "white balances" are disturbing).

You didn't specify what emissive source you are using. If you are doing artwork, and so not choosing the main illuminant of a room, you should ask the museum what illuminant they use, it is pretty standard to use D50. Usually screens have D65 as standard illuminant (sRGB standard, but also HDTV, UHD, ecc.), so images are set with such white point, and so you should choose such white point. On movie theaters or other dark environment the content specify the white point. You may change slowly from D50 to D65 and nobody will notice the change. This is true also on screens: we watch the screen, so we adapt to the content, so it doesn't really matter what white point you selected, what it matter is what white point was selected on the content (again: web, TV use D65)

So you should discover what will be the white point (or the illuminant) and use it accordingly. Note: you are surelly already doing it, because your work also with standardized brightness: your emissive source will not emit a 100 [without unit] of light. [Together chromatic adaptation there is also the brightness adaptation]

Note: for your task illuminant and white point is the same concept. An illuminant defines a white point (and so the chromacities of white). In your formula you just use the chromacities of the white (2 numbers, or 3 if you include the brightnesse). When working with spectrum, one needs the entire spectral curve (defined by illuminant), and so white point data doesn't have all information.

Giacomo Catenazzi
  • 8,519
  • 2
  • 24
  • 32