# Last edited on 2016-04-12 13:26:22 by stolfilocal # Last edited on 2016-04-04 00:43:16 by stolfilocal PROG := dsm_analyze_shadows PROGDIR := .. TESTS := \ test1:032.0:256.0:000600:000500:0800:0400:200:200 # Comparing asphalt with shadowed asphalt: SHADOW_TESTS := \ test1:NOFLT:NOFLT:000600:000500:0800:0400:200:200 \ test1:032.0:256.0:000600:000500:0800:0400:200:200 # Comparing asphalt with dark cars: CAR_TESTS := \ test1:032.0:256.0:000850:000750:1272:0260:100:140 .PHONY:: run-all-tests run-single debug-single show-single clean-single include ${STOLFIHOME}/programs/c/GENERIC-PROGS-TEST.make all: run-all-tests run-all-tests: for test in ${TESTS} ; do \ ${MAKE} TEST_ARGS="$${test}" debug-single run-single ; \ done ###################################################################### # For recursive makes - caller must define ${TEST_ARGS} ifneq "/${TEST_ARGS}" "/" TEST_ARGS_WDS := ${subst :, ,${TEST_ARGS}} TEST_NAME := ${word 1, ${TEST_ARGS_WDS}} FILTER_RMIN := ${word 2, ${TEST_ARGS_WDS}} FILTER_RMAX := ${word 3, ${TEST_ARGS_WDS}} FRAME_NUM_A := ${word 4, ${TEST_ARGS_WDS}} FRAME_NUM_B := ${word 5, ${TEST_ARGS_WDS}} CROP_DX := ${word 6, ${TEST_ARGS_WDS}} CROP_DY := ${word 7, ${TEST_ARGS_WDS}} CROP_NX := ${word 8, ${TEST_ARGS_WDS}} CROP_NY := ${word 9, ${TEST_ARGS_WDS}} DATA_DIR := ../../00-DATA OUT_PREFIX := out/${TEST_NAME}_${FRAME_NUM_B}_${FILTER_RMIN}_${FILTER_RMAX}_ # Full input images: FRAME_FILE_A := ${DATA_DIR}/test1/t_frame_${FRAME_NUM_A}.png FRAME_FILE_B := ${DATA_DIR}/test1/t_frame_${FRAME_NUM_B}.png # Crop spec for "convert": CROP_SPEC := '${CROP_NX}x${CROP_NY}+${CROP_DX}+${CROP_DY}' # Cropped input images: IMAGE_FILE_A := ${OUT_PREFIX}A.png IMAGE_FILE_B := ${OUT_PREFIX}B.png # The filtering option: ifeq "/${FILTER_RMIN}" "/NOFLT" FILTER_OP := else FILTER_OP := -filter ${FILTER_RMIN} ${FILTER_RMAX} endif # Filtered versions of input images: FILTER_FILE_A := ${OUT_PREFIX}A_filter.png FILTER_FILE_B := ${OUT_PREFIX}B_filter.png # Image pairs, side-by-side: IMAGE_FILE_AB := ${OUT_PREFIX}AB.png FILTER_FILE_AB := ${OUT_PREFIX}AB_filter.png # Difference image: DIFF_FILE := ${OUT_PREFIX}diff.png PIXEL_FILE := ${OUT_PREFIX}pixels.txt PLOT_FILE := ${OUT_PREFIX}plot.png debug-single: @echo "TEST_NAME = ${TEST_NAME}" run-single: clean-single ${PLOT_FILE} show-single ${PIXEL_FILE}: ${PROGDIR}/${PROG} convert ${FRAME_FILE_A} -crop ${CROP_SPEC} png48:${IMAGE_FILE_A} convert ${FRAME_FILE_B} -crop ${CROP_SPEC} png48:${IMAGE_FILE_B} ${PROGDIR}/${PROG} \ -imageFormat PNG \ -imageA ${IMAGE_FILE_A} \ -imageB ${IMAGE_FILE_B} \ ${FILTER_OP} \ -outPrefix ${OUT_PREFIX} \ > ${PIXEL_FILE} convert +append ${IMAGE_FILE_A} ${IMAGE_FILE_B} png48:${IMAGE_FILE_AB} convert +append ${FILTER_FILE_A} ${FILTER_FILE_B} png48:${FILTER_FILE_AB} display -filter Box -resize '200%' -title '%f' \ ${IMAGE_FILE_AB} \ ${FILTER_FILE_AB} \ ${DIFF_FILE} ${PLOT_FILE}: ${PIXEL_FILE} ./plot_pixels.sh < ${PIXEL_FILE} > ${PLOT_FILE} show-single: ifeq "/${SHOW}" "/YES" display ${PLOT_FILE} endif clean-single: rm -fv ${OUT_PREFIX}*.{png,txt} endif # end ${TEST_ARGS} section ###################################################################### clean::