ANSI-C program: offset_SLC_tracking.c
NAME
offset_SLC_tracking estimates range and azimuth offset
fields for SLC images using coherence tracking
SYNOPSIS
offset_SLC_tracking <SLC1> <SLC2>
<par1> <par2> <OFF_par> <offs>
<snr> [rwin] [azwin] [offsets] [N_OVR] [thres] [rstep]
[azstep] [rstart] [rstop] [azstart] [azstop] [ISZ]
[pflag]
<SLC1> | (input) single-look complex image 1 (reference) |
<SLC2> | (input) single-look complex image 2 |
<par1> | (input) SLC1 ISP image parameter file |
<par2> | (input) SLC2 ISP image parameter file |
<OFF_par> | (input) ISP offset/interferogram parameter file |
<offs> | (output) offset estimates (fcomplex) |
<snr> | (output) offset estimation SNR (float) |
[rwin] | search window size (range pixels, (enter - for default
from offset parameter file)) NOTE: maximum detectable offset is (rwin - ISZ)/2 |
[azwin] | search window size (azimuth lines, (enter - for default
from offset parameter file)) NOTE: maximum detectable offset is (azwin - ISZ)/2 |
[offsets] | (output) range and azimuth offsets and SNR data in text format, enter - for no output |
[n_ovr] | SLC oversampling factor (integer 2**N (1,2,4) default = 2) |
[thres] | offset estimation quality threshold (enter - for default=1.7) |
[rstep] | step in range pixels (enter - for default: rwin/2) |
[azstep] | step in azimuth pixels (enter - for default: azwin/2) |
[rstart] | starting range pixel (enter - for default: rwin/2) |
[rstop] | ending range pixel (enter - for default: nr - rwin/2) |
[azstart] | starting azimuth line (enter - for default: azwin/2) |
[azstop] | ending azimuth line (enter - for default: nlines - azwin/2) |
[ISZ] | search chip size in range and azimuth (in non-oversampled range pixels, default:16) |
[pflag] | print flag: 0: print offset summary 1: print all offset data (default) |
EXAMPLE
offset_SLC_tracking 19990915.slc 19991020.slc
19990915.slc.par 19991020.slc.par
19990915_19991020.off 19990915_19991020.offs
19990915_19991020.snr 3 15
19990915_19991020.offsets 2 3.0 10 20 400 1600 1200 7200 5
25
Estimates range and azimuth offset fields (offsets of 19990915.slc relative to 19991020.slc) using the coherence tracking algorithm using a 5 x 25 pixels search chip size and a 3 x 15 pixel search region size. An oversampling with a factor of 2 is applied. The search is repeated every 10 range and every 20 azimuth pixels, for the indicated reference image section.
DESCRIPTION
offset_SLC_tracking estimates range and azimuth offset
fields of a pair of SLC in support of image co-registration and
offset tracking.
The coherence tracking algorithm is used. In the coherence tracking algorithm is also called fringe visibility optimization. Throughout the image SLC data windows are selected at regular intervals. The azimuth and range offset of SLC-2 relative to SLC-1 is measured for each window position using fringe visibility. For each such offset estimation window a series of small interferogram chips with different offsets of SLC-2 relative to SLC-1. A 2-D array of coherence values of the interferogram chips is determined as a function of range and azimuth offsets. A two-dimensional least squares fit is performed on the coherence values to determine the location of the peak coherence with sub-pixel accuracy. As a quality measure, the SNR of the offset estimate is also determined.
The range and azimuth size of the rectangular chips used in the calculation of the chip interferograms can be specified. Furthermore, the range and azimuth size of the search region used can also be specified on the command line. Very often only very small offsets are expected. Selecting a relatively small search region size makes the method more robust and faster. The search region indicated is often smaller than the search chip size. The search is centered at the offsets indicated in the offset polynomials of the provided offset parameter file.
The optimum size of the range and azimuth search window searches out a region, large enough to handle the different offsets in the image, yet small enough so that the program execution is not prohibitively long. Already existing information on the range and azimuth offset is used to guide this search. Such information is found in already existing range and azimuth offset polynomials found in the ISP offset/processing parameter file (estimated for example with the program offset_pwr which can easily handle much larger search windows.
The size of the search chips selected needs to be in-line with the features that shall be used in the matching. For small windows finding good matches depends on finding the same speckle in the two SLC which means that coherence is required. For larger windows features of a larger size are relevant. Offsets are calculated for the indicated section of the reference SLC (SLC1) at the indicated range and azimuth step. The related information is documented in the offset parameter file.
For most cases a SNR threshold of 3.0 for the acceptance of an offset leads to good results. In cases of too low coherence the use of an intensity based algorithm is recommended, as supported by the programs offset_pwr_tracking.
Oversampling rates of 1 (no over-sampling), 2, and 4
supported. Usually an over-sampling rate of 2 is sufficient to
obtain very accurate offset estimates.
The offset for the coherence maximum is estimated using a
two-dimensional least squares function fit.
For a detailed investigation with many offsets estimated it is strongly recommended to provide offset polynomials in the offset parameter file. These polynomials are typically determined using the programs offset_pwr and offset_fit.
The estimated offset fields and related matching SNR values are written to binary output files of fcomplex (*.offs) and float (*.snr) format. The offsets can be converted to offsets in the original (reference) geometry using the program offset_tracking. Or the program offset_fit is used to cull the offset field and use the least squares derived polynomial fit for the offset between the two SLC images.
No search is conducted for chips with a NULL value in the center of the search chips. Setting the SLC values of areas which are not of interest to the NULL value may permit to strongly reduce the required processing time, while still covering the area of interest at high spatial resolution (small range and azimuth step).
The binary offsets file (*.offs) contains offsets in SAR image pixels (of the reference image) in fcomplex format. The real parts correspond to range offsets and the imaginary parts to azimuth offsets. The positions of the offset estimates are defined by the starting range and azimuth positions and the range and azimuth steps, as documented in the offset parameter file.
OPTIONS
Range and azimuth chip sizes, range and azimuth steps, and range
and azimuth search regions can all be indicated on the command
line, permitting for example to use search chips, search windows,
and steps which are larger in azimuth directions as may be
appropriate considering the different ground-range and azimuth
sampling of most SLC data.
SEE ALSO
typedef_ISP.h, OFF_par, offset_tracking, offset_fit, offset_pwr, offset_SLC, offset_pwr_tracking, offset_SLC_tracking, init_offset_orbit, init_offset, create_offset.