
# makefile for panorama stitching, created by hugin using the new makefilelib

# Force using cmd.exe
SHELL=C:\Windows\system32\cmd.exe

# Tool configuration
NONA="C:/Program Files/Hugin/bin/nona"
PTSTITCHER="PTStitcher"
PTMENDER="C:/Program Files/Hugin/bin/PTmender"
PTBLENDER="C:/Program Files/Hugin/bin/PTblender"
PTMASKER="C:/Program Files/Hugin/bin/PTmasker"
PTROLLER="C:/Program Files/Hugin/bin/PTroller"
ENBLEND="C:/Program Files/Hugin/bin/enblend"
ENFUSE="C:/Program Files/Hugin/bin/enfuse"
SMARTBLEND="smartblend.exe"
HDRMERGE="C:/Program Files/Hugin/bin/hugin_hdrmerge"
RM=del
EXIFTOOL="C:/Program Files/Hugin/bin/exiftool"

# Project parameters
HUGIN_PROJECTION=1
HUGIN_HFOV=68
HUGIN_WIDTH=4555
HUGIN_HEIGHT=2643

# options for the programs
NONA_LDR_REMAPPED_COMP=-z LZW
NONA_OPTS=
ENBLEND_OPTS= -f4162x2004+188+280
ENBLEND_LDR_COMP=--compression=LZW
ENBLEND_EXPOSURE_COMP=--compression=LZW
ENBLEND_HDR_COMP=
HDRMERGE_OPTS=-m avg -c
ENFUSE_OPTS=
EXIFTOOL_COPY_ARGS=-ImageDescription -Make -Model -Artist -WhitePoint -Copyright -GPS:all -DateTimeOriginal -CreateDate -UserComment -ColorSpace -OwnerName -SerialNumber
EXIFTOOL_INFO_ARGS="-Software=Hugin 2011.4.0.cf9be9344356 built by Matthew Petroff" "-UserComment<$${UserComment}&\#xd;&\#xa;Projection: Cylindrical (1)&\#xd;&\#xa;FOV: 68 x 38&\#xd;&\#xa;Ev: 11.97" -f

# the output panorama
LDR_REMAPPED_PREFIX=IMG_4852-IMG_4852
LDR_REMAPPED_PREFIX_SHELL="IMG_4852-IMG_4852"
HDR_STACK_REMAPPED_PREFIX=IMG_4852-IMG_4852_hdr_
HDR_STACK_REMAPPED_PREFIX_SHELL="IMG_4852-IMG_4852_hdr_"
LDR_EXPOSURE_REMAPPED_PREFIX=IMG_4852-IMG_4852_exposure_layers_
LDR_EXPOSURE_REMAPPED_PREFIX_SHELL="IMG_4852-IMG_4852_exposure_layers_"
PROJECT_FILE=Z:/Dad\ 60th\ Group/IMG_4852-IMG_4852.pto
PROJECT_FILE_SHELL="Z:/Dad 60th Group/IMG_4852-IMG_4852.pto"
LDR_BLENDED=IMG_4852-IMG_4852.tif
LDR_BLENDED_SHELL="IMG_4852-IMG_4852.tif"
LDR_STACKED_BLENDED=IMG_4852-IMG_4852_fused.tif
LDR_STACKED_BLENDED_SHELL="IMG_4852-IMG_4852_fused.tif"
LDR_EXPOSURE_LAYERS_FUSED=IMG_4852-IMG_4852_blended_fused.tif
LDR_EXPOSURE_LAYERS_FUSED_SHELL="IMG_4852-IMG_4852_blended_fused.tif"
HDR_BLENDED=IMG_4852-IMG_4852_hdr.exr
HDR_BLENDED_SHELL="IMG_4852-IMG_4852_hdr.exr"

# first input image
INPUT_IMAGE_1=Z:/Dad\ 60th\ Group/IMG_4852.tif
INPUT_IMAGE_1_SHELL="Z:/Dad 60th Group/IMG_4852.tif"

