#!/bin/tcsh -f

# mgft
# A script to generate micrograph Fourier transforms
# Usage:
#       mgft -size <x,y,z> -pad <integer> -output <file> <files>
# Example:
#       mgft -size 2048,2048,200 -pad 2 -output ft.star "c*.star"
# Bernard Heymann
# 20070210 - 20070220

set SIZE = "2048,2048,240"
set PAD = 0
set OF = "ft.star"

# 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-pad* ) then
		@ a++
		set PAD = $argv[$a]
	endif
	if ( "x$argv[$a]" =~ x-out* ) then
		@ a++
		set OF = $argv[$a]
	endif
	@ a++
end

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

set OFB = `echo $OF | cut -f1 -d"."`

set N = 0
while ( $N < $NMG )
	set JN = `printf "%s_%03d" $OFB $N`
	echo bmgft -select $N -pad $PAD -size $SIZE -out $JN.star $PF
	bmgft -select $N -pad $PAD -size $SIZE -out $JN.star $PF
	@ N++
end

bpartmulti -v 1 -merge -out $OF ${OFB}_???.star