According to my understanding, that’s more or less correct. But with the added complication that each scale is split into two layers (high and low frequency). So for an EQ-style UI there would have to be two curves as well. But then there’s the question of how to fit iterations and anisotropy/direction into that, and if it even makes sense in terms of how the algorithm works.
I’m trying to work out if there was really nothing worthwhile in this PR. I accept that the goal of making the module easy to understand was not achievable, but was there anything learnt that could be applied? Matching the direction of the controls to the name (or vice-versa), grouping things by scale, putting the controls in the order that they should be adjusted, are any of them worth doing on their own?
I don’t think the introduction of a novel feature is a good fix for DorS.
Your proposal seems like an amalgamation of two ideas: modules and presets. Presets are sets of stored control values. Modules are self-contained, process abstractions. While adding this to the DorS module might make the module easier to use, it would be an inelegant solution IMO, because it would introduce an entirely new concept to the software, for only a single use case.
The issue is that the module is made for mathy people who want full control over image ±diffusion mechanics. It is not made to accomplish a specific use case, but is instead designed to allow the user to solve a wide range of image issues and to accomplish a wide range of image effects. This is a fundamentally bad design for a module. Modules should accomplish a specific need well, with a clear use case. Positive and negative diffusion is, in my opinion, far too broad a use case.)
The proper fix, in my opinion, would be to create 2 new modules: Clarity, Blur. Each would specialize in providing a still-wide range of effects via the DorS engine, but would be specialized for negative and positive diffusion, respectively. DorS would still be kept obviously. Here are the control layouts for the two modules I have in mind:
clarity
this module would perform negative diffusion via the DorS engine
strength (basic strength of the effect)
quality (increase to increase the number of iterations while reducing the strength of each iteration)
structure ↔ texture (controls the balance of low/high wavelet sharpening)
emphasis (section)
structure (increase sharpening of low freq. wavelet layers)
texture (increase sharpening of high freq. wavelet layers)
surfaces (increase to increase sharpening of smooth surfaces)
refinement (section)
artifact reduction (increase to reduce sharpening artifacts)
fine detail softening (increase to reduce general sharpness via unsharp mask)
blur
this module would perform positive diffusion via the DorS engine
strength (basic strength of the effect)
quality (increase to increase the number of iterations while reducing the strength of each iteration)
structure ↔ texture (controls the balance of low/high wavelet blurring)
preservation (section)
structure (protect low freq. wavelet layers from diffusion)
texture (protect high freq. wavelet layers from diffusion)
surfaces (increase to reduce blurring of smooth surfaces)
refinement (section)
blur reduction (increase to reduce sharpening artifacts)
fine detail boost (increase to boost general sharpness via unsharp mask)
well that was a bummer. I think thumper’s work was excellent and made DoS much more approachable but here we are. I suppose I’m stuck with the presets.
Also I haven’t quite understood who/what decided to not proceed any further: was it AP’s comment on github? somebody else opposed to the PR? not enough traction?
Devs were not convinced that the changes represented a meaningful improvement in light of the side-effects of overhauling the UI (depreciating all instructional resources, the manual entry, etc.).
I realized that trying to force a nicer UI on an existing module when you can’t remove or combine or modify existing controls, is just never going to be the best solution. It would have helped, but it wouldn’t have been ideal.
Would an improvement to the user guide be possible to better explain the action and interaction of the sliders be a part solution instead of changing the names.
I think improved tooltips and the manual entry would be helpful, but the interactions between parameters/sliders is complex enough to make it quite difficult to explain the effect of controls with visual based terms.
I think a better solution is to create re-skins of the DorS module as seperate modules, tuned for specific use cases. These wouldn’t be simple clones with differently named controls, but would instead have new abstraction layers to consolidate the movement of underlying parameters based on a set of more user-friendly controls.
Here are some alpha versions of the modules I am thinking of. Clarity would be focused on general sharpening and dehaze for images. Blur would be focused on blur, denoising, haze, etc. Basically, they would leverage the powerful engine of DorS, while providing better controls for the specified use cases.
I find it a bit hard to visualize what that UI for clarity and blur would look like. Are you able to create a mockup of the ui. Just a simple picture of how you see this…
That should be the first order of action, if you ask me. As I said further up, there are absolutely crucial aspects that are simply not explained well enough or at all. The language is also often needlessly technical. I’d like to think I’m not entirely stupid, and I struggle to decipher the radius span explanation.
Yes, some diagrams would be a very good idea, in my opinion.
This sounds a reasonable suggestion. The DorS module is a Swiss army knife as it stands. Thanks for your patience with trying to develop and improve the accessibility of this technically complex module.