MINTPY-UNWRAP_ERROR_PHASE_CLOSURE(1)

NAME
mintpy-unwrap_error_phase_closure - Unwrapping Error Correction based on Phase Closure

DESCRIPTION
usage: unwrap_error_phase_closure.py [-h] [-c CC_MASK_FILE] [-n NUMSAMPLE]

[-m CONNCOMPMINAREA]
    [-a {calculate,correct}] [-i DATASETNAMEIN] [-o DATASETNAMEOUT] [--water-mask WATERMASKFILE] [-t TEMPLATE_FILE] [--update] ifgram_file

Unwrapping Error Correction based on Phase Closure

    by exploiting the conservertiveness of the integer ambiguity of interferograms triplets. This method assumes: a. abundance of network: for interferogram with unwrapping error, there is

    at least of one triangular connection to form a closed circle; with more closed circles comes better constrain.

    b. majority rightness: most of interferograms have to be right (no unwrapping

    error) to correct the wrong minority. And if most of interferograms have unwrapping errors, then the minor right interferograms will turn into wrong.

  positional arguments:

ifgram_file
    interferograms file to be corrected

  options:

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

-c CC_MASK_FILE, --cc-mask CC_MASK_FILE
    common connected components file, required for --action correct

-n NUMSAMPLE, --num-sample NUMSAMPLE
    Number of randomly samples/pixels for each common connected component.

-m CONNCOMPMINAREA, --min-area CONNCOMPMINAREA
    minimum region/area size of a single connComponent.

-a {calculate,correct}, --action {calculate,correct}
    action to take (default: correct): correct - correct phase unwrapping error calculate - calculate the number of non-zero closure phase

-i DATASETNAMEIN, --in-dataset DATASETNAMEIN
    name of dataset to be corrected, default: unwrapPhase

-o DATASETNAMEOUT, --out-dataset DATASETNAMEOUT
    name of dataset to be written after correction, default: {}_phaseClosure

--update
    Enable update mode: if unwrapPhase_phaseClosure dataset exists, skip the correction.

  mask:

--water-mask WATERMASKFILE, --wm WATERMASKFILE
    path of water mask file.

-t TEMPLATE_FILE, --template TEMPLATE_FILE
    template file with options for setting.

  reference:

    Yunjun, Z., H. Fattahi, and F. Amelung (2019), Small baseline InSAR time series analysis: Unwrapping error correction and noise reduction, Computers & Geosciences, 133, 104331, doi:10.1016/j.cageo.2019.104331.

  template options:

    ## A quick assessment of: ## 1) possible groud deformation ## using the velocity from the traditional interferogram stacking ## reference: Zebker et al. (1997, JGR) ## 2) distribution of phase unwrapping error ## from the number of interferogram triplets with non-zero integer ambiguity of closue phase ## reference: T_int in Yunjun et al. (2019, CAGEO). Related to section 3.2, equation (8-9) and Fig. 3d-e.

  template options:

    ## connected components (mintpy.load.connCompFile) are required for this step. ## SNAPHU (Chem & Zebker,2001) is currently the only unwrapper that provides connected components as far as we know. ## reference: Yunjun et al. (2019, section 3) ## supported methods: ## a. phase_closure - suitable for highly redundant network ## b. bridging - suitable for regions separated by narrow decorrelated features, e.g. rivers, narrow water bodies ## c. bridging+phase_closure - recommended when there is a small percentage of errors left after bridging mintpy.unwrapError.method = auto #[bridging / phase_closure / bridging+phase_closure / no], auto for no mintpy.unwrapError.waterMaskFile = auto #[waterMask.h5 / no], auto for waterMask.h5 or no [if not found] mintpy.unwrapError.connCompMinArea = auto #[1-inf], auto for 2.5e3, discard regions smaller than the min size in pixels

    ## phase_closure options: ## numSample - a region-based strategy is implemented to speedup L1-norm regularized least squares inversion. ## Instead of inverting every pixel for the integer ambiguity, a common connected component mask is generated, ## for each common conn. comp., numSample pixels are radomly selected for inversion, and the median value of the results ## are used for all pixels within this common conn. comp. mintpy.unwrapError.numSample = auto #[int>1], auto for 100, number of samples to invert for common conn. comp.

    ## briding options: ## ramp - a phase ramp could be estimated based on the largest reliable region, removed from the entire interferogram ## before estimating the phase difference between reliable regions and added back after the correction. ## bridgePtsRadius - half size of the window used to calculate the median value of phase difference mintpy.unwrapError.ramp = auto #[linear / quadratic], auto for no; recommend linear for L-band data mintpy.unwrapError.bridgePtsRadius = auto #[1-inf], auto for 50, half size of the window around end points

  example:

    # correct phase unwrapping error with phase closure unwrap_error_phase_closure.py ./inputs/ifgramStack.h5 --cc-mask maskConnComp.h5 -t smallbaselineApp.cfg --update unwrap_error_phase_closure.py ./inputs/ifgramStack.h5 --cc-mask maskConnComp.h5 --water-mask waterMask.h5 --update

    # calculate the number of non-zero closure phase unwrap_error_phase_closure.py ./inputs/ifgramStack.h5 --action calculate unwrap_error_phase_closure.py ./inputs/ifgramStack.h5 --action calculate --water-mask waterMask.h5