# all input images
INPUT_IMAGES=Z:/Dad\ 60th\ Group/IMG_4852.tif
INPUT_IMAGES_SHELL="Z:/Dad 60th Group/IMG_4852.tif"

# remapped images
LDR_LAYERS=IMG_4852-IMG_48520000.tif
LDR_LAYERS_SHELL="IMG_4852-IMG_48520000.tif"

# remapped images (hdr)
HDR_LAYERS=IMG_4852-IMG_4852_hdr_0000.exr
HDR_LAYERS_SHELL="IMG_4852-IMG_4852_hdr_0000.exr"

# remapped maxval images
HDR_LAYERS_WEIGHTS=IMG_4852-IMG_4852_hdr_0000_gray.pgm
HDR_LAYERS_WEIGHTS_SHELL="IMG_4852-IMG_4852_hdr_0000_gray.pgm"

# stacked hdr images
HDR_STACK_0=IMG_4852-IMG_4852_stack_hdr_0000.exr
HDR_STACK_0_SHELL="IMG_4852-IMG_4852_stack_hdr_0000.exr"
HDR_STACK_0_INPUT=IMG_4852-IMG_4852_hdr_0000.exr
HDR_STACK_0_INPUT_SHELL="IMG_4852-IMG_4852_hdr_0000.exr"
HDR_STACKS_NUMBERS=0 
HDR_STACKS=$(HDR_STACK_0) 
HDR_STACKS_SHELL=$(HDR_STACK_0_SHELL) 

# number of image sets with similar exposure
LDR_EXPOSURE_LAYER_0=IMG_4852-IMG_4852_exposure_0000.tif
LDR_EXPOSURE_LAYER_0_SHELL="IMG_4852-IMG_4852_exposure_0000.tif"
LDR_EXPOSURE_LAYER_0_INPUT=IMG_4852-IMG_4852_exposure_layers_0000.tif
LDR_EXPOSURE_LAYER_0_INPUT_SHELL="IMG_4852-IMG_4852_exposure_layers_0000.tif"
LDR_EXPOSURE_LAYER_0_INPUT_PTMENDER=IMG_4852-IMG_48520000.tif
LDR_EXPOSURE_LAYER_0_INPUT_PTMENDER_SHELL="IMG_4852-IMG_48520000.tif"
LDR_EXPOSURE_LAYER_0_EXPOSURE=11.9658
LDR_EXPOSURE_LAYERS_NUMBERS=0 
LDR_EXPOSURE_LAYERS=$(LDR_EXPOSURE_LAYER_0) 
LDR_EXPOSURE_LAYERS_SHELL=$(LDR_EXPOSURE_LAYER_0_SHELL) 
LDR_EXPOSURE_LAYERS_REMAPPED=IMG_4852-IMG_4852_exposure_layers_0000.tif
LDR_EXPOSURE_LAYERS_REMAPPED_SHELL="IMG_4852-IMG_4852_exposure_layers_0000.tif"

# stacked ldr images
LDR_STACK_0=IMG_4852-IMG_4852_stack_ldr_0000.tif
LDR_STACK_0_SHELL="IMG_4852-IMG_4852_stack_ldr_0000.tif"
LDR_STACK_0_INPUT=IMG_4852-IMG_4852_exposure_layers_0000.tif
LDR_STACK_0_INPUT_SHELL="IMG_4852-IMG_4852_exposure_layers_0000.tif"
LDR_STACKS_NUMBERS=0 
LDR_STACKS=$(LDR_STACK_0) 
LDR_STACKS_SHELL=$(LDR_STACK_0_SHELL) 
DO_LDR_BLENDED=1

all : startStitching $(LDR_BLENDED) 

startStitching : 
	@echo ===========================================================================
	@echo Stitching panorama
	@echo ===========================================================================

clean : 
	@echo ===========================================================================
	@echo Remove temporary files
	@echo ===========================================================================
	-$(RM) $(LDR_LAYERS_SHELL) 

