#!/bin/tcsh -f

# tomres
# A script to determine resolution of a tilt series
# Usage:
#       tomres -size <x,y,z> -resolution <number> -postscript <file> <files>
# Example:
#       tomres -size 2048,2048,200 -resolution 20 -postscript res.ps "c*.star"
# Bernard Heymann
# 20070210 - 20070403

set SIZE = "2048,2048,240"
set RESLIM = 30
set PAD = 0
set PS = "res"

# Recreate command line
echo -n tomres
set a = 1
while ( $a <= $#argv )
	echo -n " $argv[$a]"
	@ a++
end
echo " "

if ( $#argv < 1 ) then
	echo "No input!"
	exit
endif

# Interpret options
set a = 1
while ( "x$argv[$a]" =~ x-* )
#	echo $a $argv[$a]
	if ( "x$argv[$a]" =~ x-siz* ) then
		@ a++
		set SIZE = $argv[$a]
	endif
	if ( "x$argv[$a]" =~ x-res* ) then
		@ a++
		set RESLIM = $argv[$a]
	endif
	if ( "x$argv[$a]" =~ x-pos* ) then
		@ a++
		set PS = $argv[$a]
	endif
	@ a++
end

set PF = $argv[$a]
set NMG = `bmg -v 4 $PF | awk '$1=="Micrographs:" { print $2 }'`

set PSB = `echo $PS | cut -f1 -d"."`

echo "Resolution estimation:"
echo "----------------------"
date
echo "Parameter file        = $PF"
echo "Number of micrographs = $NMG"
echo "Size                  = $SIZE"
echo "Resolution limit      = $RESLIM"
echo ""
echo Micrograph Resolution

set N = 0
while ( $N < $NMG )
	set JN = `printf "%s_%03d" $PSB $N`
	set PS = `printf "%s_%03d.ps" $PSB $N`
	echo btomres -v 1 -size $SIZE -fast 10 -cutoff 0.3 -mic $N -res $RESLIM -Post $PS $PF > ${JN}.log
	btomres -v 1 -size $SIZE -fast 10 -cutoff 0.3 -mic $N -res $RESLIM -Post $PS $PF >> ${JN}.log
#	psubmit btomres -v 1 -size $SIZE -fast 10 -cutoff 0.3 -mic $N -res $RESLIM -Post $PS $PF -jn $JN
	set RES = `awk '$1=="Resolution:" { print $2 }' ${JN}.log`
	echo $N $RES
	@ N++
end