To me if when I lift the shadows it also affects the highlights (which can happen in some situations) it seems like a design problem, because the whole point of a tone equalizer is to be able to change exposure specifically on some exposure range at the exclusion of the rest of the range. That said in practice it doesn’t seem to be a big issue since the wiggles are quite small. I think it would be worth trying a Gaussian mixture or something like that.
I’m not sure how it’s implemented in RT but it doesn’t have the same issue, although it lacks controls on the range the sliders affect (it’s hard to target a specific part of the shadows for example).
E.g. here I just lifted she shadow but the sky got darker and the moon brighter.
You’d have to check the mask. The whole idea of tone equalizer is that it is not a pixel-wise operation; that is why it is able to keep local contrast.
I don’t know how the mask is created in RawTherapee. In darktable, you should can display the mask, play with the blurring parameters and also with edge sensitivity to find the right compromise.
That’s not an issue with the mask, it’s an issue with the UI, when you push -4 up -2 goes down and -1 goes up. You can enter in a tug of war with the points and make them behave manually, but it would be easier if they didn’t behave like that in the first place.
However right now I would like to finish my project without extending its scope. I think the post scale/shift controls are a significant improvement as they are and my time for coding is limited (which is why there is no new version yet, maybe over the weekend). I am also not sure if I would be the right person to implement a different curve.
Not suggesting that I will be the one to implement it (and surely not right now), here are a few ideas for a way forward:
Instead of (or maybe in addition to) changing the curve in the tone equalizer, we could move more of the code regarding guided filters to common files, then this code could be used by multiple modules - either existing or new ones.
Guided filters in other modules could have simplified controls - omitting everything we now know we don’t need.
The RGB curve module could be a candidate for a module that may optionally protect local contrast with a guided filter. This would probably fullfil the wishes of @Tamas_Papp .
What I would personally like to see is a guided filter-based simple shadows and highlights module (“Shadows and highlights RGB?”) with initially just two sliders: “Raise shadows” and “Lower highlights” (and in addition an advanced tab that is rather meant for users who think they know better than the author, how the module should operate). Having this simple use case, the the Tone Equalizer is cumbersome to use. Imagine you have just found the perfect curve, you just want it to be a little stronger - you have to move all the nodes again. It also bothers me a bit that the obvious name “Shadows and Highlights” (which new users will surely search for) is taken by an outdated module.
I don’t understand why the undulations should give smooth transitions because in the manual the only part I’ve seen about the udunlations is:
Move the slider to the right to make the transitions between the control points more gradual, but beware that going past about 0.6 can introduce some instability (oscillations) in the curve due to mathematical constraints.
For me, this implies that it is a consequence of the mathematical constraints and also not an intended behavior (so probably caused by a lack of interpolation methods available/lack of time to implement/etc). The direct consequence is that users have to be aware of this and watch the curve to mitigate the potential artifacts.
But honestly, I love this module and I just wanted to point what could be enhanced, from a user perspective, to make it even better
I am not convinced this is correct in a general way. Yes - the guided filters are not perfect in all situations - just think about the eps to be chosen and it’s subtle differences if the module scale changes …
But from my experiences with other modules - like color equalizer - it seems to be quite problematic to do the guiding before “algorithms” (at least that’s what i understand from you early graphics). You might have to add more maths at the strong transitions (i CE there is a special filter surpressing halos btw).
So we have 4 different points at least to be remembered
The UI - do we want the sliders and how to keep the module interface clean & small
Maybe a better - less prone to oscillations - math for the curve but we would have to make sure that model fit’s with the main algo
Node displacement - i think if someone really suggests doing so he/she would have to make sure the main algo fit’s into that model and would have to prove “that helps in real”
Define the best way of interaction “guiding vs algo”
I agree that it would be very good to find a better way to control halos at strong gradients.
I definately feel like these are a case of looking at the nodes themselves (and not at the photo) and going “oh no this is wrong” – which is why I asked for more samples that illustrate the problem and how OPs approach is better.
All guided filters have an internal threshold for something you might understand as “similar to proceed further”. The value you have to choose for proper results depends on input data (mostly range).
I’m not a psychologist, but I would guess it’s because the graph tells you you’ve messed up after you’ve moved sliders in a way that don’t look wrong.
If you just move one slider to the right, but the curve starts acting like you’ve moved multiple other sliders to the left, you think “Hey, that’s not what I intended at all”. Just a guess though.
some doesn’t seem to get, that the sliders don’t change defined tonal ranges but sets control point for a curve function that changes tonal ranges …
just because other software behaves the expected way.
tone equalizer isn’t comparable to the old zone system module even some seems to insist on it
I’m going to go out on a limb and say that some users actually want something more like the RT implementation, which itself is more comparable to what other software has, e.g. Lightroom.
Tone Equalizer obviously isn’t that module, but since there is nothing else comparable in Darktable, we get constant requests to change it.
Maybe the ideal answer is for Tone Equalizer to be left largely alone, and another module is created/updated to be more like the old Zone System, or Shadows/Highlights, or RT, or whatever? I know this comment isn’t all that helpful if I’m not able to do the work myself, but I can see that @JovianSettler’s proposal is quite divisive, and I’m just trying to find ways forward.
unfortunately most requestors just requests for an UI but not on the impact on the function.
e.g. if i just raise one slider for EV x - do i expect that just the tonal range between EV x-1 and EV x+1 is changed or do i expect the same behaviour as lifting the EV x control point in advanced dialog or …
This was what I thought, but then we are in “oh no another module!!!” territory . More modules don’t bother me. This proposal seems like a fundamental shift in the way TE works, which I am not for, as I have no complaints about the way the module currently works, especially the guided filter, which is where all the “magic” is.
This is a usability change which introduces new UI elements that work much better than the old ones. But the old ones are still there (albeit hidden in a collapsible section) and you are totally free to use the old clumsy controls if you prefer them.