Provided by: mintpy_1.3.3-2_all bug

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