ANSI-C program: qc_pt.c
NAME
qc_pt - use L.S model
regression to determine point target quality and point mask
SYNOPSIS
qc_pt <plist> <pmask_in> <pmask_out>
<pSLC_par> <itab> <pbase> <base_flag>
<pdiff> [type]
[sigma_max]
[psigma] [dh_max]
[def_min] [def_max] [model] [bmax] [dtmax]
[radius]
<plist> | (input) point list of candidate points (int) |
<pmask_in> | (input) point mask for input data (uchar, set to - to accept all points) |
<pmask_out> | (output) point data stack of mask values resulting from phase quality check (uchar) |
<pSLC_par> | (input) stack of SLC/MLI parameters (binary) |
<itab> | (input) table associating interferogram stack records
with pairs of SLC stack records (ascii) (line entries are: pSLC_rec1 pSLC_rec2 itab_rec_num switch_flag) |
<pbase> | (input) stack of interferogram baselines (binary) |
<base_flag> | baseline flag (0:initial baseline 1:precision baseline) |
<pdiff> | (input) point data stack of differential interferogram (float or fcomplex) |
[type] | data type of pdiff (0=float (unwrapped phase), 1=fcomplex, default=1) |
[sigma_max] | threshold for maximum phase standard deviation (enter - for default) (radians): 0.70 |
[psigma] |
(output) point data stack of phase standard deviation from fit (enter - for none)(float) |
[dh_max] |
maximum height difference
for initial search (enter - for default) (m):
30.000 |
[def_min] | minimum defomration rate for initial search (enter - for default) (m/year): -0.005 |
[def_max] |
maximum deformation
rate for initial search (enter - for default) (m/year):
0.005 |
[model] | phase regression model: 1: a0 + a1*bperp[i] 2: a0 + a1*bperp[i] + a2*delta_t[i]) (default) 3: a1*bperp[i] 4: a1*bperp[i] + a2*delta_t[i] 5: a0 + a2*delta_t[i] 6: a2*delta_t[i] |
[bmax] | maximum perp. baseline (m) considered, (-1 = all records, default=-1) |
[dtmax] | maximum time interval (days) considered, (-1 = all records, default=-1) |
[radius] | radius in pixels used to search for points in the local region (default 24) |
EXAMPLE
qc_pt plist pmask_in pmask_out
SLC_par itab pbase 0 pdiff 1 1.1
For the point list (plist) the quality of each point is evaluated based on the phase standard deviation of the differential interferometric phase (pdiff) from the selected 2-D regression model of pairs of nearby points. Good/bad points, i.e. points with a phase standard deviation smaller/larger than the indicated threshold, are accepted/rejected by setting the corresponding mask values in pmask_out to 1/0. Only points that are not masked out in pmask_in (set to 0) are considered for quality evaluation. If pmask_in is set to -, then all points in plist are evaluated.
DESCRIPTION
In the IPTA point lists contain the coordinates (range and
azimuth pixel number relative to the reference SLC geometry) of
the selected points. Data at these points (SLC values,
interferogram values, ...) are stored in point data stacks with
each record corresponding to a different SLC or interferogram.
The point data stack of mask values contains for each point a
flag (0 or 1) which indicates if the data of a point are
considered (1) or not considered (0).
qc_pt supports the validation of the quality of the points of an existing point list. The main input used for this step includes an existing point list and the related point data stack of differential interferograms. This input list shall include a significant fraction of good points as well as other points. qc_pt determines the validity of these candidate points using the phase standard deviation of a regression model as the quality criteria. The robustness and efficiency of the quality assessment is lower than the one of expand_pt, but no list of validated point is required.
The candidate point list is defined through the point list, plist, the point data stack of mask values, pmask, the stack of SLC parameters, pSLC_par, the interferogram table, itab, and the stack of interferogram baselines, pbase. The corresponding differential interferogram values are in the point data stack pdiff. If the differential interferometric data are in fcomplex form the phase of the data in the pdiff must be unwrapped. An initial search of the possible parameter values is performed to unwrap the data. These parameters include the differential height, deformation rate, and phase constant.
The command line parameters def_max and dh_max determine the range of values for the initial search. The search range for the differential height between the reference point and the test point is +/- def_max meters. Similarly, the range of deformation rates is +/- def_max meters/year. The processing time of the program strongly depends on the range of values used for the test. If the terrain is known to be relatively flat, then dh_max can be reduced. Similarly, if the expected deformation rate between the reference point and the test point is expected to exceed 5mm/year, then the value of def_max can be increased. For the program qc_pt the reference point is chosen to be as close as possible to the test points and the values of the parameters can be adjusted. to speed up processing
qc_pt goes through the candidate point list and determines for each point a quality measure based on a phase regression analysis (using a one or two dimensional regression model) for pairs of nearby points. While a high quality indicates that both points are of "good points" a low quality indicates that one or the other or both points are "bad points". Therefore, for a specific point all possible partner points up to a certain distance (radius) are checked until a high quality is found for a specific pair. The quality of the points can be optionally written to the file specified by the psigma parameter.
The regression analysis can be restricted to shorter baselines and/or shorter time intervals only. The baseline considered is the absolute value of the perpendicular component. The time interval considered is the absolute value of the acquisition time difference between the reference and slave SLC. The search radius can be indicated on the command line in number of pixels. For areas with a low points density it is important that the search area is big enough to include a sufficient number of other points.
Chances to identify "good" points increase if the differential interferogram is of high quality, which is assured by subtracting a high quality simulated phase. Topographic, deformation, and atmospheric phase terms should be modeled as good as possible, which means the most accurate terrain height estimates, baselines, deformation models, and atmospheric phase terms should be used. On the other hand the chances are also increased by using very local reference, as correction terms (height corrections, relative deformation, relative atmospheric difference) remain small over short distances. Furthermore, not just one, but all possible references within an indicated radius are tested. This, and the factor that no pre-existing list of validated points is used make qc_pt the tool for the generation of an initial validated point list which can then later on be expanded using expand_pt.
The point data stacks of differential interferograms can be provided in fcomplex or float (unwrapped phases) format.
Initial or precision baseline estimates can be used.
As phase regression models there are several options:
1. 1-d model depending on height differentials alone
2. 1-d model depending on deformation rate alone
3. 2-d model depending on both height differentials and
deformation rate
Each of these three models can include an optional phase constant
parameter. The phase constant is required if a single SLC used as
the reference for all interferograms. If there are different SLCs
are used as the reference for the for the interferograms in the
stack the phase constant is 0.0 and does not need to be
estimated. Use of the one-dimensional regression models
constrains the regression and gives better results for small
stacks or early on in the analysis when large height corrections
are expected.
Programs to generate new point lists (e.g. the candidate point list) are image2pt, mkgrid, merge_pt, prox_pt, pwr_stat, and sp_stat.
Programs to validate existing point lists are qc_pt and expand_pt. The funcitionality of qc_pt is similar to the one of expand_pt in the sense that a mask is generated for a candidate list based on a quality measure. qc_pt differs from expand_pt in that it does not require a validated list of good points which permits a wider application but at a significantly lower efficiency.
SEE ALSO
expand_pt, image2pt,merge_pt, mkgrid,
prox_pt, pwr_stat,sp_stat,
SLC_par, typedef_ISP.h, ipta.h.