Is there a way to add the name of LUT or preset on export?

Hi there.
Is there a way to include either name of LUT, preset or both on export? I have a lot of presets and LUTs and when I go over images I have exported I some time have a hard time figuring out which preset or LUT it was actually based on. So I would like to have something like: (FILE_NAME)_(LUT_NAME) or (FILE_NAME)_(PRESET_NAME) - is this possible?

My attempt at writing the tags for export seems to have messed up the editing - so for clarity I will try again:

"$(FILE_NAME)_$(LUT_NAME)" or "$(FILE_NAME)_$(PRESET_NAME)"

The issue is probably the ‘$’ signs. Try prepending them with a ‘\’ :
\$(FILE_NAME)_\$(LUT_NAME)

The ‘\’ works as an escape, allowing you to use in plain text, characters which have a special meaning in some contexts (such as $ [ < \ *) (eg *xxx* usually gives xxx :wink: )

Do we even have variables called LUT_NAME and PRESET_NAME? What would the first represent (there can be multiple LUTs applied – and would that refer to the _ color look up table_ module, or to _ LUT 3D_? And the second, the PRESET_NAME? The name of a preset for the export module? I don’t find them here:

I don’t think so, see above. But you can include the processing settings in the exported image, and reimport the exported image as a sidecar, or have a look at the processing stack by extracting it from the metadata.

You can use tags in the variable substitution, so you could assign a tag LUT_NAME and then reference it with $(CATEGORY[0, LUT_NAME])

I am unaware about whether the tags I included exists - it was just pseudo code to demonstrate my wish. So if they exist they would probably be called something else.

How do I include the processing settings in the exported image? That sounds like it could perhaps help me some of the way.

Bill Ferguson
You can use tags in the variable substitution, so you could assign a tag LUT_NAME and then reference it with $(CATEGORY[0, LUT_NAME])

But how does the variable substitution know what to put in the “LUT_NAME” if the tag does not exist? Or am I missing something or not fully understanding your suggestion?

You have not answered what LUT_NAME would represent

there can be multiple LUTs applied – and would that refer to the color look up table module, or to LUT 3D?

Also, the preset PRESET_NAME? The name of which module’s preset would that represent? You can have many modules, each with a preset.

E.g. exposure has the scene-referred default preset applied automatically, and so do filmic rgb, sigmoid and AgX. local contrast has a few, diffuse or sharpen quite a lot, contrast equalizer too, denoise (profiled) comes with chroma only, and so on.

And utility modules (like export itself) can have presets.

darktable user manual - export, under develop history.

You’d have to tag your images yourself.

1 Like

You can extract the history with:

exiftool -xmp -b some_exported_photo.jpg

And the output will be like:

<?xpacket begin="ï»ż" id="W5M0MpCehiHzreSzNTczkc9d"?>...</x:xmpmeta>                       

In this, the modules are identified using the technical name used in the code, which may match what you see on the UI (e.g. sigmoid, exposure), and sometimes not (e.g. rawprepare (raw black/white point), atrous (contrast equalizer)): darktable:operation="rawprepare"

If instances had names, you’d find that in multi_name, whether provided by hand, or defaulted to the name of a matching preset: darktable:multi_name="_builtin_scene-referred default" or darktable:multi_name="kofa custom blender-like".
Since this is the history, if you edited a module’s setting multiple times, it will appear multiple times (unless you compressed the history).