#!/bin/bash
#
##############################################################################
# bake: Automated data processing script for barbo deployments
#
# History
#    02-APR-2014    Henthorn    Initial version just converts .b16 -> .tiff
#
##############################################################################

if [ $# -ne 1 -a $# -ne 2 ]; then
    echo "bake: Automated data processing for barbo deployments"
    echo "Usage:"
    echo "   $ bake.sh [-s] path-to-deployment-data-directory"
    echo "     -s : SES deployment (no transit or chamber image directories needed)"
    exit
fi

instr="Rover"
if [ $1 = -s ]; then
  instr="SES"
  shift
fi

# First, ensure that the deployment directory exists
#
depdir=""
if [ -d $1 ]
then
    depdir=$1
    cd $depdir
else
    echo "bake: Directory $1 not found!"
    exit
fi

# Next, unzip and untar the plan data packages
#
echo ""
echo "######################## Baking $depdir #########################"
echo ""
#echo "===============  Unzipping plan zip files  ================"
#echo ""
#for plan in plan-*.gz; do
#    echo "bake: Unzipping" $plan "..."
#    gunzip -f $plan
#done

#echo ""
#echo "===============  Extract plan tar files  ================"
#echo ""
#for plan in plan-*.tar; do
#    echo "bake: Untarring" $plan "..."
#    tar xf $plan
#done

# For each plan directory:
#     - Convert the images from bayer to tiff (bayer2tiff)
#     - Something else?
#
for plandir in plan-*; do
    if [ -d $plandir ]
    then
      echo ""
      echo "bake: ----------  Processing" $plandir "..."
      echo ""
      cd $plandir

      # If there are already tiff images in this folder, skip
      ntiff=`find . -name *.tiff | wc -l`
      nb16=`find . -name *.b16 | wc -l`
      if [ $ntiff -ne $nb16 ]; then
        echo "bake: ---------- " $nb16 " undeveloped b16 files found in " $plandir "..."
        find . -name *.b16 -exec bayer2tiff {} \;
      else
        echo "bake: ----------  All b16 images already processed in " $plandir "..."
      fi

      echo ""
      if [ $instr = "Rover" ]; then
        nf=`find . -name *Fluoro*.tiff | wc -l`
        echo "bake: $nf fluorometry images in $plandir" 

        nt=`find . -name *Trans*.tiff | wc -l`
        echo "bake: $nt transit images in $plandir"
      fi

      if [ $instr = "SES" ]; then
        nf=`find . -name *.tiff | wc -l`
        echo "bake: $nf SES images in $plandir" 
      fi

      cd ..
    fi
done

# Make directories for the images and copy
#
# First, the fluorometry images...
#
echo ""
if [ $instr = "Rover" ]; then
  mkdir -p fluoro_images
  echo "bake: ----------  Copying fluoro pics to fluoro_images..."
  find . -name *RoverFl*.tiff -exec cp -v {} fluoro_images/. \;
else
  cd ..
  pwd
  echo "mkdir -p $depdir/images..."
  mkdir -p $depdir/images
  cd $depdir/images
  echo "bake: ----------  Converting tiffs to jpeg in images folder..."
  ntiffs=`find ../. -name *SE*.tiff | wc -l`
  echo "Foung $ntiffs tiffs..."
  find ../. -name *SE*.tiff -exec tiff2jpeg.sh {} \;
fi

# Next, if this is a Rover deployment, then do the
# transit and chamber images...
#
if [ $instr = "Rover" ]; then
  echo ""
  echo "bake: ----------  Copying transit pics to transit_images..."
  mkdir transit_images
  if [ -d transit_images ]; then
    find . -name *Tran*.tiff -exec cp -v {} transit_images/. \;
  else
    echo "bake: Error: transit_images directory not found"
  fi

  echo ""
  echo "bake: ----------  Copying chamber pics to chamber_images..."
  mkdir chamber_images
  if [ -d chamber_images ]; then
    find . -name *port*.jpg -exec cp -v {} chamber_images/. \;
    find . -name *stbd*.jpg -exec cp -v {} chamber_images/.
  else
    echo "bake: Error: chamber_images directory not found"
  fi
fi
      
echo ""
echo "------------------------------------------------------"
echo "Done!"
echo ""

exit
