A tone equalizer in darktable ?

Yes, ultimately, the view will be changed to an equalizer with an inset histogram in background, and a color-picker to sample one pixel luminance. The sliders were the fast way to get a working prototype.

I got the laplacian decomposition to work this week, the results look really natural. I have some issues with the image padding still, but the algo is pretty much sorted out. I have also added several norms so you can choose how you select the pixels (by their lightness, value, average, euclidian norm, power weighted norm). I have found that the euclidian norm gives the most pleasing local contrast preservation, which is consistent with the maths.

I have used the module in studio shoots, and it makes a real power trio, along with filmic and color balance.

Right now, I’m working on 4 different projects:

  1. filmic v3 with gamut compression and options to address the oversaturation of blue (also, code refactoring of dt’s internal and optimization of pixel’s maths, especially color conversion between spaces)
  2. UI clean-up to remove unnecessary GTK events and drawings, and also to wire every color and size of the GUI to the CSS stylesheet, so we can provide several themes
  3. speed optimizations of CPU code through vectorization and multi-architecture building (so, even when you install dt as a package, there is an optimized version of the code in it for your particular CPU architecture - currently, packages are one-size-fits-all builds using the most basic optimization level)
  4. this equalizer
  5. giving a hand on color management to other devs, especially @Edgardo_Hoszowski , who tries to make the pixelpipe orderable, and @phweyland who has improved the tone curve module with Lch and RGB modes, and did a module that enables dt to use Cube LUTs from the movie industry (very good to reproduce accurate film-look).

Once this round is done, I have projects to:

  1. create a scene-referred spectral color mixer (red, orange, yellow, green, cyan, blue, purple, magenta) to adjust lightness and saturation of colors along the visible spectrum, especially when using bad lighting with scattered spectrum (for example, fluo-compact energy-saving bulbs destroy colors because they have an uneven emission spectrum). That would be equivalent to “fill-in” the lighting spectrum directly on scene, in a physically-accurate way. A lot easier to recover local desaturation of some colors only, rather than the color zones (and remember : the white balance module assumes a daylight spectrum, so you shift the white point, but you don’t fill the spectrum).
  2. improve the usability by enabling mouse + keyboard shortcuts, and key + arrow up/down shortcuts, so the whole editing could be done directly from keyboard (for example : increase exposure = E + Arrow Up, decrease temperature = T + Arrow Down) and possibly from the lighttable
  3. improve the support of Wacom tablets, because it’s really not good enough for the retouch module
  4. make the local contrast and color balance (contrast adjustement) work in xyY space, linear and log.
  5. I still have the deconvolution stuff to make work.

All of this would hopefully make contrast/lightness/saturation, shadows/highlights, basecurve, relight, zones, and the 2 tone-mapping modules obsolete, replacing them with color-safe variants, possibly easier to control (or, at least, breaking less things), and the GUI of darktable much cleaner.

I’m working full-time on dt since Christmas, hoping it’s a long-term investment, so if you have some spare, that would relieve some stress : PayPal.Me

Thanks.

21 Likes