hdrff
hdrff
 

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.