ANSI-C program: tpf_pt.c
NAME
tpf_pt - temporal
filtering of point data stack using optional layer
weighting
SYNOPSIS
tpf_pt <plist> <pmask> <pSLC_par>
<itab> <pdata_in> <pdata_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 (ascii) (line entries are: pSLC_rec1 pSLC_rec2 pINT_rec switch_flag) |
<pdata_in> | (input) point data stack (various types supported) |
<pdata_out> | (output) temporally filtered point data stack (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
tpf_pt pt pmask2 itab pres pres_tpf 2 140
2
Conducts a temporal filtering of the point data stack pres.
Records which are at most +/-140 days away from the current
record. Linear least-squares filtering is used.
DESCRIPTION
tpf_pt supports the
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 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 of 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 with 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 a record is the time
difference (in days) between the slave and master SLC (as listed
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.