summaryrefslogtreecommitdiffstats
path: root/funtools/funtest/tfunimage
diff options
context:
space:
mode:
Diffstat (limited to 'funtools/funtest/tfunimage')
-rwxr-xr-xfuntools/funtest/tfunimage227
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