Tag Archives: CIELAB

Analysing CIELAB values

Imagine you have a standard (std) and a batch (btx) and you have the CIELAB values of each. How can you analyse these numbers, in particular, the differences? This post explains how to do it.

Let’s start with a real example.

Now what can we say about these two samples. Well, we can calculate the colour difference. If we want to calculate the CIELAB colour difference we can simply calculate the differences in each of the three dimensions, square them, add them and take the square root. Thus DL* = 2, Da* = 10, and Db* = 6. So the CIELAB colour difference is sqrt(4 + 100 + 36) = sqrt(140) = 11.8. This is quite large. Of course, we might prefer to use some other measure of colour difference such as CMC or CIEDE2000. But let’s stick with CIELAB.

The next thing is to look at the individual differences. Since a* is redness we might conclude that the btx is redder than the std (the btx has an a* of 36 whereas for the standard it is only 26). And since b* is yellowness we might conclude that the btx is yellower than the std (the btx has a b* of 9 whereas for the standard it is only 3). However, it is really confusing to look at the data this way. Perceptually, we might be interested in whether there is a chroma difference (is the batch weaker or stronger?) and whether there is a hue difference. Let’s plot these samples in the a*-b* plane of CIELAB.

As you can see, the btx has a larger a* value and a larger b* value than the std. However, we cannot deduce anything about hue or hue differences just by looking at a* or b* on their own. Hue is an angular term in CIELAB space.

As you can see from the above figure, the hue of the standard is 6.6 degrees and the hue of the btx is 14.0 degrees. The CIE method to calculate hue descriptors is to move radially from one sample to another and note which axes we cross. So if we start of with the btx we move clockwise towards the std; we keep going and we cross the red axis and then (if we keep going) we cross the blue axis. So we would conclude that the std is redder (bluer) than the btx. According to CIE guidelines, one of these descriptors makes sense and the other doesn’t.

In this case, I would say that the std is bluer than the btx. In hue terms it doesn’t really make sense to say that the std is redder than the btx when they look quite red anyway. And we would say that the btx is yellower (greener) than the std.

In terms of chroma we calculate the distance from the centre for each of the colours. As you can see from the diagrams, the batch is much further out from the centre than the std.

So, in conclusion, we would say that the btx is lighter, stronger and yellower than the std. The std is darker, weaker and bluer than the btx.

The point of this is to highlight that we cannot make decisions about hue and chroma by looking at just a* and b*. We need to look at both a* and b*. Better than trying to do this is to calculate the polar coordinates, hue and chroma. These are generally more helpful than the cartesian coordinates, a* and b*. In my experience, people have a reluctance to think in terms of polar coordinates and I think this is because they have much greater experience at school with cartesian coordinates. Everyone spends their schooldays looking at certesian plots of x vs. y don’t they? But getting to grips with polar coordinates in colour science will really pay off in the long run.

Notice that just because the batch has a larger a* value than the std, this does not make the batch redder. In fact, as can be seen from the first diagram, it is the std that is closer to the a* (red) axis than the btx, despite having a smaller a* value.