test : 
	@echo ===========================================================================
	@echo Testing programs
	@echo ===========================================================================
	@echo Checking nona...
	@-$(NONA) --help > NUL 2>&1 && echo nona is ok || echo nona failed
	@echo Checking enblend...
	@-$(ENBLEND) -h > NUL 2>&1 && echo enblend is ok || echo enblend failed
	@echo Checking enfuse...
	@-$(ENFUSE) -h > NUL 2>&1 && echo enfuse is ok || echo enfuse failed
	@echo Checking hugin_hdrmerge...
	@-$(HDRMERGE) -h > NUL 2>&1 && echo hugin_hdrmerge is ok || echo hugin_hdrmerge failed
	@echo Checking exiftool...
	@-$(EXIFTOOL) -ver > NUL 2>&1 && echo exiftool is ok || echo exiftool failed

info : 
	@echo ===========================================================================
	@echo ***************  Panorama makefile generated by Hugin       ***************
	@echo ===========================================================================
	@echo System information
	@echo ===========================================================================
	@echo Operating System: Windows 7 (6.1 Service Pack 1)
	@echo Architecture: AMD64
	@echo Number of logical processors: 4
	@echo Physical memory: 16682392 kiB (26%% occupied)
	@echo Free space on disc: 87861 MiB
	@echo Active codepage: 1252 (Western European Windows)
	@echo ===========================================================================
	@echo Output options
	@echo ===========================================================================
	@echo Hugin Version: 2011.4.0.cf9be9344356 built by Matthew Petroff
	@echo Project file: Z:\Dad 60th Group\IMG_4852-IMG_4852.pto
	@echo Output prefix: IMG_4852-IMG_4852
	@echo Projection: Cylindrical (1)
	@echo Field of view: 68 x 38
	@echo Canvas dimensions: 4555 x 2643
	@echo Crop area: (188,280) - (4350,2284)
	@echo Output exposure value: 11.97
	@echo Selected outputs
	@echo Normal panorama
	@echo * Blended panorama
	@echo ===========================================================================
	@echo Input images
	@echo ===========================================================================
	@echo Number of images in project file: 1
	@echo Number of active images: 1
	@echo Image 0: Z:\Dad 60th Group\IMG_4852.tif
	@echo Image 0: Size 5184x2620, Exposure: 11.97

# Rules for ordinary TIFF_m and hdr output

IMG_4852-IMG_48520000.tif : Z:/Dad\ 60th\ Group/IMG_4852.tif $(PROJECT_FILE) 
	$(NONA) $(NONA_OPTS) $(NONA_LDR_REMAPPED_COMP) -r ldr -m TIFF_m -o $(LDR_REMAPPED_PREFIX_SHELL) -i 0 $(PROJECT_FILE_SHELL)

IMG_4852-IMG_4852_hdr_0000.exr : Z:/Dad\ 60th\ Group/IMG_4852.tif $(PROJECT_FILE) 
	$(NONA) $(NONA_OPTS) -r hdr -m EXR_m -o $(HDR_STACK_REMAPPED_PREFIX_SHELL) -i 0 $(PROJECT_FILE_SHELL)

# Rules for exposure layer output

IMG_4852-IMG_4852_exposure_layers_0000.tif : Z:/Dad\ 60th\ Group/IMG_4852.tif $(PROJECT_FILE) 
	$(NONA) $(NONA_OPTS) $(NONA_LDR_REMAPPED_COMP) -r ldr -e 11.9658 -m TIFF_m -o $(LDR_EXPOSURE_REMAPPED_PREFIX_SHELL) -i 0 $(PROJECT_FILE_SHELL)

# Rules for LDR and HDR stack merging, a rule for each stack

$(LDR_STACK_0) : $(LDR_STACK_0_INPUT) 
	$(ENFUSE) $(ENFUSE_OPTS) -o $(LDR_STACK_0_SHELL) -- $(LDR_STACK_0_INPUT_SHELL)
	-$(EXIFTOOL) -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) $(EXIFTOOL_COPY_ARGS) $(LDR_STACK_0_SHELL)

