ISCE_INSAR/contrib/timeseries/prepStackToStaMPS/bin/step_filt_coh_isce

108 lines
3.9 KiB
Tcsh
Executable File

#!/bin/tcsh -f
# Script which filters an interferogram and uses the filtered interferogram to compute coherence
# Option an argument "y" can be given to perform this operation for multi-looked data
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 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
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
set CURDIR = `pwd`
echo $CURDIR
# First argument controls if its multilook data
if ($#argv == 1) then
set multi_look_flag = $argv[1]
# Check if a valid argument was given
if ("$multi_look_flag" != "y" && "$multi_look_flag" != "n") then
echo first argument needs to be either "y" for multi-look data or "n" for original raw data
exit 1
endif
if ("$multi_look_flag" == "y") then
echo "Apply on multi-looked data"
endif
else
set multi_look_flag = n
endif
# check if existing files needs to be overwritten or not
set input = input_file
set counter = 1
while ($counter <= 10)
if ( ! -f $input ) then
set input = ../$input
else
@ counter = $counter + 10000
endif
@ counter = $counter + 1
end
set overwrite = 1
if ( -f $input ) then
set overwrite_flag = `grep overwrite $input | awk '{print $2}'`
if ( $overwrite_flag == "n" ) then
# do not overwrite existing the files
set overwrite = 0
echo Will not overwrite existing files
endif
endif
# default filenames
set file_in = isce_minrefdem.int
set file_out = isce_minrefdem_filt.int
set file_coh_out = isce_minrefdem_filt.coh
# in case of multi-looked data then get the filename
if ( "$multi_look_flag" == "y") then
set r_looks = `grep range_looks $input | awk '{print $2}'`
set ar = `grep aspect_ratio $input | awk '{print $2}'`
set a_looks = `grep azimuth_looks $input | awk '{print $2}'`
if ( $a_looks != "" ) then
echo "az_looks will over-rule the ar to calculate the number of az_looks"
else
# computing the azimuth looks based on the aspect ratio
@ a_looks = $ar * $r_looks
endif
# defining the output name based on the number of looks taken
set filename_out = `basename $file_in | cut -d. -f1`
set extension_out = `basename $file_in | cut -d. -f2`
set file_in = {$filename_out}_{$r_looks}l.{$extension_out}
set file_out = {$filename_out}_filt_{$r_looks}l.{$extension_out}
set file_coh_out = {$filename_out}_filt_{$r_looks}l.coh
endif
# retrieve the current secondary data folder being processed
set date = `basename $CURDIR`
# I included to be in the secondary data folder, such one can reprocess easily without the need to manually specify the inputs
# move dir above
cd ..
# making the interferometric pair
# skip the run in case the user does not want to overwrite files
if ( -f $date/$file_out & -f $date/$file_coh_out & $overwrite == 0 ) then
# nothing to be done, file exist and user does not want to overwrite it
echo $file_out and $file_coh_out exist, will not overwrite on user request
else
#make sure to update the vrt file as it could have wrong meta data #
# cd $date
# rm ${file_in}.vrt
# isce2gis.py vrt -i $file_in
# cd ..
echo FilterAndCoherence.py -i $date/$file_in -f $date/$file_out -c $date/$file_coh_out -s 0.6 >> processing.log
echo FilterAndCoherence.py -i $date/$file_in -f $date/$file_out -c $date/$file_coh_out -s 0.6
FilterAndCoherence.py -i $date/$file_in -f $date/$file_out -c $date/$file_coh_out -s 0.6
endif