Color Equalizer Bug?

Hi,
I created a simple RGB image and opened it in ART:

If I select the green and start pulling it down, towards the orange, it gets orange. The equalizer shows it should be kind of yellowish green:

I pull it further it reaches a pale red color, though the equalizer shows it shouldn’t even have reached the orange:

Further pulling it down it suddenly jumps to a pinkish color, so basically a color to the left of red without ever reaching red.

If I do the same on a color gradient:

It start pulling the green towards the orange, though I can see something greenish between the actual orange and the pulled green:

Pulling it further it reaches the pale red again, showing a clear green band between the pulled green band and the orange. Furthermore the transition on the right hand side of the pulled band on this image an the last one shows almost no green anymore:

Finally we reach pink again and it seems that it changes the band being pulled while not creating a smooth transition to the adjacent bands. This differs from what the equalizer implies with the spline curves connecting the points.

(PS: The LAB HH control and the HSV Equalizer show the same green band to the left of the band being pulled)

I hope I explained preperly what I think is faulty, if not just ask away.
Cheers

Hi,
thanks for the report. The colors in the GUI are known not to be accurate, especially as you move the points towards the extremes. That said, however, there shouldn’t be hue discontinuities, so that is probably a bug. I will investigate.

1 Like

Hi,
I checked and it seems to work as designed – so it’s probably the design that you don’t like :slight_smile:
The tool is meant to be used for small tweaks, not for dramatic changes. As such, the scales are non-linear and much more fine-grained around the neutral point. The downside is that the closer you get to the extremes, the harder it is to perform fine adjustments. I guess you see hue jumps just because the resolution of the GUI is too limited for a finer grain control at the extremes…
If you need to do such drastic changes, the color correction module is the way to go, fwiw.

Best

1 Like

I understand that it is not that fine at the extremes and thus hard to set exactly. But what I find more distracting is that, as is shown in the last picture, there is a green band between what is the orange and what is the green pulled into the reds. This doesn’t make sense to me because even the way from red to orange doesn’t pass the greens, if we are thinking in hues. That just seems strange to me.

I understand from the behaviour that the tool is basically selecting a band around the green, which I have picked, and shifting the whole band, while leaving the rest untouched. Then it adds a transition at the bands edge to make it smooth.
My intuition would be that, if I pull the green band into the reds, which is basically behind the orange as seen from the green, then all the points between the “new red” and the orange should have hues that lie between these colors.

Here’s another example that explains what I mean:

Here I have pulled the green (right color picker) to a hue (LCH-hue) of 60 same as the orange (left color picker). in between these two points it the hue reaches values of 80 and also values below 60.

Besides this beahaviour is also visible in RT.

Anyway thanks for looking into it. And thanks for the great software.

Ok, I’ll take another look :+1:

Btw, can you share the gradient pics (so that I don’t have to recreate them :-)?

Sure, here it is:

Thanks for the picture. Again, everything is working as expected. The only thing that might be a bit confusing is that the hue scale in the GUI doesn’t necessarily correspond 100% to the hues in the image, because the gradient in the GUI is not color managed, it’s just sRGB values displayed directly. So it’s a sort of visual indicator of the hue range, but it’s approximated.
What the curve does is modify the hues as a function of how far the point is from the middle of the plot. This can create discontinuities in smooth gradients, in cases in which the curve (like in your picture) is saying "pull down the greens, but do not touch the oranges – or touch them only lightly (again because the operation is non-linear, so moving a point from 0 to 0.5 is not half the effect of moving it to 1.0, it’s much less…).
I can try to find a different formula that tries to ensure a smoother transition, but I’ll have to think about it… In the meantime, the color correction module works better for this kind of changes:

Thanks for your effort and the explanation.
Could you point me to the code, where the formula is?
I could also think about the formula.

rtengine/iphsl.cc. fwiw, the colour zones tool of darktable shows similar behaviour. And I don’t see a big problem with this, in practice the tool works as intended for its use case

Thanks,

no it is no big problem. I use that tool a lot and am quite happy overall!

I just thought that as I caused you the trouble and now you are thinking about the formula I might as well try to be of help (though I suck at programming, but would love to understand more).
:smiley:

1 Like