Tips for processing HDRMerge DNGs


I’m looking for some advice or guidance on how you have been processing the HDR raw files that get output from HDRMerge.

I tried HDRMerge out a while ago and was really impressed with the results in the sense of a single RAW file with such a massive dynamic range. I was so impressed I went ahead and made a plug-in for darktable to make the whole process easier. However, I have since not used it much as I struggle to post-process the output RAW file.

When taking a bracketed sequence I tend to find that I get good results much quicker by running enfuse and then applying a style “enfused” to the image (which is a collection of a bunch of minor tweaks I do to almost all images from enfuse that gives me a good baseline to further edit from).

However, I don’t want to discount HDRMerge because of my lack of knowledge. Can anyone share how they have been typically processing images from HDRMerge, or if anyone has a style similar to my “enfused” that gives a good starting point or baseline for further edits?

HDRMerge and enfuse do different things and can work in tandem.

HDRMerge combines two or more raw images into a single raw with an extended dynamic range. It can import any raw image supported by LibRaw, and outputs a DNG 1.4 image with floating point data. The output raw is built from the less noisy pixels of the input, so that shadows maintain as much detail as possible. This tool also offers a GUI to remove ghosts from the resulting image.

Enfuse merges overlapping images using the Mertens-KautzVan Reeth exposure fusion algorithm. This is a quick way for example to blend differently exposed images into a nice output image, without producing intermediate high-dynamic range (HDR) images that are then tone-mapped to a viewable image. This simplified process often works much better than tone-mapping algorithms.

Enfuse can also be used to build extended depth-of-field (DoF) images by blending a focus stack.

To see usage examples, just search using “tag:play_raw hdrmerge enfuse”.

Thanks afre, I’m aware they are different and understand how the outputs are very different. But ultimately I am trying to use them to achieve a similar goal; to take a stack of photos that represent a scene with a high dynamic range to merge them, do some post processing on the merged file, and eventually arrive at a shareable LDR file.

Where I am struggling is how to get from the HDR RAW file to a LDR file that captures the scene well. Have users had success with the “global tonemapping” in darktable, “tone mapping” in darktable, do people take them in to Luminance HDR…? Does anyone have a workflow that gives a good “starting point” for most HDRMerge RAWs? Just looking for some input from other users with what they do with the HDR RAWs that come out of HDRMerge.

Yes, you’re on to it. You want to tone map the HDR image down into an ldr image range. I usually use the draggo operator. One the histogram looks acceptable and the image isn’t full if halos or other artifacts, I use the same tools I normally would to process.

Maybe you should post a play raw that needs HDR, and ask that people not use enfuse. The you could get an idea of how people work.

1 Like

I did look at one previous play_raw based on afre’s suggestion, though I believe Morgan Hardwood was the only one who ended up using HDRMerge in that example.

Good idea about starting a new play_raw.

Thanks both afre and paperdigits for your input.


Way back in 2016 I described my HDR workflow. I’ve been using Tone Mapping (Exposure tab) and CIECAM02 (Advanced tab nowadays) on a HDRMerge DNG the other day with the latest RawTherapee and still got a pleasant result in under five minutes. Mind the Tone Mapping tooltip, though.


@BzKevin You may want to take a look at this workflow from @Carmelo_DrRaw: [Play Raw] Luminosity masks - #22 by Carmelo_DrRaw
That workflow has also been scrutinized here: [Solved] hdr workflow - ask for guidance

But now he came with this new PhotoFlow tool: PhotoFlow - new dynamic range compressor tool (experimental). It is aimed at replacing the first workflow I mentioned above.

1 Like

This is very useful gadolf, thanks!

I’m intrigued as to why @Carmelo_DrRaw ran HDRMerge on the raw images, then re-exported them as tiff from the single HDRMerge output. Is there a significant difference between that and just running enfuse with tiffs from the 3 original raw files?

I know HDRMerge can create exceptionally clean (in regards to noise) files, but enfuse similarly helps with noise (at least when the input images are different, not just EV adjusted copies) because it performs a weighted average (oversimplification) on each pixel, where the weighting is determined on a per pixel basis, I believe. It is for this reason that I switched my in-camera bracketing from 3 photos to 5. I still have a total range from around -2EV to +2EV (typically, or as the scene requires) as I did when shooting 3 photos, but having ones at -1 and +1 as well to help reduce noise on the enfuse output further.

I’ll have to play around with that some. Would be very interesting to see the difference in enfuse results on these scenarios:
3 tifs from 3 RAW
5 tifs from 5 RAW (this is how I use enfuse now)
5 tifs from a HDRMerge made from 3 RAW
5 tiffs from a HDRMerge made of 5 RAW
7 tiffs from a HDRMerge made of 5 RAW

Still reading through the other posts you linked. Thanks again though!

EDIT: I see that the questions I posed above were somewhat touched on near the end of the second topic you linked too.
As I understand it using HDRMerge in the enfuse workflow provides the following benefits:

  1. Can minimize ghosting
  2. Offers slight reduction in noise by simply using only the “clean” portions of input images

Benefits of using unique input images for enfuse:

  1. Noise reduction via averaging algorithm applied.

Additionally, it looks like people were indeed getting good results by simply tonemapping the HDRMerge DNG. I think I need to just spend some time messing about with the tonemapping and global tonemapping modules in dt to see what I can work up.

Benefits of

1 Like

Let me elaborate on what I said earlier. HDRMerge and enfuse do different things. The purpose of HDRMerge is to generate squeaky clean HDR raw images.

1. It creates an HDR image from multiple LDR images
2. It creates a raw file. This is important because it is done before any demosaicing, etc.!
3. This HDR raw is scene-referred, or closer to it.

The purpose of enfuse is to do a number of things including tone mapping and focus stacking. See manual for details.

1. It creates an LDR image from multiple LDR images.
2. It doesn’t read or write raw images. This means it lacks the advantages of HDRMerge but you could still use it to tonemap a developed HDRMerge file!
3. This LDR non-raw is display-referred.

The key point is #2 under enfuse. Nothing is stopping you from treating a raw from HDRMerge as any other raw. The advantage is that it is better than the typical raw!

Yes, I would do that if the software supports DNG. enfuse doesn’t by default; you would have to add that feature and build enfuse yourself. An advantage of using multiple TIFs is that you could influence the weighting using specific processing and masks. Read Tips For Beginners and Common Misconceptions for more on that.

Hope this helps.

1 Like