Blender AgX in darktable (proof of concept)

That’s essentially what Apple did with the iPhone :wink:

Here are some:

1 Like

I have some of those (LED-lit and flower shots) in my collection of test images.

There was that image I recall I think Boris used it or worked on it of a lady in this red dress lying on a set of stairs…I think it was around the filmic color discussions but that might be a nice one to try with AGX for comparisions…I will try to go back and find that one…

1 Like

Hello,
I think you mean this photo,
https://www.signatureedits.com/wp-admin/admin-ajax.php?action=useyourdrive-download&account_id=103498887174941726250&id=1aUbaUq8TArNxWmjFSC-cE9uW8eUO-vVM&dl=1&listtoken=d8b65b66692c59f215d41b174d2a67af
Greetings,
Christian

Thanks you are right…that link didn’t work for me but I scrolled and found it in the film collection I think…there were a few other good examples that could be tested that are not landscapes or concert…and yet there are some really vibrant colors…that image of the dress is image file000551, there is a good sunflower backdrop with a model and several other vibrant ones especially with models having dark skin tones and vibrant dress and makeup that would likely be good test shots to contribute to the “portrait” /human subject image type…

If you disable the tonemappers, you’ll see that there are harsh transitions, as there are areas illuminated by those lamps, and others illuminated by surrounding light:

This is what sigmoid + smooth + sRGB and AgX produce on my machine:


AgX is much more desaturated, but the transitions are also less harsh, and the face is not purple.

With AgX saturation at 2:

‘Punchy’ with gamut controls:

(The matrix stuff is still not done.)

8 Likes

Agx is looking good already :+1:t3:
How would be the matrix control design introduced ?
Would it be like sigmoid with a primaries tab, or maybe like you mentioned before it may have a seperate module at the very end with six controls ?

I had played with these same images my self. Looking at a side by side of your Sigmoid and AgX “punchy” edits:

Not only are the transitions on the child’s face better controlled, but I think the overall contrast and highlight roll-off is better in the hat and scarf.

Given that we won’t see AgX in the mainline for a while, I’ve been working to see what I might do with to better control these conditions when using Sigmoid or Filmic. I’m finding I can make improvements, but it takes a bit more effort than with this POC.

1 Like

I highly recommend to try and do exposure sweeps from 0 EV to 6 Ev or so, to see the potential of Agx as it holds and does not break visually by creating a sort of sub-gamut where a certain threshold can’t push through or create a sort of a hole in the overall image. This is the concept of additive energy, it is cohesive to our visual cognition.You can read about it in his github Wiki.

Some time ago I did it with the blue light that you would use a second instance of CC and blend in average and start with opacity zero and work up. Here I set the red channel to 1 …it could be less but I use opacity to set the amount and then you can also try this in bypass or use the perceptual CAT and choose as in pipeline…

Here is one with only this tweak and the sigmoid smooth preset…

I’m sure a more sophisticated approach would be to use the color primaries in sigmoid with additional tweaks or to use the primaries…but again is we can avoid that or do less using the final AGX version even better…

5 Likes

Yeah, that’s nice. I’ll have to give that a try.

Blending in chromaticity might even be better or a different option as well… 25-35% opacity looked okay to me

It must be part of the module. The insetting and rotation of the primaries are needed to manage colour shifts and desaturation during the per-channel application of the tone mapping curve.

2 Likes

Super exited :raised_hands:t3:

A new build:

  • This one works in the output gamut, not in Rec 2020. There are still adjustments (yes, the matrix…) that I have not updated.
  • You get 2 sliders to control gamut compression, both under the advanced section:
    • use input gamut compression if you observe weird colours without pushing saturation (e.g. LED lights, or simply super-saturated input colours etc.).

    • use output gamut compression if you pushed saturation and get artefacts.
    • note that both work on negative components only; if you get values over 1, you have to reduce brightness or back off with saturation
  • I’ve added a kind of vibrance control that should affect more saturated colours not so heavily. You’ll have to tell me if it’s worth keeping.

As always, updated to the latest master version.
https://tech.kovacs-telekes.org/dt-agx/Darktable-5.1.0%2B766~gba2bc2f1e9-x86_64.AppImage

@Dave22152 / @priort , @MStraeten , please update the Windows / Mac binaries.
Happy Easter!

14 Likes

It works wonderfully.

However, I wonder if we need to have input gamut compression earlier in the pixelpipe because all other color modules depend on it.

We have gamut compression in color calibration module but it does not work properly. At least I could not get as good results as with your version in Agx.

1 Like

The other modules work in the much wider Rec 2020 space (or whatever working space one selects); this one tries to prepare the image for display, and uses the output profile.

That said, providing it as a separate module is no big deal.

I may remove it from AgX (technically, something is needed – logs vs negatives), but the matrix insetting (which will come, I promise) may make it redundant there.
There are actually 6 parameters:

  • the portion of the 0…1 range to leave alone, for each channel (currently hardcoded to 80%)
  • the max ‘distance’ from achromatic to compress into the top (now: 100 - 80 = 20%) of the gamut. In my current implementation, this is set to the same value for all channels, the one you control through the slider.

The algorithms used is from Jed Smith: gamut-compress/docs/gamut-compress-algorithm.md at master · jedypod/gamut-compress · GitHub

Specifically:

3 Likes

Does anyone still need the old Linux AppImages? If no one reports the need to keep them, I’ll remove a few, as my hosting storage is now at 91%. (No need to report back if you don’t need them; please respond with the version I should keep if you need some of them to remain available.)

I would say no. I don’t think anyone would want to try all the previous versions. Maybe just leave the last two.

2 Likes

Here’s the link to the Windows executable for the latest version:

https://www.dropbox.com/scl/fi/oyo7bua7gnsxtmt0lxxrb/darktable-5.1.0-766-gba2bc2f1e9-win64.exe?rlkey=0z2koupft69j4ov22urzlc9rg&st=nqs95tpk&dl=0

5 Likes