#! /bin/bash set -e SELF=`basename $0` DIR=. ALIGN=N ENFUSE=N TONEMAP=N echo "$SELF: `date`" while [ "$1" != "" ]; do case "$1" in "-a") ALIGN=Y ;; "-e") ENFUSE=Y ;; "-t") TONEMAP=Y ;; "-d") DIR="$2" shift ;; *) echo "$SELF: Parameters" echo "$SELF: -d -> Directory" echo "$SELF: -a -> Align images" echo "$SELF: -e -> Create enfuse" echo "$SELF: -t -> Create and tonemap HDR" exit ;; esac shift done HDR="$DIR"/HDR FILES=("$DIR"/*.[Cc][Rr]2) COUNT=${#FILES[@]} echo "$SELF: Options:" echo "$SELF: Directory = $DIR" echo "$SELF: Output = $HDR" echo "$SELF: Align = $ALIGN" echo "$SELF: Enfuse = $ENFUSE" echo "$SELF: Tonemap = $TONEMAP" echo "$SELF: Files = ${FILES[*]}" if [ $COUNT -eq 0 ]; then echo "$SELF: No files found!!!" exit 1 fi echo "$SELF: Creating output directory:" mkdir "$HDR" echo "$SELF: Parsing EXIF information:" dcraw2hdrgen ${FILES[*]} > "$HDR"/pfs_raw.hdrgen echo "$SELF: Generating TIFFs" ufraw-batch --wb=camera --gamma=0.45 --linearity=0.10 --exposure=0.0 --saturation=1.0 --out-type=tiff --out-depth=16 --overwrite --out-path="$HDR" ${FILES[*]} FILES=("$HDR"/*.tif) if [ "$ALIGN" = "Y" -a $COUNT -gt 1 ]; then echo "$SELF: Aligning images" align_image_stack -a "$HDR"/AIS_ ${FILES[*]} > "$HDR"/align_image_stack.log rm -f ${FILES[*]} FILES=("$HDR"/AIS_*.tif) fi if [ "$ENFUSE" = "Y" ]; then if [ $COUNT -gt 1 ]; then echo "$SELF: Generating enfuse:" enfuse -o "$HDR"/enfuse.tif ${FILES[*]} > "$HDR"/enfuse.log else echo "$SELF: By-passing enfuse:" ln ${FILES[*]} "$HDR"/enfuse.tif fi fi if [ "$TONEMAP" = "Y" ]; then echo "$SELF: Parsing hdrgen" i=0 > "$HDR"/pfs_tif.hdrgen cat "$HDR"/pfs_raw.hdrgen | while read LINE; do echo "${FILES[$i]} $LINE" | cut -d' ' -f1,3- >> "$HDR"/pfs_tif.hdrgen i=`expr $i + 1` done echo "$SELF: Generating HDR:" pfsinhdrgen "$HDR"/pfs_tif.hdrgen | pfsout "$HDR"/pfs.hdr echo "$SELF: Tone-mapping HDR:" echo "$SELF: Operator = mantiuk06" pfsin "$HDR"/pfs.hdr | pfstmo_mantiuk06 -e 1 -s 1 | pfsgamma -g 2.2 | pfsout "$HDR"/pfstmo_mantiuk06.jpg echo "$SELF: Operator = fattal02" pfsin "$HDR"/pfs.hdr | pfstmo_fattal02 -s 1 | pfsout "$HDR"/pfstmo_fattal02.jpg fi echo "$SELF: Cleanning:" rm -f ${FILES[*]}