Blender AgX in darktable (proof of concept)

recent macOS arm64 build:
darktable-5.1.0+789~gb62bc4f5eb_arm64.dmg

same comments as in Blender AgX in darktable (proof of concept) - #181

Beware: this build also includes Tone equalizer 2025-04-06 preview version #18656 which has some issues regarding handling of the graph and breaks existing toneequalizer presets …

and here a version without the Tone Equalizer preview:
darktable-5.1.0+791~g7dc16ec6be_arm64.dmg

Is there a new build to prepare?

No, not really. I’ve pushed some changes, but only to return to the 2-page notebook, refreshed from the current master. I’m working on my own understanding of some maths. I’ll add the ‘log only’ pass-through sometime later.

2 Likes

I’ve added the log-only checkbox. The washed-out look is expected: you are supposed to provide your own contrast curve:

For example:

However, the current build displays weird behaviour in some corner cases (not related to the log-only behaviour), so I’m not publishing it yet.

5 Likes

Thanks for delivering a wonderfully elegant solution! :raised_hands:

EDIT: It seems related to this thread about 1D LUT support. I wonder if @Xavier_Bourque could chime in on that.
Should perhaps add that I, despite my enthusiasm, (obviously) haven’t tried it yet. :slight_smile:

good idea to use the rgb curve.

however it would be cool to be able to hook the rgb curve to the agx module to have everything in front of you.

but there it is rather a darktable functionality that perhaps exists, my knowledge on the subject being limited.

No, sorry, I won’t do that. This module is supposed to implement something like Blender’s AgX. That uses a specific series of manipulation of the primaries, mapping the selected exposure range to log, using a specific curve, and another manipulation of the primaries. It’s not much work to skip the curve, and only do the log. I may add some other parametric curve, if I am interested in one (OpenDRT comes to mind – I haven’t checked the details), but I’m not interested in adding a hand-drawn RGB curve. With the log-only functionality, you will be able to use the existing curve modules, if you want to, but I won’t spend time on integrating any of them.

Sorry if this sounds harsh, but I only have so much time.
Once the module is there, others can add more curves, if they are interested.

2 Likes

One can even use log-only mode with the primaries and look controls, for example:

I followed this thread from the beginning and tested several pre-releases of this poc. @kofa thank you for your effort, AgX with all its controls has now become a super flexible tone mapper and more.

Although I voted for the two tab gui I have to admit that I was wrong. The three tabs are very balanced and useful for everyday edits.

AgX proved to be the tool to easily master all kinds of critical images, that took a lot of effort before. For me it will be the perfect tone mapper, replacing Sigmoid and besides filmic RGB which I preferred up to now in most cases.

I voted for 3 tabs as I think it is useful for people who use laptops for their work For people using large screens, 2 tab is more useful as it avoids mouse clicks

I’ll try to see if I can turn that into a config option. No promises, the UI is not my favourite area.

It’s not even related to AgX, primaries and sigmoid are affected as well (using an extremely large space as input).

1 Like

OK, so the new build is out. It brings the log-only mode, plus a fix for a bug you’ll only ever encounter if you use spaces like Elle’s AllColor space as working space.

In the log-only mode, the looks and primaries controls, as well as the exposure selection (for the log mapping) are all available, only the curve is turned off. I think if someone wants to tweak the primaries, and also use an instance of rgb curves, it would be best to only set the attenuation and rotation sliders, not the ones for recovery, and then use a separate rgb primaries instance after the rgb curves to recover/restore colours, if needed.

I’ll see if/when I can do the rest, like the switch between the 2 and 3 tab versions of the GUI.
https://tech.kovacs-telekes.org/dt-agx/Darktable-5.1.0%2B933~g68b05fe1a2-x86_64.AppImage

@priort, @MStraeten , @Dave22152 , please update your builds.
@MStraeten : if you want to include the fix (it’s really a corner case) in your custom build, you have to add my src/common/colorspaces.c to your build tree. (Todd, Dave: you simply build from my branch, so you don’t have to add any extra steps.)

5 Likes

I was reading the documentation on Jed’s github and he mentioned that the curve of Open DRT has a hyperbolic function for smooth highlights and shadows. I don’t know how it differs from the current curve of Agx since he actually created the curve of it. Anyway, I think the existing curve works just fine. Thanks for your efforts.

1 Like

Dave will likely beat me to it but if he is busy I will spin one up when I get home from work…

2 Likes

I’m pedaling as fast as I can!! :rofl:

2 Likes

I was abroad for 9 days and hadn’t logged into Pixls. It was quite interesting to see over 100 new posts on this thread and to see how far the POC has come in just over a week. Looking forward to trying the new build!

Here’s the Win 11 executable for build 933:

https://www.dropbox.com/scl/fi/kryuc01er3guxygrk4235/darktable-5.1.0-933-g68b05fe1a2-win64.exe?rlkey=e4d1ugz038rmlivcfhy12zq7e&st=txkw9w7e&dl=0

5 Likes

I have absolutely no idea how to get any good result with custom curves in log only mode.

Has anyone managed to do this and what needs to be considered?

I don’t need this mode at all but I am curious.

1 Like

I have also not had convincing results, but did not try it for long. If the consensus is that it’s useless, I’ll remove it. Let’s see if anyone comes up with results proving it should stay.

2 Likes