hdrff Reference
Note
TODO: The reference-page will contain a description of all
configuration variables and additional
reference-information. Currently this page mainly only reproduces the
default configuration-file /etc/hdrff.conf.
Global Configuration Variables
The variables in this section are unrelated to any specific module.
- PMAX
- Number of concurrent processes (defaults to number of processors). Note that not every module is enabled for parallel processing.
- VERBOSE=1|0
- Verbosity of the hdrff-modules. This value can be changed at runtime with the -v to hdrff.
- DEBUG
- List of modules to debug. This will send all messages of severity "debug" to the log. Note that not every module produces debug-output.
- IMG_EXCLUDE
- Regular expression for image-names to exclude. To make life easier, an expression like IMG_EXCLUDE="1234 5432 7895" is internally modified to IMG_EXCLUDE=".*1234.*|.*5432.*|.*7895.*".
- IMG_INCLUDE
- Regular expression for image-names to include. To make life easier, an expression like IMG_INCLUDE="1234 5432 7895" is internally modified to IMG_INCLUDE=".*1234.*|.*5432.*|.*7895.*".
- IMG_DEPTH
- Color depth of the generated image (8 or 16)
Default configuration
# number of concurrent processes (defaults to number of processors)
: ${PMAX:=`ls -1d /sys/devices/system/cpu/cpu[0-9]* | wc -l`}
# verbosity of scripts
: ${VERBOSE:=1}
# list of modules to debug
: ${DEBUG:=""}
# mount-point for media
: ${MEDIA:=/mnt/media}
# target directory
: ${TARGET_DIR:=$HOME/images}
# directory for original images
: ${ORIG_DIR:=$TARGET_DIR/orig}
# directory for edited images
: ${IMG_DIR:=$TARGET_DIR/work}
# archive directory
: ${ARCHIVE_ROOT_DIR:=$TARGET_DIR/archive}
# color-depth
: ${IMG_DEPTH:=16}
# preview mode and preview size
: ${PREVIEW_MODE:=0}
: ${PREVIEW_SIZE:=1024}
# image extension of source-images (nef cr2 jpg ...)
: ${IMG_EXT:=nef}
# image-prefix of images from the camera (dsc_,crw_,img_ ...)
: ${IMG_PREFIX:=dsc_}
# copyFiles: copy at most CP_LIMIT files to $ORIG_DIR (set to zero for all)
: ${CP_LIMIT:=0}
# copyFiles: set copy-command. To move files, set CP_CMD=mv
: ${CP_CMD:=cp}
# copyFiles: set CP_EXIT=1 to exit hdrff if no files were copied
: ${CP_EXIT:=0}
# delInterFiles: delete intermediate files with these prefixes
: ${DEL_FILES:=ca_ ais_}
# if you create layered gimp-files, you might want to add additional prefixes
# : ${DEL_FILES:=ca_ ais_ enf_ hdr_ mantiuk_ fattal_}
# raw2tif: default ufraw-configuration (can be empty, use ufraw GUI to create it!)
: ${UFRAW_CONF:=}
# raw2tif: additional ufraw options
: ${UFRAW_OPTS:=}
# jpg2tif: additional convert options
: ${JPG2TIF_OPTS:=}
# findGroups: filename of list of HDR-groups
: ${HDR_LIST:=$IMG_DIR/hdr-list.txt}
# findGroups: Maximum time-diff in seconds between two images of a HDR-sequence
: ${HDR_FUZZ:=2}
# raw2seq: additional exposure values
# (unset by default, will produce warning if used without being set)
: ${RAW2SEQ_EXP:=}
# fixCA: CA-correction (values: 0 or 1). Very time-consuming.
: ${IMG_FIXCA:=0}
# options for tca_correct and fulla
: ${FIXCA_TCA_OPTS:=-o abcv}
: ${FIXCA_FULLA_OPTS:=}
: ${FIXCA_PREFIX:=ca_}
# alignImages: align images (values: 0 or 1)
: ${IMG_ALIGN:=1}
: ${AIS_PREFIX:=ais_}
# enfuseImages: output format of enfuse
: ${ENFUSE_EXT:=tif}
: ${ENFUSE_PREFIX:=enf_}
# makeHDR
: ${HDR_PREFIX:=hdr_}
# tmMantiuk: various options
: ${TM_MANTIUK_GAMMA:=$TM_GAMMA} # for compatibility with version 0.9
: ${TM_MANTIUK_GAMMA:=2.2}
: ${TM_MANTIUK_OPTS:=-e 1 -s 1}
: ${TM_MANTIUK_EXT:=tif}
: ${TM_MANTIUK_PREFIX:=mantiuk_}
# tmFattal: various options
: ${TM_FATTAL_GAMMA:=$TM_GAMMA} # for compatibility with version 0.9
: ${TM_FATTAL_GAMMA:=2.2}
: ${TM_FATTAL_OPTS:=-s 1}
: ${TM_FATTAL_EXT:=tif}
: ${TM_FATTAL_PREFIX:=fattal_}
# tmDrago: various options
: ${TM_DRAGO_GAMMA:=$TM_GAMMA} # for compatibility with version 0.9
: ${TM_DRAGO_GAMMA:=2.2}
: ${TM_DRAGO_OPTS:=-b 0.85}
: ${TM_DRAGO_EXT:=tif}
: ${TM_DRAGO_PREFIX:=drago_}
# tmDurand: various options
: ${TM_DURAND_GAMMA:=$TM_GAMMA} # for compatibility with version 0.9
: ${TM_DURAND_GAMMA:=2.2}
: ${TM_DURAND_OPTS:=-s 40 -r 0.4 -c 3}
: ${TM_DURAND_EXT:=tif}
: ${TM_DURAND_PREFIX:=durand_}
# tmPattanaik: various options
: ${TM_PATTANAIK_GAMMA:=$TM_GAMMA} # for compatibility with version 0.9
: ${TM_PATTANAIK_GAMMA:=2.2}
: ${TM_PATTANAIK_OPTS:=-m 250}
: ${TM_PATTANAIK_EXT:=tif}
: ${TM_PATTANAIK_PREFIX:=pattanaik_}
# tmReinhard02: various options
: ${TM_REINHARD02_GAMMA:=$TM_GAMMA} # for compatibility with version 0.9
: ${TM_REINHARD02_GAMMA:=2.2}
: ${TM_REINHARD02_OPTS:=}
: ${TM_REINHARD02_EXT:=tif}
: ${TM_REINHARD02_PREFIX:=reinhard02_}
# tmReinhard05: various options
: ${TM_REINHARD05_GAMMA:=$TM_GAMMA} # for compatibility with version 0.9
: ${TM_REINHARD05_GAMMA:=2.2}
: ${TM_REINHARD05_OPTS:=-b -8 -l 0.1}
: ${TM_REINHARD05_EXT:=tif}
: ${TM_REINHARD05_PREFIX:=reinhard05_}
# some versions of pfsout produce illegal TIFs. try pfsoutimgmagick instead
# : ${TM_PFSOUT:=pfsoutimgmagick}
: ${TM_PFSOUT:=pfsout}
# makeGIMP: output of layered xcf or psd file
# : ${GIMP_EXT=psd}
: ${GIMP_EXT:=xcf}
: ${GIMP_PREFIX:=gimp_}
: ${GIMP_LAYER_0:="$ENFUSE_PREFIX $ENFUSE_EXT baselayer 100"}
: ${GIMP_LAYER_1:="$TM_MANTIUK_PREFIX $TM_MANTIUK_EXT SOFTLIGHT-MODE 50"}
: ${GIMP_LAYER_2:="$TM_FATTAL_PREFIX $TM_FATTAL_EXT OVERLAY-MODE 100"}
# sharpenImages: various options
: ${SI_SRC_PREFIX:=$ENFUSE_PREFIX} # files to sharpen
: ${SI_DST_PREFIX:=} # prefix after sharpening
: ${SI_DST_EXT:=} # extension after sharpening
: ${SI_METHOD:=-unsharp} # or use -adaptive-sharpen
: ${SI_PARMS:=0x1} # default sharpen parameters
# List of all steps (modules) of the workflow.
#
# Optional steps: fixDate setRO enfuseImages makeHDR tmMantiuk tmFattal makeGIMP
#
# jpg2tif and raw2tif are alternatives, but you can leave both in the list
# of modules because they know what to do.
#
# fixCA and alignImages only create symbolic links, in cas that IMG_FIXCA=0
# or IMG_ALIGN=0 respectively.
#
# tmMantiuk and tmFattal need makeHDR. They both take a long time.
# makeGIMP needs enfuseImages, tmMantiuk und tmFattal
# define module-groups as variables
: ${baseModules:=copyFiles name2lc fixDate setRO jpg2tif raw2tif findGroups}
: ${alignModules:=fixCA alignImages}
: ${enfuseModules:=baseModules alignModules enfuseImages}
: ${hdrModules:=makeHDR tmMantiuk tmFattal \
tmDrago tmDurand tmPattanaik tmReinhard02 tmReinhard05}
: ${gimpModules:=enfuseModules hdrModules makeGIMP}
: ${adminModules:=delInterFiles setOrigDate mv2archive}
# set default modules
: ${MODULES:=enfuseModules}
Additional reference-material
EXIF-Tags
Every module writes the standard EXIF-tag ProcessingSoftware. The value of this tag is hdrff:module-name, e.g. the module alignImages writes the value hdrff:alignImages. The only exceptions to this rule are makeHDR and makeGIMP due to lack of EXIF-support for the target-format.

