ISCE_INSAR/contrib/timeseries/prepStackToStaMPS/bin/mt_prep_isce

205 lines
5.6 KiB
Tcsh
Executable File

#!/bin/csh -f
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# copyright: 2016 to the present, california institute of technology.
# all rights reserved. united states government sponsorship acknowledged.
#
# THESE SCRIPTS ARE PROVIDED TO YOU "AS IS" WITH NO WARRANTIES OF CORRECTNESS. USE AT YOUR OWN RISK.
#
# Author: David Bekaert
# Organization: Jet Propulsion Laboratory, California Institute of Technology
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
### Initial welcome
set PRG = `basename "$0"`
set AUT = "David Bekaert, February 2016"
echo "$PRG $AUT"
echo " "
set nonomatch
if ($#argv == 0) then
echo "usage: mt_prep da_thresh [rg_patches az_patches rg_overlap az_overlap]"
echo " da_thresh = (delta) amplitude dispersion"
echo " typical values: 0.4 for PS, 0.6 for SB"
echo " rg_patches (default 1) = number of patches in range"
echo " az_patches (default 1) = number of patches in azimuth"
echo " rg_overlap (default 50) = overlapping pixels between patches in range"
echo " az_overlap (default 50) = overlapping pixels between patches in azimuth"
echo ""
exit(4)
endif
if ($#argv > 0) then
set da_thresh = $argv[1]
else
set da_thresh = 0.4
endif
if ($#argv > 1) then
set prg = $argv[2]
else
set prg = 1
endif
if ($#argv > 2) then
set paz = $argv[3]
else
set paz = 1
endif
if ($#argv > 3) then
set overlap_rg = $argv[4]
else
set overlap_rg = 50
endif
if ($#argv > 4) then
set overlap_az = $argv[5]
else
set overlap_az = 50
endif
# checking if the StaMPS environment variable exist
if (! $?STAMPS ) then
echo STAMPS environment variable is not set in your STAMPS_CONFIG file
echo
exit 1
endif
echo "Amplitude Dispersion Threshold:" $da_thresh
echo "Processing" $prg "patch(es) in range and" $paz "in azimuth"
echo " "
set WORKDIR = $cwd
set dirname = `echo $WORKDIR | gawk 'BEGIN {FS = "/"}{print $(NF)}'`
if ($dirname == "SMALL_BASELINES") then
set INSARDIR = `echo $WORKDIR | gawk 'BEGIN {FS = "/SMALL_BASELINES"}{print $1}'`
echo "Small Baseline Processing"
echo " "
else
set INSARDIR = $WORKDIR
endif
# setting up the information
mt_extract_info_isce
# loading the information
set SLC_OSF=`cat slc_osfactor.1.in`
set width=`cat width.txt`
set length=`cat len.txt`
# Calibrate amplitudes
if ($dirname == "SMALL_BASELINES") then
ls $WORKDIR/[0-9]*/*.slc > $WORKDIR/calamp.in
set selfile = $WORKDIR/selsbc.in
else
ls $INSARDIR/reference/reference.slc > $WORKDIR/calamp.in
ls $INSARDIR/*/secondary.slc >> $WORKDIR/calamp.in
set selfile = $WORKDIR/selpsc.in
endif
calamp calamp.in $width $WORKDIR/calamp.out
# Set up patches
echo $da_thresh > $selfile
echo $width >> $selfile
cat $WORKDIR/calamp.out >> $selfile
@ width_p = $width / $prg
@ length_p = $length / $paz
set irg = 0
set iaz = 0
set ip = 0
while ($irg < $prg)
@ irg = $irg + 1
while ($iaz < $paz)
@ iaz = $iaz + 1
@ ip = $ip + 1
@ start_rg1 = $width_p * ($irg - 1) + 1
@ start_rg = $start_rg1 - $overlap_rg
if ($start_rg < 1) then
set start_rg = 1
endif
@ end_rg1 = $width_p * $irg
@ end_rg = $end_rg1 + $overlap_rg
if ($end_rg > $width) then
@ end_rg = $width
endif
@ start_az1 = $length_p * ($iaz - 1) + 1
@ start_az = $start_az1 - $overlap_az
if ($start_az < 1) then
set start_az = 1
endif
@ end_az1 = $length_p * $iaz
@ end_az = $end_az1 + $overlap_az
if ($end_az > $length) then
@ end_az = $length
endif
if (! -e PATCH_$ip) then
mkdir PATCH_$ip
endif
cd PATCH_$ip
echo $start_rg > patch.in
echo $end_rg >> patch.in
echo $start_az >> patch.in
echo $end_az >> patch.in
echo $start_rg1 > patch_noover.in
echo $end_rg1 >> patch_noover.in
echo $start_az1 >> patch_noover.in
echo $end_az1 >> patch_noover.in
cd ..
end
set iaz = 0
end
# dumping the interferograms
echo $width > pscphase.in
ls $WORKDIR/*/isce_minrefdem.int >> pscphase.in
# dumping the geocoordinates
echo $width > psclonlat.in
echo $INSARDIR'/lon.raw' >> psclonlat.in
echo $INSARDIR'/lat.raw' >> psclonlat.in
# dumping the radar-coded DEM
echo $width > pscdem.in
echo $INSARDIR'/dem.raw' >> pscdem.in
# generating the patch list
ls -d PATCH_* > patch.list
# check if the input file can be found.
# allow for the SB directory to find it in directory above.
set inputfile = input_file
if ( ! -f $inputfile ) then
set inputfile = ../$inputfile
if ( ! -f $inputfile ) then
set inputfile = ../$inputfile
endif
endif
# if it found the input file then go an cehck if the mask file was specified
set maskfile = ""
if ( -f $inputfile ) then
set maskfile = `grep maskfile $inputfile | awk '{print $2}'`
# check if the maskfile actually exist, if not retun message to user
if ("$maskfile" == "") then
echo "No mask file given, will continue without applying it"
else if ( ! -f $maskfile ) then
echo "Could not find the mask file, will continue without applying it"
set maskfile = ""
else
# stamps use the curdir to define the maskfile
set maskfile = `relpath.py -p $maskfile`
echo "maskfile: $maskfile"
endif
endif
echo mt_extract_cands 1 1 1 1 "f" 0 $maskfile
mt_extract_cands 1 1 1 1 "f" 0 $maskfile