Contents

Preparing the HDR images

Start by using dcraw to read the RAW files and batch convert them into portable 16bit per
channel PPM files. RAW pictures from my Nikon 8700 have a .nef extension, so the
command looks something like this:

Note that I rotated them at the same time since these are portrait shots. Also, note that
although hugin, nona and enblend support floating-point data, there is no real loss
converting RAW data to 16bit colour depth as RAW images are typically only 12bit in the
first place.

Stitching with hugin

The TIFF images can be loaded into hugin as per usual with a couple of caveats:

Information about the field of view was lost during the PPM stage, so this will need to be re-entered manually or re-optimised with PTOptimizer.

Stitch the images as per usual into a TIFF file, you can use enblend as the
final step.

Post processing

This TIFF file is in 16bit per channel RGBA format. Again this will appear
very dark in most image viewers (if they manage to open it), so you need an extra
step to create the final 8bit per channel human-readable images.

Gamma adjustment

Sometimes all that is needed is to adjust the gamma and save, this ImageMagick command
will output a usable JPEG image:

A quick way to create a usable 8bit per channel image is to select a gamma of
2.2, fit to dynamic range, zoom 1:1 and save as PNG.

Tone mapping

A related package to pfstools called pfstmo can do automatic tone mapping
of a HDR image and compress it into a low dynamic range output. There are many
options and techniques available, commands look like this: