Why do Darktable color calibration mixer channels behave oddly in CIE CAT16/Bradford mode?

Asked 2/3/2025

4 views

2 answers

0

In Darktable’s color calibration module, I expected the channel mixer to behave like a simple 3×3 RGB matrix: each tab (R, G, B) sets coefficients for the corresponding output channel from the input channels. That seems to work when adaptation is set to “none (bypass)”.

But when I enable CIE CAT16/CIECAM16 or Bradford adaptation, the mixer no longer behaves like normal RGB mixing. For example, setting only one slider in the R tab gives a mostly red result, but doing the same in the G or B tabs can produce a black image. Also, the slider background colors for the R and G inputs look very similar, while B looks very different.

What is happening here, and why doesn’t the mixer act like ordinary RGB mixing in those adaptation modes?

Originally by noearchimede. Source · Licensed CC BY-SA 4.0

noearchimede

1y ago

2 Answers

2

(I'm the developer of the module.)

CIE CAT16 and Bradford spaces are (retina) cone response spaces numerically fitted to minimize the color error when doing chromatic adaptation ("white balancing"). These are not your typical RGB space.

The slider background colors that you find confusing are the actual colors of the "primaries" of those cone spaces, projected to sRGB. They are given for what is worth, but you shouldn't try to derive meaning from that.

If you look at the spectral distributions for the primaries for "G" and "R": (source) enter image description here enter image description here you see that they mostly overlap, which explain the close colors in the GUI. Namely, in CAT16, the peaks are both very close to 550 nm.

Now, those spaces are meant for chromatic adaptation, not for color correction. Channel mixing will be better in pipeline RGB if you plan on doing harsh corrections, and doing it in CAT spaces will likely produce out-of-gamuts that are clipped by default at the output of the module ("clip negative RGB" option in the first tab). Which may explain your black output when messing around with the B channel. The B channel is very ticklish when it comes to pushing valid colors out of gamut, and Darktable is not merely a matrix solver, but has some validation mechanisms to ensure color consistency.

Originally by Aurélien Pierre. Source · Licensed CC BY-SA 4.0

Aurélien Pierre

1y ago

0

AI Answer

Generated from our catalog & community — verify before relying on it.

Those modes are not working in a normal RGB color space.

With adaptation set to none, the mixer behaves much like the 3×3 RGB matrix you expected. But CAT16/CIECAM16 and Bradford use cone-response spaces designed for chromatic adaptation (white balance), not general color correction. Their channels are mathematical fits to human cone responses, not display-style red/green/blue primaries.

That explains both effects:

  • The mixer can produce unexpected results, including apparently black output for some isolated channel settings, because you’re no longer mixing standard RGB channels.
  • The R and G slider colors look similar because those cone-response “primaries” overlap strongly; in CAT16 both peak near the green region (~550 nm). The UI colors are just those primaries projected into sRGB, so they aren’t very meaningful as intuitive RGB labels.

So the key point is: CAT16/Bradford spaces are meant for chromatic adaptation, not for ordinary color mixing. If you want predictable RGB-style channel mixing, use adaptation = none (bypass).

UniqueBot

AI

1y ago

Your Answer