ANSI-C program: atm_ad_pt.c
NAME
atm_ad_pt - Adaptive estimate of atmospheric phase using temporal
filtering
SYNOPSIS
atm_ad_pt <plist> <pmask> <pSLC_par>
<itab> <pdata_in> <patm_out> [type] [dtmax]
[mode] [np_max] [sigma]
<plist> | (input) point list (int) |
<pmask> | (input) point data stack of mask values (uchar, set to - to accept all points) |
<pSLC_par> | (input) stack of SLC/MLI parameters (binary) |
<itab> | (input) table associating interferogram stack records
with pairs of SLC stack records (text) (line entries are: pSLC_rec1 pSLC_rec2 pINT_rec switch_flag) |
<pdata_in> | (input) point data stack, residual unwrapped phase for atmospheric phase screen (various types supported) |
<patm_out> | (output) atmospheric phase screen obtained from temporally filterd data (same type as pdata_in) |
[type] | input data type: 0: fcomplex 1: scomplex 2: float (default) |
[dtmax] | maximum time interval considered (t-dtmax, t+dtmax) (days) (-1: all records, default = 70.0) |
[mode] | temporal filter mode: 0: uniform average (default for fcomplex and scomplex) 1: triangular weighted average 2: linear least-squares (default for float)) |
[np_max] | maximum number of temporal neighbor records considered (enter - for default = -1, all records) |
[sigma] | (input) phase sigma for interferogram in the
TS_tab (text)(enter - for all equal) format: line_number phase_sigma |
EXAMPLE
atm_ad_pt pt pmask2 itab pres patm_ad 2
140
Conducts a temporal filtering of the point data stack containing the residual phase pres to obtain an atmospheric phase screen estimate. Records which are at most +/-140 days away from the current record, Linear least-squares filtering is used. If there are insufficient records within the specified time span, then the input record is copied to the output
DESCRIPTION
atm_ad_pt supports
adaptive temporal filtering of point data stacks. The records to
be considered in the filtering can be indicated through the
maximum difference in record time and maximum number of records
considered, or just one of the two criteria by selecting all
records in the other criteria. The important point is that the
data from the central day are excluded from the estimate to
suppress large atmospheric excursions that occur at that specific
time.
The itab is required to associate the interferogram stack records with pairs of SLC stack records. Only valid points, i.e. points with a non-zero value in the mask are considered. For points with a zero in the mask the output is set to the NULL value 0.
Several options are available for performing the filtering.
Filter modes modes 0 and 1 produce output values that are
weighted sums of the input data that are within the local
temporal window specified by the dtmax parameter. Either constant or
triangular weighting can be selected.
For data that are floating point, filtering using linear least-squares (LS) estimation is an option. A linear regression of the values within the temporal window is performed. This mode has the advantage of reducing errors at the beginning and end of the time series and where there is sparse unevenly sampled data. The bias is reduced by predicting the estimate at the desired time using the linear trend. In the case of NULL values in the input point data stack, the records considered are not redefined. The temporal filtering is correctly done for these fewer points (i.e. considering the missing values in the normalization).
The delta-time considered for each record is the time
difference (in days) between the slave and master SLC as
specified in the itab
file. In the case of a stack with all records having the same SLC
reference this corresponds to a temporal filtering considering
the time of the slave SLC.
There is the option to provide a text file containing the
standard deviation of the phase values in each layer. The
variation on the phase of each layer can be attributed to
atmospheric noise. When these phase values are provided for float
data (unwrapped phase), the standard deviation for each
layer is used to weight the data in the least-squares
smoothing. In this way layers with large atmospheric variation
have less influance relative to layers with lower levels of
atmospheric noise.
The standard deviation of each layer can be calculated by the
program stat_pt. The text file output
by stat_pt has 3 entries on each line, the first is the layer
number followed by the mean and the standard deviation of the
point data in that layer.