diff options
Diffstat (limited to 'funtools/funtest/tfunimage')
-rwxr-xr-x | funtools/funtest/tfunimage | 227 |
1 files changed, 227 insertions, 0 deletions
diff --git a/funtools/funtest/tfunimage b/funtools/funtest/tfunimage new file mode 100755 index 0000000..ee8b5a8 --- /dev/null +++ b/funtools/funtest/tfunimage @@ -0,0 +1,227 @@ +#!/bin/sh +# set -x + +PLATFORM=`uname` +VERBOSE=0 +OPROG=../fundisp +NPROG=../funimage +STDIN=/dev/null +OFILE=${HOME}/data/snr.fits +NFILE=${HOME}/data/bzero.fits +X=504 +Y=512 + +if [ -r /usr/ucb/echo ]; then + ECHO=/usr/ucb/echo +else + ECHO=echo +fi + +while [ x"$1" != x ]; do + case $1 in + -1) + DO1=YES + shift + continue;; + -b) + shift + B="$1(" + B2=")" + shift + continue;; + -c) + shift + C="$1\;" + shift + continue;; + -e) + OM="field;-" + NM="-" + shift + continue;; + -f2) + shift + OFILE=$1 + shift + NFILE=$1 + shift + continue;; + -i) + DOINC=YES + shift + continue;; + -n) + shift + NPROG=$1 + shift + continue;; + -o) + shift + OPROG=$1 + shift + continue;; + -p) + shift + STDIN=$NFILE + if [ x`$ECHO $STDIN | awk -F. '{print $NF}'` = x"gz" ]; then + NFILE=stdin.gz + else + NFILE=stdin + fi + shift + continue;; + -P) + DO1=YES + NPROG=../funimage.pure + shift + continue;; + -V) + DO1=YES + NPROG="/usr/bin/valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --trace-children=yes ../funimage" + shift + continue;; + -v) + VERBOSE=1 + shift + continue;; + -v2) + VERBOSE=2 + shift + continue;; + -x) + shift + X=$1 + shift + continue;; + -y) + shift + Y=$1 + shift + continue;; + -z) + ZBUG=true + shift + continue;; + *) + shift + continue;; + esac +done + +X2=`$ECHO "$X + 10" | bc` +Y2=`$ECHO "$Y + 10" | bc` +X3=`$ECHO "$X + 20" | bc` +Y3=$Y +X4=`$ECHO "$X + 10" | bc` +Y4=`$ECHO "$Y - 10" | bc` + +$ECHO "OPROG="${OPROG} "FILE="${OFILE} +$ECHO "NPROG="${NPROG} "FILE="${NFILE} + +IFS=" " +while read ARG1 ARG2 ARG3; do + if [ x"$ARG1" = x ]; then + continue + fi + if [ x`$ECHO $ARG1 | sed 's/^#.*/YES/g'` = x"YES" ]; then + continue + fi + CMD=$ARG1 + eval "ARG2=\"${C}$ARG2\"" + eval "ARG3=\"${C}$ARG3\"" + if [ x$CMD = xZIEXACT ]; then + if [ x$FILTER_PAINT = xtrue ]; then + continue + else + CMD=EXACT + fi + fi + if [ x$CMD = xZEXACT ]; then + if [ x$FILTER_PAINT = xtrue ]; then + CMD=SUM + else + CMD=EXACT + fi + fi + case $CMD in + OPROG) + OPROG=$ARG2 + $ECHO OPROG="${OPROG}" + ;; + NPROG) + NPROG=$ARG2 + $ECHO NPROG="${NPROG}" + ;; + OFILE) + OFILE=$ARG2 + $ECHO OFILE="${OFILE}" + ;; + NFILE) + NFILE=$ARG2 + $ECHO NFILE="${NFILE}" + ;; + EXCLUDE) + OM="field;-" + NM="-" + ;; + EXIT) + exit + ;; + EXACT|SUM|REV) + if [ x"$DO1" = xYES ]; then + $ECHO "${M}DO1: $ARG3" + cat $STDIN | $NPROG ${NFILE}"[${B}${NM}$ARG3${B2}]" stdout | $OPROG stdin| sed -e '1,2d;s/[0-9]*://g;s/ +/ /g' | awk '{for(i=1;i<=NF;i++){printf("%.2f ",$i)}printf("\n");}' > funimage2.out + else + if [ x"$DOINC" = xYES ]; then + $ECHO "$ARG3" > arg3.inc + $ECHO "${M}EXACT: ${B}$ARG2${B2} ... ${B}@include($ARG3)${B2}" + ARG3="@arg3.inc" + else + $ECHO "${M}EXACT: ${B}$ARG2 ... ${B}$ARG3" + fi + CMP=yes + XPROG="" + $OPROG ${OFILE}"[${B}${OM}$ARG2${B2}]" | sed -e '1,2d;s/[0-9]*://g;s/ +/ /g' | awk '{for(i=1;i<=NF;i++){printf("%.2f ",$i)}printf("\n");}'> tfunimage1.out + if test $? -ne 0; then + CMP=no + XPROG="$OPROG" + fi + cat $STDIN | $NPROG ${NFILE}"[${B}${NM}$ARG3${B2}]" stdout | $OPROG stdin| sed -e '1,2d;s/[0-9]*://g;s/ +/ /g' | awk '{for(i=1;i<=NF;i++){printf("%.2f ",$i)}printf("\n");}' > tfunimage2.out + if test $? -ne 0; then + CMP=no + XPROG="${XPROG:-}${XPROG:+' '}$NPROG" + fi + if [ x"$CMP" = xyes ]; then + if [ x"$ZBUG" = xtrue ]; then + sed "/^ *$X $Y.*$/d" < tfunimage1.out > funimage1.out + sed "/^ *$X $Y.*$/d" < tfunimage2.out > funimage2.out + else + mv tfunimage1.out funimage1.out + mv tfunimage2.out funimage2.out + fi + diff funimage1.out funimage2.out + else + $ECHO "skipping compare due to errors in $XPROG" + fi + fi + $ECHO " " + ;; + *) + $ECHO "ERROR: unknown command: $CMD" + exit 1 + ;; + esac + if [ $VERBOSE = 1 ]; then + $ECHO "***** funimage1.out *****" + cat funimage1.out + fi + if [ $VERBOSE = 2 ]; then + $ECHO "***** funimage1.out *****" + cat funimage1.out + $ECHO "***** funimage2.out *****" + cat funimage2.out + fi + rm -f err.log +done + +rm -f funimage1.out funimage2.out tfunimage1.out tfunimage2.out |