rebooting color balance

Color balance is a pivotal point of the color grading process, which for me is a very important part of visual language and expressivity, in fact much more important than sharpness or optical cleanliness.

The current darktable color balance is still sub-optimal to me, plus it is a remenant of the Lab pipeline, doing masking and blending in Lab while the guts of the module works in RGB.

After the 2 sprints to deliver releases this year (3.2 in August and 3.4 right now), I needed to indulge myself with a color organ allowing me to get exactly the colors I have in my mind while unleashing the power of clean and up-to-date color science.

This week, I developed a new, revised, color balance. I let you with the details and samples, along with the code to test it, on Github :

This is R&D code, so I need a lot of field testing. Thanks in advance and merry Christmas.

PS: I understand this module will be too complicated for most, but there is no other way around. Color is difficult and it’s the only way to achieve the colors I like: soft halftones, beautiful pastels and vibrant primaries, even with inconsistent lights and tricky illuminants.


Hello @aurelienpierre

Thanks a lot for ALL your contributions these past years!

PS: I understand this module will be too complicated for most, but there is no other way around.

I have cursory read your post on github - pull requests yesterday and it is not so simple to understand indeed (I am a poor plant pathologist guy who only takes macro pictures of my plant disease samples at work…) :slight_smile:

This being said, I am indeed grateful you have been releasing such marvellous state-of-the-art features, for everyone, to enjoy!

At present, given my background on Windows, it looks to me like Darktable migth become a “competitor” of softwares such as Capture one, in particular, since Capture one is intended for “power users” and it is justly famous for its “color-grading” tools.

In the past days, I have done a little donation to you through PayPal and I could have not spend my money better :slight_smile: :slight_smile:


Wow, this is really a major thing, I’ve just recently started reading a color science book and by that I am starting to understand the current colour balance module, but this beast seems to really do everything! I guess I still have a lot to learn :slight_smile:

Also thanks for the book recommendation in your github, I think I know what I will read next!

1 Like

Love the work done bringing these modules into the unbounded, linear rgb, scene referred workflow. This will be fun to play around with. Also like the accurate naming of things (‘chroma’ instead of ‘saturation’, where appropriate), and the addition of ‘tonal weight’.

I notice there is no ‘contrast’ or ‘fulcrum’ slider. Is that because those in the current color balance module are already optimal? Other reason?

Also, just a suggestion (I walk on eggshells), to avoid confusion with current color balance module, perhaps a different name? Color Toning? Something else? Just as new channel mixer is called color calibration instead of channel mixer rgb.

The contrast can be achieved through the tonal corrections or tone equalizer. The current color balance contrast was introduced before all that but has many flaws (non color-preserving and changes the white point that you are supposed to have fixed in filmic first).

I don’t know, but it is a color balance. I have found that trying to be clever with names does often the opposite of what is intended.


@aurelienpierre maybe simply call it “color balance pro”, nowadays everything is “pro” and in this case it would even make sense imho.

Another a big thank you for all your work from me , really appreciate it!
I digitized thousands of old slides by shooting them with my digital camera. filmic rgb made my day and saved incredibly much time. I even decided to re-do hundreds of RAWs that I already had worked through with the old basecurve workflow - in comparably no time.

I get weird colors on highlights when boosting saturation, but you must disable filmic, as extreme luminance saturation does its job and desaturates them: