New Primaries module

I’ve done a first review on this new module and the code is almost ready for integration. I’ve also tested it and it turns out to be easier (at least to me) than using the channel-mixer which is always intimidating :slight_smile:

I have some minor comments and I’d like to have a broader discussion about a possible better name for this module, something a bit less technical and more user oriented. If you have proposals do not hesitate to let a note on the PR.


If you mean sigmoid, I’d think it’s a bit late to rename it? Or if that’s what you meant, maybe tone mapping curve?
If you just meant the new part of sigmoid, called primaries, does it really need a better name? Almost all the items in it have to do with the primaries:

Quoting the PR:

The preset is intended as a “set-and-forget” one (at least that’s the way I’m using it), but it is neat to have the control available in the hidden section.

If most users are not to touch it, then the names can remain technical anyway.

But perhaps I misunderstood your question.

PS. I find it reassuring that even one of the core developers has problems with the channel-mixer. :wink:
I understand the basic maths, but then the ease with which Boris uses it, compared with my struggles, makes me feel stupid.


I think folks are conflating the primaries module I proposed as an alternative UX for channel mixing and the sigmoid PR. Those are very different beasts. The naming discussion relates to the new module, i.e. the former pull request.


Primaries would be great, a lot less of a brain twister than using the channel mixer!

1 Like

This new primaries module looks great; I think making adjustments more approachable than using the channel mixer would be highly beneficial. In this same vein, are there any plans to pick up work on the partially-written color equalizer module at some point? I know the user interface of primaries is a lot simpler, but maybe color equalizer is no longer needed if we have both color calibration and primaries?

imo “color equalizer” is redundant not because of “color calibration” but because of “color balance rgb” which does everything “color eq” does, but better
in other sw color eq like tools have their purpose because they do provide possibilities like e.g sampling colors from image or customizing hue/sat ranges or both… what “color equalizer” don’t provide

The problem for me with colour balance RGB is that some operations that are trivial with a curve based approach (like colour zones) take a lot time in masking. Think for example pushing red hues slightly one way and orange hues the other way. Most definitely can be done and with a lot of control just less convenient. I’d like to see the colour eq one day!

Looking forward to these primaries too.

1 Like

Yes color balance rgb is a very different beast to color equaliser. If you want to shift hues individually in color balance rgb you need multiple instances and masks. That gives you finer control with all the extra sliders, but doesn’t suit a quick workflow.

The new primaries module is also a different beast, as color equaliser lets you play with one hue individually, whereas anything channel mixing typically shifts multiple things at once. However it is much closer to the use case of color eq, especially if just making small adjustments.

If you just want to shift hue, the output of color zones is likely quite similar to color equaliser. Lightness and saturation would differ more.

1 Like

You talk a bit like it exists but I only saw a mockup of it by AP and he did not continue the work on it… or did I miss something?? Or are you referring to the notion of proposing such a module??

The PR does have code attached to it, though I don’t know how close to complete it was

This tool in PWP8 is very clever… basically imagine Boris marking his color samples as he did on the vectorscope and then just dragging them to the right spot… no channel slider needed. You can actually even protect colors by taking samples of those and locking them… so you can do quite a bit in a visual environment…
Transformations.pdf (132.5 KB)
Transformations2.pdf (196.5 KB)

1 Like

color equalizer is entirely different as it allows editing various things selectively based on hue. Channel mixing color calibration and the proposed primaries module are always global adjustments, i.e. they affect almost the whole image in some way.

This also looks more like a selective hue adjustment. Hard to say what is going on under the hood, but most likely it’s something else than channel mixing. :slight_smile:

1 Like

You wrote last year that you also used it. So yes, it exists, there are few improved versions too.

I have not used PWP8, but I would be surprised if it was that easy for actual images, where the boundaries of hues are not so clear.

All of these tools do more or less the following: map RGB to some colorspace, do a transformation, map back. The key part is the transformation: the mapping has to be at least continuous (in the mathematical sense), otherwise you get artifacts, yet selective, because you don’t want to affect all colors.

Darktable with parametric and drawn masks lets you build such a transformation in a very flexible way.

In fact, after experimenting with detailed color grading myself, I am warming to color calibration (as opposed to hue shift in color balance rgb). The reason for this is the following: if I have a mask that has a gradual boundary, a hue shift can easily introduce color artifacts when the new color gets mixed with the old one. Color balance rgb handles this much more robustly (technically, because the alpha mixing and the transformation take place in the same space).

There is no such module in either the stable or development (master branch) version of darktable or, to the best of my knowledge, its fork, Ansel.

Ap had a branch with an initial version but it was never merged so you had to do a custom build…

I used an experimental branch AP had started and I went back a few times and there was no work on it…if you have found some please inform or share the link

Ya I should have been more clear. This would be more an option for a color eq or color zones replacement tool

Why is this thread so off topic?

1 Like

Well, it no longer is. Thanks, @paperdigits!