MINTPY-IFGRAM_INVERSION(1)

NAME
mintpy-ifgram_inversion - Invert network of interferograms into time-series.

DESCRIPTION
usage: ifgram_inversion.py [-h] [-t TEMPLATEFILE] [-i OBSDATASETNAME]

[-m WATERMASKFILE]
    [-o TS_FILE TCOH_FILE NUM_INV_FILE] [--ref-date REF_DATE] [--skip-reference] [-w {fim,coh,var,no}] [--min-norm-phase] [--norm {L1,L2}] [--calc-cov] [--mask-dset MASKDATASET] [--mask-thres NUM] [--min-redun NUM] [--ram MAXMEMORY] [-c {lsf,pbs,slurm,local}] [--num-worker NUMWORKER] [--config CONFIG] [--update] ifgramStackFile

Invert network of interferograms into time-series.

  positional arguments:

ifgramStackFile
    interferograms stack file to be inverted

  options:

-h, --help
    show this help message and exit

-t TEMPLATEFILE, --template TEMPLATEFILE
    template text file with options

-i OBSDATASETNAME, -d OBSDATASETNAME, --dset OBSDATASETNAME
    dataset name of unwrap phase / offset to be used for inversion e.g.: unwrapPhase, unwrapPhase_bridging, ...

-m WATERMASKFILE, --water-mask WATERMASKFILE
    Skip inversion on the masked out region, i.e. water.

-o TS_FILE TCOH_FILE NUM_INV_FILE, --output TS_FILE TCOH_FILE NUM_INV_FILE
    Output file name. (default: None).

--ref-date REF_DATE
    Reference date, first date by default.

--skip-reference, --skip-ref
    [for offset and testing] do not apply spatial referencing.

--calc-cov
    Calculate time-series STD via linear propagation from the network of interferograms or offset pairs.

--ram MAXMEMORY, --memory MAXMEMORY
    Max amount of memory in GB to use (default: 4.0). Adjust according to your computer memory.

--update
    Enable update mode, and skip inversion if output timeseries file already exists, readable and newer than input interferograms file

  solver:

    solver for the network inversion problem

-w {fim,coh,var,no}, --weight-func {fim,coh,var,no}
    function used to convert coherence to weight for inversion: var - inverse of phase variance due to temporal decorrelation (default) fim - Fisher Information Matrix as weightcoh - spatial coherence no - no/uniform weight

--min-norm-phase
    Enable inversion with minimum-norm deformation phase, instead of the default minimum-norm deformation velocity.

--norm {L1,L2}
    Optimization mehtod, L1 or L2 norm. (default: L2).

  mask:

    mask observation data before inversion

--mask-dset MASKDATASET, --mask-dataset MASKDATASET, --md MASKDATASET
    dataset used to mask unwrapPhase, e.g. coherence, connectComponent

--mask-thres NUM, --mask-threshold NUM, --mt NUM
    threshold to generate mask when mask is coherence (default: 0.4).

--min-redun NUM, --min-redundancy NUM, --mr NUM
    minimum redundancy of interferograms for every SAR acquisition. (default: 1.0).

  parallel:

    parallel processing using dask

-c {lsf,pbs,slurm,local}, --cluster {lsf,pbs,slurm,local}, --cluster-type {lsf,pbs,slurm,local}
    Cluster to use for parallel computing (default: None to turn OFF).

--num-worker NUMWORKER
    Number of workers to use (default: 4).

