ANSI-C program: offset_pwrm.c
NAME
offset_pwrm estimate the range and azimuth registration offset fields using cross correlation optimization of the real valued data.
SYNOPSIS
offset_pwrm <PWR-1> <PWR-2> <DIFF_par>
<offs> <snr> [rwin] [azwin] [offsets] [n_ovr] [nr]
[naz] [thres] [pflag]
<PWR-1> | (input) real valued intensity image 1 (reference) |
<PWR-2> | (input) real valued intensity image 2 |
<DIFF_par> | DIFF/GEO parameter file |
<offs> | (output) offset estimates (fcomplex) |
<snr> | (output) offset estimation SNR (float) |
[rwin] | search window size (range pixels, enter - for default from DIFF_par) |
[azwin] | search window size (azimuth pixels, enter - for default from DIFF_par) |
[offsets] | (output) range and azimuth offsets and SNR in text format, enter - for no output |
n_ovr] | image oversampling factor (integer 2**N (1,2,4) default = 2) |
[nr] | number of offset estimates in range direction (enter - for default from offset parameter file) |
[naz] | number of offset estimates in azimuth direction (enter - for default from offset parameter file) |
[thres] | offset estimation quality threshold (enter - for default from offset parameter file) |
[pflag] | print flag (0:print offset summary 1:print all offset data (default)) |
EXAMPLE
offset_pwrm 8560_8059.pwr1 8560_9562.pwr1 i1_i2.diff_par
i1_i2.offs i1_i2.snr 64 128 i1_i2.offsets 1 24 24 7.0
Determines registration offset field of (multilook) SAR intensity
images 8560_8059.pwr1 and 8560_9562.pwr1.
INSTALLATION
Source code offset_pwrm.c in ./src. For compilation adjust and
use Makefile: Executable version offset_pwrm in ../bin
AVAILABILITY
Uses ISP and DIFF type definition files typedef_ISP.h, typedef_DIFF.h.
DESCRIPTION
offset_pwrm estimates the range and azimuth registration
offset fields using cross correlation optimization of the input
intensity images. This cross correlation optimization algorithm
rapidly generates the offset fields by correlating image chips.
The image chips are nominally square and have sizes in the range
of 16 to 512, depending on resolution and degree of correlation
between the images. If the FFTW package is not being used, then
the chip size must be a power of 2. The coordinates of the image
section selected to be processed are relative to PWR-1.
The number of image chips used in range and azimuth, the range and azimuth sizes of the image chips used in the search, and the signal to noise (SNR) threshold to accept an estimate may be entered on the command line. Default values are taken from the DIFF/GEO offset parameter file. Recommended values are suggested as default values in the programs create_diff_par. For the SNR threshold, values of 6.5 and larger are recommended.
The range and azimuth offset estimates are written to a binary data file (fcomplex format) with the offsets coded as pairs of floating point numbers (range offset, azimuth offset). A disadvantage of this algorithm is that some estimates can be very far off and still show high SNR, especially in urban regions. In other words the SNR values used as quality measure for the reliability of each individual estimate are not always reliable itself. Usually, such blunders can be effectively removed later on based on its high deviation from the global fit (a feature supported by the offset_fitm program which is used to calculate the registration offset polynomial based on the offset and SNR estimates.
For most cases a SNR threshold of 7.0 for the acceptance of an offset leads to good results. In cases of low correlation the selection of a larger estimation window may be the better choice than the reduction of the threshold
Oversampling of the correlation function (parameter n_ovr) is supported and is nominally 2. The location of the correlation maximum is estimated using a two-dimensional quadratic least squares fit.
OPTIONS
The offset estimation programs use already existing range and
azimuth offset polynomials found in the DIFF/GEO parameter file
to improve its initial registration offset guess. An iterative
use of this feature permits accurate estimation of the offset
polynomials for scenes with large offsets and low correlation. An
initial estimate of the offset polynomials is determined using a
large search window size. With these quite accurate registration
polynomials offset_pwrm, or
offset_pwr_trackingm can
then be run efficiently on many locations throughout the image,
using small search windows.
In order to remove residual errors in a geocoding lookup table using actual data requires comparison with a simulated SAR intensity image derived from the DEM. This simulated image is created using a two step process. First a lookup table is calculated containing the range/Doppler coordinates for every point in a DEM covering the region as well as a simulated SAR image in DEM coordinates with program gc_map. This simulated SAR image is resampled into SAR range/Doppler coordinates is the program geocode. The offsets between the simulated and actual images are estimated using the programs init_offsetm, offset_pwrm, and offset_fitm. The geocoding lookup table is than shifted using the offset information using program gc_map_fine. Finally the DEM can be resampled precisely into the SAR range/Doppler coordinates using geocode and the refined lookup table from gc_map_fine.
SEE ALSO
create_diff_par, init_offsetm, offset_pwrm, and offset_fitm, gc_map_fine, typedef_ISP.h, typedef_DIFF.h .
DIAGNOSTICS
All messages are generally self-explanatory.
NOTES
None.