MINTPY-MODIFY_NETWORK(1)

NAME
mintpy-modify_network - Modify the network of interferograms

DESCRIPTION
usage: modify_network.py [-h] [-t TEMPLATE_FILE] [--reset] [--noaux]

[--max-tbase TEMPBASEMAX] [--max-pbase PERPBASEMAX]
    [--max-conn-num CONNNUMMAX] [-r REFERENCEFILE] [--exclude-ifg-index [EXCLUDEIFGINDEX ...]] [--exclude-date [EXCLUDEDATE ...]] [--start-date STARTDATE] [--end-date ENDDATE] [--coherence-based] [--min-coherence MINCOHERENCE] [--area-ratio-based] [--min-area-ratio MINAREARATIO] [--no-mst] [--mask MASKFILE] [--aoi-yx X0 Y0 X1 Y1] [--aoi-lalo W S E N] [--lookup LOOKUPFILE] [--manual] file

Modify the network of interferograms

  positional arguments:

file
    Files to modify/drop network, e.g. inputs/ifgramStack.h5.

  options:

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

-t TEMPLATE_FILE, --template TEMPLATE_FILE
    Template file with input options

--reset
    restore all interferograms in the file, by marking all dropIfgram=True

--noaux
    Do not update auxiliary files, e.g. maskConnComp.h5 or avgSpatialCoh.h5 from ifgramStack.h5

--max-tbase TEMPBASEMAX
    max temporal baseline in days

--max-pbase PERPBASEMAX
    max perpendicular baseline in meters

--max-conn-num CONNNUMMAX
    max number of connections/neighbors per acquisition

-r REFERENCEFILE, --reference REFERENCEFILE
    Reference hdf5 / list file with network information. i.e. ifgramStack.h5, date12_list.txt

--exclude-ifg-index [EXCLUDEIFGINDEX ...]
    index of interferograms to remove/drop. 1 as the first

--exclude-date [EXCLUDEDATE ...]
    date(s) to remove/drop, all interferograms included date(s) will be removed

--start-date STARTDATE, --min-date STARTDATE
    remove/drop interferograms with date earlier than start-date in YYMMDD or YYYYMMDD format

--end-date ENDDATE, --max-date ENDDATE
    remove/drop interferograms with date later than end-date in YYMMDD or YYYYMMDD format

  Data-driven network modification:

    Drop/modify network based on data

--coherence-based
    Enable coherence-based network modification (default: False).

--min-coherence MINCOHERENCE
    Minimum coherence value (default: 0.7).

--area-ratio-based
    Enable area ratio-based network modification (default: False).

--min-area-ratio MINAREARATIO
    Minimum area ratio value (default: 0.75).

--no-mst
    Do not keep interferograms in Min Span Tree network based on inversed mean coherene

--mask MASKFILE
    Mask file used to calculate the spatial coherence (default: waterMask.h5 or None)

--aoi-yx X0 Y0 X1 Y1
    AOI in row/column range for coherence calculation (default: None).

--aoi-lalo W S E N
    AOI in lat/lon range for coherence calculation (default: None).

--lookup LOOKUPFILE
    Lookup table/mapping transformation file for geo/radar coordinate conversion. Needed for mask AOI in lalo

  Manual Network:

    Manually select/drop/modify network

--manual
    display network to manually choose line/interferogram to remove

  reference:

    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.

    Chaussard, E., B??rgmann, R., Fattahi, H., Nadeau, R. M., Taira, T., Johnson, C. W. and Johanson, I. (2015), Potential for larger earthquakes in the East San Francisco Bay Area due to the direct connection between the Hayward and Calaveras Faults, Geophysical Research Letters, 42(8), 2734-2741, doi:10.1002/2015GL063575.

    Kang, Y., Lu, Z., Zhao, C., Xu, Y., Kim, J. W., & Gallegos, A. J. (2021).InSAR monitoring of creeping landslides in mountainous regions: A case study in Eldorado National Forest, California. Remote Sensing of Environment, 258, 112400. doi:10.1016/j.rse.2021.112400

  template options:

    ## 1) Network modification based on temporal/perpendicular baselines, date, num of connections etc. mintpy.network.tempBaseMax = auto #[1-inf, no], auto for no, max temporal baseline in days mintpy.network.perpBaseMax = auto #[1-inf, no], auto for no, max perpendicular spatial baseline in meter mintpy.network.connNumMax = auto #[1-inf, no], auto for no, max number of neighbors for each acquisition mintpy.network.startDate = auto #[20090101 / no], auto for no mintpy.network.endDate = auto #[20110101 / no], auto for no mintpy.network.excludeDate = auto #[20080520,20090817 / no], auto for no mintpy.network.excludeIfgIndex = auto #[1:5,25 / no], auto for no, list of ifg index (start from 0) mintpy.network.referenceFile = auto #[date12_list.txt / ifgramStack.h5 / no], auto for no

    ## 2) Data-driven network modification ## a - Coherence-based network modification = (threshold + MST) by default ## reference: Yunjun et al. (2019, section 4.2 and 5.3.1); Chaussard et al. (2015, GRL) ## It calculates a average coherence for each interferogram using spatial coherence based on input mask (with AOI) ## Then it finds a minimum spanning tree (MST) network with inverse of average coherence as weight (keepMinSpanTree) ## Next it excludes interferograms if a) the average coherence < minCoherence AND b) not in the MST network. mintpy.network.coherenceBased = auto #[yes / no], auto for no, exclude interferograms with coherence < minCoherence mintpy.network.minCoherence = auto #[0.0-1.0], auto for 0.7

    ## b - Effective Coherence Ratio network modification = (threshold + MST) by default ## reference: Kang et al. (2021, RSE) ## It calculates the area ratio of each interferogram that is above a spatial coherence threshold. ## This threshold is defined as the spatial coherence of the interferograms within the input mask. ## It then finds a minimum spanning tree (MST) network with inverse of the area ratio as weight (keepMinSpanTree) ## Next it excludes interferograms if a) the area ratio < minAreaRatio AND b) not in the MST network. mintpy.network.areaRatioBased = auto #[yes / no], auto for no, exclude interferograms with area ratio < minAreaRatio mintpy.network.minAreaRatio = auto #[0.0-1.0], auto for 0.75

    ## Additional common parameters for the 2) data-driven network modification mintpy.network.keepMinSpanTree = auto #[yes / no], auto for yes, keep interferograms in Min Span Tree network mintpy.network.maskFile = auto #[file name, no], auto for waterMask.h5 or no [if no waterMask.h5 found] mintpy.network.aoiYX = auto #[y0:y1,x0:x1 / no], auto for no, area of interest for coherence calculation mintpy.network.aoiLALO = auto #[S:N,W:E / no], auto for no - use the whole area

  example:

    modify_network.py inputs/ifgramStack.h5 -t smallbaselineApp.cfg modify_network.py inputs/ifgramStack.h5 --reset modify_network.py inputs/ifgramStack.h5 --manual