ROI - Pac Internals: Eric Fielding Jet Propulsion Laboratory, California Inst. of Tech
ROI - Pac Internals: Eric Fielding Jet Propulsion Laboratory, California Inst. of Tech
Eric Fielding
Jet Propulsion Laboratory, California Inst.
of Tech.
UNAVCO InSAR Short Course
June 16-18, 2008
Processing Setup
• typical directory structure:
• main directory for a given track (e.g.,
d170)
Resample Image #2
&
Form Interferogram
&
Estimate Correlation DEM GPS
Remove (Re)Estimate
Remove Topography Baseline
Model
Filter & Look Down
Unwrap
Return Phase
Model Geocod
e Independent
Data
Post-Process
&
Model
Resample Image #2
&
Form Interferogram
&
Estimate Correlation
DEM GPS
Remove (Re)Estimate
Remove Topography Baseline
Model
Filter & Look Down
Unwrap
Return Phase
Model Geocod
e Independent
Data
Post-Process
&
Model
• output of make_raw:
• $date.raw–unpacked raw data 8 bits I,Q for
each sample, one line per echo record, ERS
has 412 bytes extra at start of lines
time
processing leveldate hhmmss length track orbit
must be 0 start (secs)
• output “$date_16rlks.slc”
• phase is random
• input: $date1-$date2_ampcor.in
• output: $date1-$date2_ampcor.off, .out
• “make_offset.pl” runs “fitoff” to do first order
affine transformation fit to fine offsets and cull
points that exceed 0.08 pixels from fit: $date1-
$date2_cull.off, fitoff_ampcor.out
• e.g.,
$date1-
• magnitude is combination
of coherence and
backscatter
• P_BASELINE_TOP_HDR
4.66350406273572 m
• P_BASELINE_BOTTOM_HDR
Form Interferogram
(cont’d)
• amplitudes ( sqrt(power) )
of $date1 and $date2 in
$date1-$date2.amp
interleaved by pixel
• can be displayed as
“complex” with “mdx” to
view differences in
amplitudes between
scenes
• example:
flat_PRC_930110-
950523_4rlks.int (from
Flatten Interferogram
(cont’d)
• “ramp_PRC.unw” and
“ramp_PRC_4rlks.unw”
have the “orbit” phase
that was subtracted, this
is the phase due to the
baseline and baseline
changes assuming no
topography
• example:
ramp_PRC_4rlks.unw
(from ROI_pac test data)
• P_BASELINE_TOP_PRC
-45.3217489736805 m
• P_BASELINE_BOTTOM_PRC
-41.6760201631844 m
Calculate Correlation
$DoItFrom $DoItFrom
• After the initial flattening of the interferogram,
“flatorb"
ROI_pac calculates the spatial correlation of the
phase as an estimate of the interferometric
coherence {0.0-1.0}
• InSAR coherence
measures how much
radar backscatter of each
pixel changed between
scenes, but is also
affected by steep slopes if
baselines long
• example: 930110-
950523_4rlks.cor (from
ROI_pac test data)
Resample Image #2
&
Form Interferogram
&
Estimate Correlation
DEM GPS
Remove (Re)Estimate
Remove Topography Baseline
Model
Filter & Look Down
Unwrap
Return Phase
Model Geocod
e Independent
Data
Post-Process
&
Model
$EndItAt “seismic”
Remove Topography
(cont’d)
• “make_sim.pl” first moves to SIM directory and
converts the orbit data (specified by OrbitType)
to $date1.orrm file
• example: SIM_raw.hgt
from ROI_pac test data
• example: SIM_4rlks.hgt
from ROI_pac test data
• example: 930110-950523-
sim_PRC_4rlks.int (from
ROI_pac test data)
• amplitude is still
interferogram amplitude
that includes coherence
Remove Topography
(cont’d)
• “diffnsim.pl” also writes out
the phase due to topography
on curved Earth with orbit
$OrbitType that was
subtracted (rmg file)
• example:
radar_PRC_4rlks.unw (from
ROI_pac test data)
• amplitude is simulated
amplitude
$EndItAt “seismic”
ROI_pac Two-pass Processing Flow
Orbits
Resample Image #2
&
Form Interferogram
&
Estimate Correlation
DEM GPS
Remove (Re)Estimate
Remove Topography Baseline
Model
Filter & Look Down
Unwrap
Return Phase
Model Geocod
e Independent
Data
Post-Process
&
Model
$EndItAt “begin_filt”
Filtering interferogram
$DoItFrom
“begin_filt"
• “process_2pass.pl” calls
“int2filtmaskunwrap.pl” to do filtering,
masking and unwrapping
• Filtering is done differently depending on
unwrapping method (unw_method)
• For “classic” unwrapping (unw_method =
“old”, the default), filtering is done by
“filter.pl” before masking
• When unwrapping with “icu” (unw_method
= “icu”), the filtering is done inside “icu”
$EndItAt “done_filt”
Filtering interferogram
(cont’d)
• “int2filtmaskunwrap.pl” calls “filter.pl”
filtering based on “Filt_method” which is
to do
• example: low
phase_var_PRC_4rlks.msk coherence
(from ROI_pac test data with set to zero
defaults)
Masking interferogram
(cont’d)
• “make_mask.pl” combines
low amplitude mask with
coherence mask to make
“low_cor_PRC_4rlks.msk”
• example:
low_cor_PRC_4rlks.msk (from
ROI_pac test data with low
defaults)
amplitude set
• color wrap 1.2: masked to zero
coherence cyan, low
magenta, high yellow and
green
$EndItAt
“make_mask”
Unwrapping
$DoItFrom “
make_mask"
• For the classic phase unwrapping
(“unw_method” = “old”),
“int2filtmaskunwrap.pl” first calls
“new_cut.pl” to do the first steps (see
Goldstein, Zebker and Werner, 1988;
GZW88 for short)
• then “int2filtmaskunwrap.pl” calls
“unwrap.pl” to complete the unwrapping
with output in “filt_$date1-$date2-
sim_$OrbitType_$Rlooks_unw_c$Unwrapped
Threshold.unw”
Goldstein, R.M., Zebker, H.A., and Werner, C.L., 1988,
Satellite radar interferometry—twodimensional phase
unwrapping: Radio Science, v. 23, p. 713–720. $EndItAt
Unwrapping (cont’d)
• “new_cut.pl” calls “residue”
program to calculates phase
residues from filtered & slope-
removed interferogram (see
GZW88)
• residues are stored in “filt_$date1-
$date2-
sim_$OrbitType_${Rlooks_unw}rlks_
cut.flg”
• Then it calls “trees” to draw phase
cuts to connect the residues (see
GZW88)
Unwrapping (cont’d)
• “unwrap.pl” calls “corr_flag”
program to combine the
unwrapping mask with the
phase cut trees, optionally
applying a higher coherence
threshold
“UnwrappedThreshold”
(default 0.1), output is new
flag file filt_$date1-$date2-
sim_$OrbitType_${Rlooks_un
w}rlks_c{10*UnwrappedThre
shold}.flg
• example: filt_930110-
950523- low coherence
sim_PRC_4rlks_c10.flg (from flagged to not
ROI_pac test data with unwrap
defaults)
Unwrapping (cont’d)
• “unwrap.pl” calls “grass” to
unwrap the filtered
interferogram phase
between the trees of phase
cuts, using the mask and
starting at the “seed” which
is defined as zero phase
(see GZW88)
• example: filt_930110-
950523-
sim_PRC_4rlks_c10.unw
(from ROI_pac test data
with defaults)
$EndItAt
Unwrapping
• Alternative (cont’d)
unwrapping method “unw_method” =
“icu” does approximately the same steps as the
classic method of GZW88, but does it all in one
program
• “int2filtunw.pl” calls “icu.pl” that sets up and runs
“icu” program, putting output in “filt_$date1-
$date2-
sim_$OrbitType_${Rlooks_unw}rlks_c{10*Unwrappe
dThreshold}.unw”
Chen, C.W., and Zebker, H.A., 2002, Phase unwrapping for large SAR interferograms:
statistical segmentation and generalized network models: Geoscience and Remote
Sensing, IEEE Transactions on,, v. 40, p. 17091719.
ROI_pac Two-pass Processing Flow
Orbits
Resample Image #2
&
Form Interferogram
&
Estimate Correlation
DEM GPS
Remove (Re)Estimate
Remove Topography Baseline
Model
Filter & Look Down
Unwrap
Return Phase
Model Geocod
e Independent
Data
Post-Process
&
Model
$EndItAt
Applying new baseline
(cont’d)
• “phase2base.pl” calls
“baseest” estimate new
“SIM” baseline and stores
result in $date1-
$date2_baseline.rsc
• example: filt_930110-
950523-
sim_SIM_4rlks_c10.unw
(from ROI_pac test data
with defaults)
$EndItAt
Baseline comparison
H_BASELINE_TOP_PRC
-23.2574447955833
H_BASELINE_RATE_PRC
5.10819932458847e-05
H_BASELINE_ACC_PRC
-5.04549375622103e-14
V_BASELINE_TOP_PRC
-80.7294227073118
V_BASELINE_RATE_PRC
1.82195903986372e-05
V_BASELINE_ACC_PRC
filt_930110-950523-sim_PRC_4rlks_c10.u
7.32779258057696e-13
H_BASELINE_TOP_SIM
-21.932151167651199
H_BASELINE_RATE_SIM
5.33480998801241687E-005
H_BASELINE_ACC_SIM
3.20592780130720777E-011
V_BASELINE_TOP_SIM
-80.302032316584373
V_BASELINE_RATE_SIM
1.76683134812624133E-005
V_BASELINE_ACC_SIM
-1.78627637125082563E-011
filt_930110-950523-sim_SIM_4rlks_c10.u
ROI_pac Two-pass Processing Flow
Orbits
Resample Image #2
&
Form Interferogram
&
Estimate Correlation
DEM GPS
Remove (Re)Estimate
Remove Topography Baseline
Model
Filter & Look Down
Unwrap
Return Phase
Model Geocod
e Independent
Data
Post-Process
&
Model