#!/bin/bash

# BATCH_FLUO_PROCESS.SH 
# This shell script takes as argument the directory containing all
# unprocessed experiment directories in it. If no argument is passed, then this
# top directory will be $PWD.
# This script execute FLUO_PROCESS on each experiment folder (all in parallel for the moment). 
# 
# Author:	Adapted from Ctrax authors (Kristin Branson)
# Date:		March 29 2012
# Modified: Pavan Ramdya	adapted for FBI
#===========================================================================================

clear
echo `date`

max_process=`grep -c 'model name' /proc/cpuinfo`
topdir=$PWD
if test $# -ne 0
then
        topdir=$1
fi

dirnam=(`ls -d $topdir/*/`) # list all directories in current folder

echo "${#dirnam[*]} directories found"

# go through each directory
for (( i = 0 ; i < ${#dirnam[@]} ; i++ ))
do

        xpdir=${dirnam[i]}
        process=(`ps | grep -c fluo_process`) # count number of FLUO_PROCESSES running

        if test $process -lt  $max_process
        then
                if test ! -f $xpdir/movie.avi
                then
                        echo "There are unprocessed images in $xpdir"
                        echo "Start fluo_process"
                                fluo_process $xpdir &
                        sleep 10
                else
                        echo "Movie is already made in $xpdir"
                fi
        else
                # Wait for one minute to see if a process ended 
                sleep 60
                i=$i-1
        fi
done

exit 0

