I think looking at the image is more important than how a curve looks.
I totally agree. That is why I love to hover the mouse over the picture and scroll wheel, but sometimes I have then gone to the simple sliders to ensure smooth transitions …but now I wonder if I just should have done that using the nodes on the graph. I mistakenly believed the slider only affected that node, but I was wrong. This mistake came about because when the simple sliders are accessed the graph and nodes of the advanced tab are not visible, so the user is just guessing what is happening to the graphs shape.
There was a discussion, I think started by @Tamas_Papp , about fixing curves so they avoid oscillations (e.g. in the color equalizer), but then it just dried up. I think it was a good idea.
Yes, I found it:
Are the oscillations in the data and how the image transitions are handled or they are just an effect of how gtk draws the line in the graph without any impact?
Yes, this is a good example of what I was saying. I think what many people want is to adjust a slider and it only affect that EV value, or at least just a stop or two either side of it.
The Tone EQ module sometimes requires dozens of clicks, back and forth between tabs and little adjustments of nodes, to get the look you want. And this is the source of the frustration. One issue is because of the tabbed interface, and the other is because of the way the curve works.
Thinking more about this:
I was wondering if something like this would work:
- Use a picker to draw a rectangle around part of the image. This could be the whole image (default) or just an area, such as the shadows or highlights.
- Then the tones in this picked area are automatically mapped to span the full range of nodes (darkest part furthest left, brightest part furthest right).
- Then you can adjust the nodes to add or decrease contrast as desired.
I have no idea if this is feasible, but to me it seems like quite a streamlined workflow that would avoid messing around with the mask exposure and contrast sliders too much. And since the tonal range is spread out over all nodes of the graph, it would also avoid needing to have steep changes between nodes.
They are not a drawing artficact.
Darktable uses a spline fitted to the points in the graph. The nature of that spline creates those overshoots if only one point is moved. This system is used in several modules. (see the thread linked by @kofa for more details)
If I drop the simple sliders at the right, the rest of the curve stays intact. Not that I’m likely to want to, but if I drop the sliders at the left (say top two or bottom two). I’ve mentioned that I can use the sliders for a small movement just to change the peak one out of two sliders.
If I do something really silly, like raising the middle points of the curve and then use the sliders to drop the centre on way down then the curve goes crazy. But that would be silly anyway (although I bet someone somewhere would want to do it!)
thats a use case you’d better solve with exposure and masking
the purpose of tone equalizer is to make tonal changes without risking halos banding etc and try to keep details. If you force such behaviour, the you’ll get that behaviour
Users who don’t need this are using the wrong tool. Unfortunately most users switching from other tools to darktable seems to think that just because it looks as they expect, it should behave as they expect. If someone is too lazy to read the manual to understand the darktable specific behaviour of tools then he’s simply not in the target user group of darktable …
There is a lot of focus here too on the basic workflow of simply “centering” the mask and then moving sliders/nodes/mousewheel from the preview and I suspect that is all most users do, if that. I suspect for the most part they likely keep the rest of the settings at the default as well, but beyond that there are so many combinations which give quite a different mask upon which those sliders are acting (even though the “histogram” bar would be generally centered and mostly similar)…for example just the difference between the old guided filter and the new one can be quite different in skew and contrast and then if you alter smoothing or introduce the different norms etc so I think being so hung up on the individual sliders might be placing a lot of focus on something that might not acutally be as impactful as some might be assuming and thinking more about the actual mask that you create might warrant some more attension.
I think in one older post there was a lot of discussion around the tone eq and the mask etc and I think going from memory @kofa generated a great mask to illustrate the tone eq in action and to the surprise of many the mask was extremely and almost uniformly blurred with a lot of smoothing but this gave a fantastic result…so merely centering the mask and then assuming that each slider is impacting dark through whites in a stepwise way is not leveraging the tool to the fullest…if the histogram of the mask is skewed then one or two sliders might have a lot of impact and adjacent ones may not.
Having said all that using two instances spread out to target the highlight and shadows using the defaults otherwise does generally produce really nice results…
Yes, I do that fairly often.
Yes, definitely, I would agree the mask / guided filter is the single most important aspect of the Tone Equalizer. The mask is what makes your edits effective or ineffective essentially.
For me, I occasionally encounter two issues:
-
When I just want to work on a very narrow range of EVs, e.g. just the highlights or shadows, I sometimes find it hard to fully distribute the range over the nodes. It might be because I’m really working at the limits of what the module can do, but I sometimes struggle to spread 2-3 stops over the nodes using the mask exp comp and contrast sliders. It’s not impossible of course, but it gets fiddly with lots of sliders/options involved. Based on discussions over the years, there seems to be a desire for this to be more automated, e.g. like using a picker to select the area you want to change and the range of EVs is auto mapped to the nodes.
-
When I don’t use the guided filter, which is often recommended when you want to add contrast, there is no way to spread the tonal range over the nodes. Depending on the image (especially low DR images), this can sometimes mean you have just 2-3 nodes to control, and it’s very finicky to make the adjustments you want with just a few nodes. Like this:
I’ve found that the module is excellent when you want to compress the dynamic range and really make use of the guided filter. But for adding contrast without the guided filter, it can be harder to use. Perhaps the module really isn’t meant for some of these micro adjustments to narrow tonal ranges, but it is meant to be the primary contrast module in the scene-referred workflow if I’m not mistaken.
Maybe someone has some tricks to overcome these issues, so please share if you do. Obviously I’m aware that you can create multiple instances and work on different ranges with each instance, but maybe there are other tricks out there.
I guess this goes fairly in line with a remark from AP that TE “is designed for local tone mapping, but can also be used for global tonal mapping”.
Not in the tone eq but in RGB CB if you set or use the picker in the mask tab you can set the pivot for contrast so that things brighten and darken around that set point…it can be very effective tuning way contrast is applied and of course then you can also use a mask with that…

thinking more about the actual mask that you create might warrant some more attension
In the past I have experimented with different masks and seen how they change the behaviour. This is an exercise I would recommend to anyone reading this thread. It is probably something I too should revisit with fresh eyes.
I find this thread has taken an interesting and useful tangent from my original post which was about improving the GUI for the occasions when we want to adjust the histogram. Thanks for all the informative replies here.
Yes, I do use that from time to time. It’s a nice way to pick the fulcrum but does usually require a mask to stop the darkest and brightest parts from clipping. Definitely a useful feature. CB RGB is one of those great modules that almost does it all.