--config CONFIG, --config-name CONFIG
    Configuration name to use in dask.yaml (default: None).

  references:

    Berardino, P., Fornaro, G., Lanari, R., & Sansosti, E. (2002). A new algorithm for surface

    deformation monitoring based on small baseline differential SAR interferograms. IEEE TGRS, 40(11), 2375-2383. doi:10.1109/TGRS.2002.803792

    Pepe, A., and Lanari, R. (2006), On the extension of the minimum cost flow algorithm for phase unwrapping

    of multitemporal differential SAR interferograms, IEEE-TGRS, 44(9), 2374-2383.

    Perissin, D., and Wang, T. (2012), Repeat-pass SAR interferometry with partially coherent targets, IEEE TGRS,

    50(1), 271-280, doi:10.1109/tgrs.2011.2160644.

    Samiei-Esfahany, S., Martins, J. E., Van Leijen, F., and Hanssen, R. F. (2016), Phase Estimation for Distributed

    Scatterers in InSAR Stacks Using Integer Least Squares Estimation, IEEE TGRS, 54(10), 5671-5687.

    Seymour, M. S., and Cumming, I. G. (1994), Maximum likelihood estimation for SAR interferometry, 1994.

    IGARSS '94., 8-12 Aug 1994.

    Yunjun, Z., Fattahi, H., and Amelung, F. (2019), Small baseline InSAR time series analysis: Unwrapping error

    correction and noise reduction, Computers & Geosciences, 133, 104331, doi:10.1016/j.cageo.2019.104331.

    Yunjun, Z., Fattahi, H., Brancato, V., Rosen, P., Simons, M. (2021), Oral: Tectonic displacement mapping from SAR

    offset time series: noise reduction and uncertainty quantification, ID 590, FRINGE 2021, 31 May ??? 4 Jun, 2021, Virtual.

  template options:

    ## Invert network of interferograms into time-series using weighted least sqaure (WLS) estimator. ## weighting options for least square inversion [fast option available but not best]: ## a. var - use inverse of covariance as weight (Tough et al., 1995; Guarnieri & Tebaldini, 2008) [recommended] ## b. fim - use Fisher Information Matrix as weight (Seymour & Cumming, 1994; Samiei-Esfahany et al., 2016). ## c. coh - use coherence as weight (Perissin & Wang, 2012) ## d. no - uniform weight (Berardino et al., 2002) [fast] ## SBAS (Berardino et al., 2002) = minNormVelocity (yes) + weightFunc (no) mintpy.networkInversion.weightFunc = auto #[var / fim / coh / no], auto for var mintpy.networkInversion.waterMaskFile = auto #[filename / no], auto for waterMask.h5 or no [if not found] mintpy.networkInversion.minNormVelocity = auto #[yes / no], auto for yes, min-norm deformation velocity / phase mintpy.networkInversion.residualNorm = auto #[L2 ], auto for L2, norm minimization solution

    ## mask options for unwrapPhase of each interferogram before inversion (recommend if weightFunct=no): ## a. coherence - mask out pixels with spatial coherence < maskThreshold ## b. connectComponent - mask out pixels with False/0 value ## c. no - no masking [recommended]. ## d. range/azimuthOffsetStd - mask out pixels with offset std. dev. > maskThreshold [for offset] mintpy.networkInversion.maskDataset = auto #[coherence / connectComponent / rangeOffsetStd / azimuthOffsetStd / no], auto for no mintpy.networkInversion.maskThreshold = auto #[0-inf], auto for 0.4 mintpy.networkInversion.minRedundancy = auto #[1-inf], auto for 1.0, min num_ifgram for every SAR acquisition

    ## Temporal coherence is calculated and used to generate the mask as the reliability measure ## reference: Pepe & Lanari (2006, IEEE-TGRS) mintpy.networkInversion.minTempCoh = auto #[0.0-1.0], auto for 0.7, min temporal coherence for mask mintpy.networkInversion.minNumPixel = auto #[int > 1], auto for 100, min number of pixels in mask above mintpy.networkInversion.shadowMask = auto #[yes / no], auto for yes [if shadowMask is in geometry file] or no.

  example:

    ifgram_inversion.py inputs/ifgramStack.h5 -t smallbaselineApp.cfg --update ifgram_inversion.py inputs/ifgramStack.h5 -w no # turn off weight for fast processing ifgram_inversion.py inputs/ifgramStack.h5 -c no # turn off parallel processing # offset ifgram_inversion.py inputs/ifgramStack.h5 -i rangeOffset -w no -m waterMask.h5 --md offsetSNR --mt 5 ifgram_inversion.py inputs/ifgramStack.h5 -i azimuthOffset -w no -m waterMask.h5 --md offsetSNR --mt 5