#!/bin/csh
# medge --  this script implements the Lee, Haralick, and Shapiro 
#           morphological edge detector.
#
# notes: 
#
# arg $1 is the input image; arg $2 is the output image.
#
# the input and output images are sun rasterfiles.
# 
# if morph.bin is not in your home directory, replace $HOME with a variable
#    containing the appropriate path name.
#
# setenv IMGDIR to the directory containing the input image.
#
# setenv TEMPDIR to a scratch directory. (This script cleans up after itself.)
#

set argc = ($*)

if ( "$#argc" < "2" ) then
   echo "usage:  medge  RasFileIn  RasFileOut"
   exit 
endif

csh $HOME/morph/bin/gserode < $IMGDIR/$1 da1.tfm > $TEMPDIR/$1.eda1

csh $HOME/morph/bin/gserode < $IMGDIR/$1 da2.tfm > $TEMPDIR/$1.eda2

csh $HOME/morph/bin/gserode < $IMGDIR/$1 da3.tfm > $TEMPDIR/$1.eda3

csh $HOME/morph/bin/gserode < $IMGDIR/$1 da4.tfm > $TEMPDIR/$1.eda4

csh $HOME/morph/bin/gserode < $IMGDIR/$1 d1.tfm > $TEMPDIR/$1.ed1

csh $HOME/morph/bin/gserode < $IMGDIR/$1 d2.tfm > $TEMPDIR/$1.ed2

$HOME/morph/bin/linco 1.0 $IMGDIR/$1 -1.0 $TEMPDIR/$1.eda1 -o $TEMPDIR/$1.eda1

$HOME/morph/bin/linco 1.0 $IMGDIR/$1 -1.0 $TEMPDIR/$1.eda2 -o $TEMPDIR/$1.eda2

$HOME/morph/bin/linco 1.0 $IMGDIR/$1 -1.0 $TEMPDIR/$1.eda3 -o $TEMPDIR/$1.eda3

$HOME/morph/bin/linco 1.0 $IMGDIR/$1 -1.0 $TEMPDIR/$1.eda4 -o $TEMPDIR/$1.eda4

$HOME/morph/bin/linco 1.0 $IMGDIR/$1 -1.0 $TEMPDIR/$1.ed1  -o $TEMPDIR/$1.ed1

$HOME/morph/bin/linco 1.0 $IMGDIR/$1 -1.0 $TEMPDIR/$1.ed2  -o $TEMPDIR/$1.ed2

$HOME/morph/bin/linco 1.0 $TEMPDIR/$1.eda1 -1.0 $TEMPDIR/$1.eda2 -o $TEMPDIR/$1.eda1 -b

$HOME/morph/bin/linco 1.0 $TEMPDIR/$1.eda3 -1.0 $TEMPDIR/$1.eda4 -o $TEMPDIR/$1.eda3 -b

$HOME/morph/bin/minimg $TEMPDIR/$1.ed1 $TEMPDIR/$1.ed2 $TEMPDIR/$1.ed1

$HOME/morph/bin/maximg $TEMPDIR/$1.eda1 $TEMPDIR/$1.eda3 $TEMPDIR/$1.eda1

$HOME/morph/bin/minimg $TEMPDIR/$1.ed1 $TEMPDIR/$1.eda1 $TEMPDIR/$1.E

rm -f $TEMPDIR/$1.ed*


csh $HOME/morph/bin/gsdilate < $IMGDIR/$1 da1.tfm > $TEMPDIR/$1.dda1

csh $HOME/morph/bin/gsdilate < $IMGDIR/$1 da2.tfm > $TEMPDIR/$1.dda2

csh $HOME/morph/bin/gsdilate < $IMGDIR/$1 da3.tfm > $TEMPDIR/$1.dda3

csh $HOME/morph/bin/gsdilate < $IMGDIR/$1 da4.tfm > $TEMPDIR/$1.dda4

csh $HOME/morph/bin/gsdilate < $IMGDIR/$1 d1.tfm > $TEMPDIR/$1.dd1

csh $HOME/morph/bin/gsdilate < $IMGDIR/$1 d2.tfm > $TEMPDIR/$1.dd2

$HOME/morph/bin/linco -1.0 $IMGDIR/$1 1.0 $TEMPDIR/$1.dda1 -o $TEMPDIR/$1.dda1

$HOME/morph/bin/linco -1.0 $IMGDIR/$1 1.0 $TEMPDIR/$1.dda2 -o $TEMPDIR/$1.dda2

$HOME/morph/bin/linco -1.0 $IMGDIR/$1 1.0 $TEMPDIR/$1.dda3 -o $TEMPDIR/$1.dda3

$HOME/morph/bin/linco -1.0 $IMGDIR/$1 1.0 $TEMPDIR/$1.dda4 -o $TEMPDIR/$1.dda4

$HOME/morph/bin/linco -1.0 $IMGDIR/$1 1.0 $TEMPDIR/$1.dd1  -o $TEMPDIR/$1.dd1

$HOME/morph/bin/linco -1.0 $IMGDIR/$1 1.0 $TEMPDIR/$1.dd2  -o $TEMPDIR/$1.dd2

$HOME/morph/bin/linco 1.0 $TEMPDIR/$1.dda1 -1.0 $TEMPDIR/$1.dda2 -o $TEMPDIR/$1.dda1 -b

$HOME/morph/bin/linco 1.0 $TEMPDIR/$1.dda3 -1.0 $TEMPDIR/$1.dda4 -o $TEMPDIR/$1.dda3 -b

$HOME/morph/bin/minimg $TEMPDIR/$1.dd1 $TEMPDIR/$1.dd2 $TEMPDIR/$1.dd1

$HOME/morph/bin/maximg $TEMPDIR/$1.dda1 $TEMPDIR/$1.dda3 $TEMPDIR/$1.dda1

$HOME/morph/bin/minimg $TEMPDIR/$1.dd1 $TEMPDIR/$1.dda1 $TEMPDIR/$1.D

rm -f $TEMPDIR/$1.dd*

sleep 3

$HOME/morph/bin/linco 1.0 $TEMPDIR/$1.E 1.0 $TEMPDIR/$1.D -o $2 -f

rm -f $TEMPDIR/$1.D

rm -f $TEMPDIR/$1.E