$(HDR_STACK_0) : $(HDR_STACK_0_INPUT) 
	$(HDRMERGE) $(HDRMERGE_OPTS) -o $(HDR_STACK_0_SHELL) -- $(HDR_STACK_0_INPUT_SHELL)

$(LDR_BLENDED) : $(LDR_LAYERS) 
	$(ENBLEND) $(ENBLEND_LDR_COMP) $(ENBLEND_OPTS) -o $(LDR_BLENDED_SHELL) -- $(LDR_LAYERS_SHELL)
	-$(EXIFTOOL) -E -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) $(EXIFTOOL_COPY_ARGS) $(EXIFTOOL_INFO_ARGS) $(LDR_BLENDED_SHELL)

$(LDR_EXPOSURE_LAYER_0) : $(LDR_EXPOSURE_LAYER_0_INPUT) 
	$(ENBLEND) $(ENBLEND_EXPOSURE_COMP) $(ENBLEND_OPTS) -o $(LDR_EXPOSURE_LAYER_0_SHELL) -- $(LDR_EXPOSURE_LAYER_0_INPUT_SHELL)
	-$(EXIFTOOL) -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) $(EXIFTOOL_COPY_ARGS) $(LDR_EXPOSURE_LAYER_0_SHELL)

$(LDR_STACKED_BLENDED) : $(LDR_STACKS) 
	$(ENBLEND) $(ENBLEND_LDR_COMP) $(ENBLEND_OPTS) -o $(LDR_STACKED_BLENDED_SHELL) -- $(LDR_STACKS_SHELL)
	-$(EXIFTOOL) -E -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) $(EXIFTOOL_COPY_ARGS) $(EXIFTOOL_INFO_ARGS) $(LDR_STACKED_BLENDED_SHELL)

$(LDR_EXPOSURE_LAYERS_FUSED) : $(LDR_EXPOSURE_LAYERS) 
	$(ENFUSE) $(ENBLEND_LDR_COMP) $(ENFUSE_OPTS) -o $(LDR_EXPOSURE_LAYERS_FUSED_SHELL) -- $(LDR_EXPOSURE_LAYERS_SHELL)
	-$(EXIFTOOL) -E -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) $(EXIFTOOL_COPY_ARGS) $(EXIFTOOL_INFO_ARGS) $(LDR_EXPOSURE_LAYERS_FUSED_SHELL)

$(HDR_BLENDED) : $(HDR_STACKS) 
	$(ENBLEND) $(ENBLEND_HDR_COMP) $(ENBLEND_OPTS) -o $(HDR_BLENDED_SHELL) -- $(HDR_STACKS_SHELL)

$(LDR_REMAPPED_PREFIX)_multilayer.tif : $(LDR_LAYERS) 
	tiffcp $(LDR_LAYERS_SHELL) $(LDR_REMAPPED_PREFIX_SHELL)_multilayer.tif

$(LDR_REMAPPED_PREFIX)_fused_multilayer.tif : $(LDR_STACKS) $(LDR_EXPOSURE_LAYERS) 
	tiffcp $(LDR_STACKS_SHELL) $(LDR_EXPOSURE_LAYERS_SHELL) $(LDR_REMAPPED_PREFIX_SHELL)_fused_multilayer.tif

$(LDR_REMAPPED_PREFIX)_multilayer.psd : $(LDR_LAYERS) 
	PTtiff2psd -o $(LDR_REMAPPED_PREFIX_SHELL)_multilayer.psd $(LDR_LAYERS_SHELL)

$(LDR_REMAPPED_PREFIX)_fused_multilayer.psd : $(LDR_STACKS) $(LDR_EXPOSURE_LAYERS) 
	PTtiff2psd -o $(LDR_REMAPPED_PREFIX_SHELL)_fused_multilayer.psd $(LDR_STACKS_SHELL)$(LDR_EXPOSURE_LAYERS_SHELL)
