#!/bin/bash
#
# Submits PASMRI jobs to the SGE server for each foreground
# voxel of a data set.
#
# $Id: PAS_Submit,v 1.1 2008/12/08 17:48:43 bennett Exp $

set -e

# Find the directory containing this script.
SCRIPTDIR=${0%/*}

if [ $# != 6 ]; then
    echo "Usage: PAS_Submit <data file> <mask> <number of voxels> <scheme file> <number of b=0 measurements> <output directory>"
    exit
fi

DATAFILE=$1
MASK=$2
NUMVOX=$3
SCHEMEFILE=$4
NUMZEROMEAS=$5
OUTPUTDIR=$6

if [ ! -d $OUTPUTDIR ]; then
    mkdir $OUTPUTDIR
fi

SHREDDER=${SCRIPTDIR}/../bin/shredder
CHAR2TXT=${SCRIPTDIR}/../bin/char2txt
WRITEZEROS=${SCRIPTDIR}/WriteZeros
PADDER=${SCRIPTDIR}/StringZeroPad

INTERVAL=1

OUTCOMPS=`wc -l <$SCHEMEFILE`
OUTCOMPS=$((3-$NUMZEROMEAS+($OUTCOMPS-2)/3))
PDCOMPS=30
for((i=0; $i<$NUMVOX; i=$i+1)); do

    # Get the mask value.
    M=`$SHREDDER $i 1 100000000 < $MASK | $CHAR2TXT`

    if [ ! $M == "0" ]; then 
        qsub -l s_rt=01:59:00 ${SCRIPTDIR}/PAS_Wrapper $i $DATAFILE $SCHEMEFILE $OUTPUTDIR
        sleep $INTERVAL
    else
        VNPAD=`$PADDER $i 8`
        $WRITEZEROS $OUTCOMPS -exitcode -1 > $OUTPUTDIR/${VNPAD}.Bdouble
        $WRITEZEROS $PDCOMPS -exitcode -1 > $OUTPUTDIR/${VNPAD}_PDs.Bdouble
    fi

done
