#! /bin/sh
#
# Script to view header info of MINC files.
#
# Usage: mincheader [-data] <file.mnc>
# Exit status: status of `mincdump'
#
#
# Modifications: 
#   $Log: mincheader,v $
#   Revision 6.3  2004/04/27 15:32:58  bert
#   Use mincdump instead of ncdump
#
#   Revision 6.2  2000/09/12 15:20:07  neelin
#   Rewrite in Bourne shell by Steve Robbins. Returns exit status from mincdump.
#
#   Revision 6.1  1999/10/19 14:45:23  neelin
#   Fixed Log subsitutions for CVS
#
#   Revision 6.0  1997/09/12 13:23:37  neelin
#   Release of minc version 0.6
#   
#   Revision 5.0  1997/08/21  13:24:37  neelin
#   Release of minc version 0.5
#  
#   Revision 4.0  1997/05/07  20:00:42  neelin
#   Release of minc version 0.4
#  
#   Revision 3.0  1995/05/15  19:31:32  neelin
#   Release of minc version 0.3
#  
#   Revision 2.2  1995/01/25  08:04:41  neelin
#   Added check for failure to read minc file.
#  
#   Revision 2.1  95/01/24  10:19:09  neelin
#   Added support for compressed files.
#   
#   Revision 2.0  94/09/28  10:34:10  neelin
#   Release of minc version 0.2
#   
#   Revision 1.6  94/09/28  10:34:06  neelin
#   Pre-release
#   
#   Revision 1.5  93/10/14  10:09:35  neelin
#   Fixed usage error message.
#   
#   Revision 1.4  93/08/25  11:24:20  neelin
#   Added checking for -h or -help options.
#   
#   Revision 1.3  93/08/11  15:20:55  neelin
#   Added RCS logging in source.
# 

die () {
    echo >&2 $@
    exit 1
}

usage="Usage: $0 [-data] <minc file>" 
header_opts='-header_only'
header_only=yes

while test $# -gt 0; do 
    case $1 in
	-h|-help) echo $usage; exit 0 ;;
	-data) header_opts='-all_data'; header_only=no ;;
	*) break;
    esac
    shift
done	
test $# -eq 1 || die $usage
test -f $1 || die "no such file $1"


if test x$TMPDIR = x; then
    for TMPDIR in /usr/tmp /var/tmp /tmp; do
	test -d $TMPDIR && break;
    done
fi
test -d $TMPDIR || die "TMPDIR $TMPDIR does not exist."

tmpfile="$TMPDIR/mincheader-$$-tmp"
trap "/bin/rm -f $tmpfile" 0 1 2 15
dumpfile=`mincexpand $1 $tmpfile -name_only $header_opts`

# For a compressed file, dump header only unless directed otherwise
if test $dumpfile = $tmpfile -a $header_only = yes; then
    mincdump -h $dumpfile
else
#  Get variables names (excluding image): remove leading "image", remove word 
#  "image", collapse multiple blanks to one, remove leading blanks, remove
#  trailing blanks, replace blanks with commas
    vars=`mincinfo -varnames $dumpfile | \
	sed -e 's/^image //g' \
	    -e 's/ image / /g' \
	    -e 's/  */ /g' \
	    -e 's/^ //' \
	    -e 's/ $//' \
	    -e 's/ /,/g'`
    test x$vars = x || mincdump -v "$vars" $dumpfile
fi

