DST?=winter-24
TMPPFX?=tmp

CPUS?=4
MEM?=16384
DEPTH?=16
IMCOMP?=lzw
ENCOMP?=LZW
WMERGE?=
WBLEND?=--wrap=horizontal
RGBPROFILE?=../../tools/profiles/RGB.icc
sRGBPROFILE?=../../tools/profiles/sRGB.icm
DPI?=150

CONV?=convert -limit area ${MEM}MiB -limit map ${MEM}MiB
REMAP?=eval nona -v -t ${CPUS} -m TIFF_m -r hdr -p FLOAT -z ${ENCOMP} -o ${TMPPFX}-
FFUSE?=eval enfuse -v --compression=${ENCOMP} --exposure-weight=0 --saturation-weight=0  --contrast-weight=1 --hard-mask
MERGE?=sh ../../tools/merge-wrapper -v -m khan -i 1 -s 15 -a m -M ${MEM} -B 32768 -O
DEGHOST?=deghosting_mask -v -s 60 -c 0.8 -t 150 -i 8 -a mw
BLEND?=eval enblend -v --compression=${ENCOMP} --fine-mask --primary-seam-generator=nearest-feature-transform --mask-vectorize=10 ${WBLEND} -f 16384x8192

EXIFTFF?=exiftool -overwrite_original -P -TagsFromFile
#EXIFTAG?=-EXIF:ExposureTime -EXIF:ShutterSpeedValue -EXIF:ApertureValue -EXIF:ISO
EXIFTAG?=-EXIF:All -GPS:All -XResolution=${DPI} -YResolution=${DPI}

RMSRC=echo
RMTMP=echo
RMDST=echo
MV=mv
LN=ln -f

all: ${DST}.tiff

HDRBEV?=0

${TMPPFX}-0000.tif: ${DST}.pto winter-24-sph.tiff
	@${REMAP} -i 0 -e 0 ${DST}.pto
${TMPPFX}fwinter-24-sph.tiff: ${TMPPFX}-0000.tif
	@${LN} ${TMPPFX}-0000.tif ${TMPPFX}fwinter-24-sph.tiff
	@${EXIFTFF} winter-24-sph.tiff ${EXIFTAG} ${TMPPFX}fwinter-24-sph.tiff
	@${RMTMP} ${TMPPFX}-0000.tif
${TMPPFX}ewinter-24-sph.tiff: ${TMPPFX}fwinter-24-sph.tiff
	@${LN} ${TMPPFX}fwinter-24-sph.tiff ${TMPPFX}ewinter-24-sph.tiff
	@${EXIFTFF} ${TMPPFX}fwinter-24-sph.tiff ${EXIFTAG} ${TMPPFX}ewinter-24-sph.tiff
	@${RMTMP} ${TMPPFX}fwinter-24-sph.tiff
${TMPPFX}twinter-24-sph.tiff: ${TMPPFX}ewinter-24-sph.tiff
	@${LN} ${TMPPFX}ewinter-24-sph.tiff ${TMPPFX}twinter-24-sph.tiff
	@${RMTMP} ${TMPPFX}ewinter-24-sph.tiff
${TMPPFX}winter-24-sph.tiff: ${TMPPFX}twinter-24-sph.tiff
	@${LN} ${TMPPFX}twinter-24-sph.tiff ${TMPPFX}winter-24-sph.tiff
	@${RMTMP} ${TMPPFX}twinter-24-sph.tiff
${TMPPFX}-0001.tif: ${DST}.pto winter-24-ndr.tiff
	@${REMAP} -i 1 -e 0 ${DST}.pto
${TMPPFX}fwinter-24-ndr.tiff: ${TMPPFX}-0001.tif
	@${LN} ${TMPPFX}-0001.tif ${TMPPFX}fwinter-24-ndr.tiff
	@${EXIFTFF} winter-24-ndr.tiff ${EXIFTAG} ${TMPPFX}fwinter-24-ndr.tiff
	@${RMTMP} ${TMPPFX}-0001.tif
${TMPPFX}ewinter-24-ndr.tiff: ${TMPPFX}fwinter-24-ndr.tiff
	@${LN} ${TMPPFX}fwinter-24-ndr.tiff ${TMPPFX}ewinter-24-ndr.tiff
	@${EXIFTFF} ${TMPPFX}fwinter-24-ndr.tiff ${EXIFTAG} ${TMPPFX}ewinter-24-ndr.tiff
	@${RMTMP} ${TMPPFX}fwinter-24-ndr.tiff
${TMPPFX}twinter-24-ndr.tiff: ${TMPPFX}ewinter-24-ndr.tiff
	@${LN} ${TMPPFX}ewinter-24-ndr.tiff ${TMPPFX}twinter-24-ndr.tiff
	@${RMTMP} ${TMPPFX}ewinter-24-ndr.tiff
${TMPPFX}winter-24-ndr.tiff: ${TMPPFX}twinter-24-ndr.tiff
	@${LN} ${TMPPFX}twinter-24-ndr.tiff ${TMPPFX}winter-24-ndr.tiff
	@${RMTMP} ${TMPPFX}twinter-24-ndr.tiff

${TMPPFX}.tiff: ${TMPPFX}winter-24-sph.tiff ${TMPPFX}winter-24-ndr.tiff
	@${RMSRC}  winter-24-sph.tiff ${TMPPFX}-0000_gray.pgm winter-24-ndr.tiff ${TMPPFX}-0001_gray.pgm
	@${BLEND} -o ${TMPPFX}.tiff ${TMPPFX}winter-24-sph.tiff ${TMPPFX}winter-24-ndr.tiff
	@${RMTMP} ${TMPPFX}winter-24-sph.tiff ${TMPPFX}winter-24-ndr.tiff
${DST}.tiff: ${TMPPFX}.tiff 
	@pfsin ${TMPPFX}.tiff \
	 | pfsclamp --min 1e-20 --max 1e+20 \
	 | pfsgamma -m 1.00 -g 1.00 \
	 | pfswb -v -r 1.000 -g 1.000 -b 1.000 \
	 | pfsclamp --min 1e-20 --max 1e+20 \
	 | pfstmo_reinhard05 -v -b 0.00 -c 0.90 -l 0.40 \
	 | pfsoutimgmagick -s -b 16 ${DST}.tiff
	@${RMTMP} ${TMPPFX}.tiff
	@${CONV} ${DST}.tiff \
		+matte +repage  \
		-compress ${IMCOMP} ${DST}.tiff

clean: 
	@-${RMSRC} winter-24-sph.tiff ${TMPPFX}-0000_gray.pgm winter-24-ndr.tiff ${TMPPFX}-0001_gray.pgm
	@-${RMTMP} ${TMPPFX}-0000.tif ${TMPPFX}-0001.tif
	@-${RMTMP} ${TMPPFX}fwinter-24-sph.tiff ${TMPPFX}ewinter-24-sph.tiff ${TMPPFX}twinter-24-sph.tiff ${TMPPFX}fwinter-24-ndr.tiff ${TMPPFX}ewinter-24-ndr.tiff ${TMPPFX}twinter-24-ndr.tiff
	@-${RMTMP} ${TMPPFX}winter-24-sph.tiff ${TMPPFX}winter-24-ndr.tiff
	@-${RMTMP} ${TMPPFX}.tiff 
	@-${RMDST} ${DST}.tiff
