lens correction and denoise on by default

This is the functionality vs workflow discussion that seems to be happening a lot lately.

darktable provides the functionality to remove noise from an image or correct lens distortions, among other things.

darktable also provides minimal workflows (none, display referred, scene referred with either sigmoid or filmic) that get the image to a place where the use can use their workflow.

Finally, darktable provides tools to implement workflows (presets, styles, Lua scripting API).

The modules that are applied and the order they are applied in is the personal workflow of each user and shouldn’t be inflicted on other users. If you have an interesting workflow or one that solves a specific problem, then by all means share it in the hope that someone else will find it useful.

For example: I have a lua script that runs when an image is loaded into darkroom. It checks to see if the image is rated 1 star or higher, was a basketball game (from the image path), was high school, and the home team was Cameron or JM. If it is, then I apply the appropriate color calibration preset.

I don’t think any user of darktable, besides me, is ever going to shoot a high school basketball game at Cameron or JM, so why would anyone want to have that workflow as part of their darktable installation.

7 Likes

Put me in the “pro” column - I would dearly love Darktable to do a lot more for me ‘automatically’. I’m not so precious as to want FULL ABSOLUTE CONTROL OVER ALL THINGS!!!, I just want to use OSS software and have good-looking images. FULL ABSOLUTE CONTROL!!! is nice, and should be enabled by default or enable-able, but I don’t see how a plugin that corrects known aberrations in your lens is so objectionable to be enabled by default. Maybe it’s a control-freak uber-power-user thing, but that’s not me. I’ve processed hundreds of photographs in Darktable, and while I’m still lost 90% of the time, I enable lens correction 100% of the time.

It isn’t, and this is pretty rude.

You need to know what you’re doing with darktable.

Once you have some idea, make a preset or a style that is auto applied.

Then you can apply it by default using auto apply rules; that’s the way darktable allows to do customizing to meet your workflow.
But just because it’s 100% for you it’s not 100% for others :wink:

2 Likes

There is just no way to make the application super flexible (not forcing decisions on users) and super convenient (not needing configuration).

There is an already rather complicated configuration window. Adding more config options there would just make it nearly unusable. To tackle that, we have the auto-applied presets, where people can add their favourite, not ‘on-by-default’ features. Everyone has different needs and opinions, and we have to accept that. I also apply lens correction to 99%+ of my photos, so I agree, probably many want to have that out of the box. You can raise a feature request, and it may be accepted. If it isn’t, you can:

Maybe we could set up a shared GitHub repo to share presets? I’ve collected (and also created) a bunch that I find useful. Then people could get presets from there and import them.

1 Like

Hello law,
You’ve made a mistake, and it’s a bit my fault for giving hope in this direction.

I visit pixls.us almost every day because the content is so rich. If I read English easily enough, conversely I express myself very badly.
And I’ve made another mistake, for which I apologise.

I’m not advocating that darktable should become a clikodrome where all you have to do is press a button to get the final image.
You won’t find any hardened users here, or on the French forum, where I’m one of the biggest contributors, to support such a project.

All software requires a more or less lengthy learning phase, and darktable is no exception, a rough road to get over at the beginning, but the result is worth the effort. I’ll be back at a later date with hopefully some good news for newbies.

Regarding “control”, I wrote my hack software rawproc specifically for that, on opening a raw having an empty toolchain into which I could put the tools in any order. Ha, first thing I did was to make a input.raw.default property where I could specify a default toolchain. Go figure… :laughing:

Now, I did a few things with defaults that have been handy. Particularly, I added the intput.raw.default.[make_model] property, where I can define different toolchains for specific cameras. Here’s my current setup:

Since I shoot a highlight-weighted exposure strategy, an automatic tone curve no longer works, and each camera has a different tolerance for pushing the shadows toward black, so I have a different default toolchain for each camera. If I load a PlayRaw raw, it defaults to the original non-specific toolchain. Oh, and the bottom property turns on/off the dialog for prompting whether to apply a default toolchain, If I Choose…

Regarding lens correction, it wasn’t in the default toolchains until recently. The key consideration was that it was more work to add it when needed (pictures with significant straight lines) than to just let it do it’s thing all the time, and I haven’t found a particular reason to remove it after it’s been applied. That’s the dynamic with lens correction.

It’s like the old “all things in moderation, including moderation” saw, applied to control…

1 Like

Here is an image to demonstrate this:

The scale changes, but if I scale the stereographic to roughly match the height of the ‘off’ setting, the widths are still quite different. Here are the two, matched for height, merged in difference mode in Gimp:


Stereographic keeps the figure more slender, which is often welcome. :slight_smile:

2 Likes

The correction implies shifts of partial pixels, that means interpolation, and that means you lose some of the fine detail. Whether that’s objectionable, depends on the user and on the intended use for the image…

As it’s very easy to create a preset to do what you want (once you know the program a little bit), there’s no real reason to add yet another configuration option.

Note that the only modules that are enabled automatically are always needed (for a selected workflow), or NOp’s when not applicable (and you do want highlight correction if it is applicable, unless you really love magenta…)