{"id":33141255,"url":"https://github.com/insarlab/MintPy","last_synced_at":"2025-11-16T05:00:46.403Z","repository":{"id":20180590,"uuid":"23451558","full_name":"insarlab/MintPy","owner":"insarlab","description":"Miami InSAR time-series software in Python","archived":false,"fork":false,"pushed_at":"2025-10-14T01:04:27.000Z","size":81647,"stargazers_count":702,"open_issues_count":60,"forks_count":291,"subscribers_count":57,"default_branch":"main","last_synced_at":"2025-10-21T19:39:15.209Z","etag":null,"topics":["deformation","earthquake","geodesy","geophysics","geoscience","insar","nisar","radar","remote-sensing","sar","sentinel-1","tectonics","time-series","volcano"],"latest_commit_sha":null,"homepage":"https://mintpy.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/insarlab.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-08-29T03:36:46.000Z","updated_at":"2025-10-21T15:47:01.000Z","dependencies_parsed_at":"2023-10-20T20:23:21.683Z","dependency_job_id":"6e8597d2-77e8-49cd-8bb9-33e3dab0177d","html_url":"https://github.com/insarlab/MintPy","commit_stats":{"total_commits":2563,"total_committers":71,"mean_commits":"36.098591549295776","dds":0.6125634022629731,"last_synced_commit":"97404aef0d3e622de118b70fc35c14015048aa93"},"previous_names":["insarlab/pysar"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/insarlab/MintPy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insarlab%2FMintPy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insarlab%2FMintPy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insarlab%2FMintPy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insarlab%2FMintPy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/insarlab","download_url":"https://codeload.github.com/insarlab/MintPy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insarlab%2FMintPy/sbom","scorecard":{"id":489584,"data":{"date":"2025-08-11","repo":{"name":"github.com/insarlab/MintPy","commit":"f968200e321e22818c10613ab0bd17de1a5d6a89"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.6,"checks":[{"name":"Code-Review","score":5,"reason":"Found 13/26 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"22 commit(s) and 11 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build-docker.yml:1","Warn: no topLevel permission defined: .github/workflows/build-n-publish-to-pypi.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-docker.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-docker.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-docker.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-docker.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-docker.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-docker.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-docker.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-n-publish-to-pypi.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-n-publish-to-pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-n-publish-to-pypi.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-n-publish-to-pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-n-publish-to-pypi.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-n-publish-to-pypi.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-n-publish-to-pypi.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-n-publish-to-pypi.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-n-publish-to-pypi.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-n-publish-to-pypi.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-n-publish-to-pypi.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/insarlab/MintPy/build-n-publish-to-pypi.yml/main?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:2: pin your Docker image by updating mambaorg/micromamba:0.24.0 to mambaorg/micromamba:0.24.0@sha256:8e6826b7efc8af8f1685ba648ecf482af6399db3370f4121e6831758fc836263","Warn: pipCommand not pinned by hash: Dockerfile:37-40","Warn: pipCommand not pinned by hash: .github/workflows/build-n-publish-to-pypi.yml:30","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   7 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/build-docker.yml:14"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":0,"reason":"31 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2021-870 / GHSA-8rh6-h94m-vj54","Warn: Project is vulnerable to: PYSEC-2021-387 / GHSA-j8fq-86c5-5v2r","Warn: Project is vulnerable to: PYSEC-2022-288 / GHSA-6hrg-qmvc-2xh8","Warn: Project is vulnerable to: GHSA-55x5-fj6c-h6m8","Warn: Project is vulnerable to: PYSEC-2014-9 / GHSA-57qw-cc2g-pv5p","Warn: Project is vulnerable to: PYSEC-2021-19 / GHSA-jq4v-f5q6-mjqq","Warn: Project is vulnerable to: GHSA-pgww-xf46-h92r","Warn: Project is vulnerable to: PYSEC-2022-230 / GHSA-wrxv-2j5q-m38w","Warn: Project is vulnerable to: PYSEC-2018-12 / GHSA-xp26-p53h-6h2p","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52","Warn: Project is vulnerable to: PYSEC-2013-9 / GHSA-4gv5-qhvr-36vv","Warn: Project is vulnerable to: PYSEC-2021-437 / GHSA-5xp3-jfq3-5q8x","Warn: Project is vulnerable to: PYSEC-2019-160 / GHSA-c5h8-cq4v-cvfm","Warn: Project is vulnerable to: PYSEC-2013-8 / GHSA-g3p5-fjj9-h8gj","Warn: Project is vulnerable to: PYSEC-2020-173 / GHSA-gpvv-69j7-gwj8","Warn: Project is vulnerable to: PYSEC-2023-228 / GHSA-mq26-g339-26xf","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg","Warn: Project is vulnerable to: PYSEC-2019-156 / GHSA-xp76-357g-9wqq","Warn: Project is vulnerable to: PYSEC-2023-102","Warn: Project is vulnerable to: PYSEC-2023-114","Warn: Project is vulnerable to: PYSEC-2019-241"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T18:43:07.497Z","repository_id":20180590,"created_at":"2025-08-19T18:43:07.497Z","updated_at":"2025-08-19T18:43:07.497Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284662610,"owners_count":27043071,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-16T02:00:05.974Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deformation","earthquake","geodesy","geophysics","geoscience","insar","nisar","radar","remote-sensing","sar","sentinel-1","tectonics","time-series","volcano"],"created_at":"2025-11-15T12:00:43.110Z","updated_at":"2025-11-16T05:00:46.396Z","avatar_url":"https://github.com/insarlab.png","language":"Python","funding_links":[],"categories":["InSAR","Time Series Analysis Software"],"sub_categories":["GEDI"],"readme":"[![Language](https://img.shields.io/badge/python-3.8%2B-blue.svg?style=flat-square)](https://www.python.org/)\n[![Docs Status](https://readthedocs.org/projects/mintpy/badge/?version=latest\u0026style=flat-square)](https://mintpy.readthedocs.io/?badge=latest)\n[![CircleCI](https://img.shields.io/circleci/build/github/insarlab/MintPy.svg?logo=circleci\u0026label=tests\u0026style=flat-square)](https://circleci.com/gh/insarlab/MintPy)\n[![Docker Status](https://img.shields.io/github/actions/workflow/status/insarlab/MintPy/build-docker.yml?label=docker\u0026style=flat-square\u0026logo=docker\u0026logoColor=white)](https://github.com/insarlab/MintPy/pkgs/container/mintpy)\n[![Conda Download](https://img.shields.io/conda/dn/conda-forge/mintpy?color=green\u0026style=flat-square\u0026label=conda%20downloads)](https://anaconda.org/conda-forge/mintpy)\n[![Version](https://img.shields.io/github/v/release/insarlab/MintPy?color=yellow\u0026label=version\u0026style=flat-square)](https://github.com/insarlab/MintPy/releases)\n[![Forum](https://img.shields.io/badge/forum-Google%20Groups-orange.svg?style=flat-square)](https://groups.google.com/g/mintpy)\n[![License](https://img.shields.io/badge/license-GPLv3+-blue.svg?style=flat-square)](https://github.com/insarlab/MintPy/blob/main/LICENSE)\n[![Citation](https://img.shields.io/badge/doi-10.1016%2Fj.cageo.2019.104331-blue?style=flat-square)](https://doi.org/10.1016/j.cageo.2019.104331)\n\n## MintPy ##\n\nThe Miami INsar Time-series software in PYthon (MintPy as /mɪnt paɪ/) is an open-source package for Interferometric Synthetic Aperture Radar (InSAR) time series analysis. It reads the stack of interferograms (coregistered and unwrapped) in [ISCE](https://github.com/isce-framework/isce2), [ARIA](https://github.com/aria-tools/ARIA-tools), [FRInGE](https://github.com/isce-framework/fringe), [HyP3](https://hyp3-docs.asf.alaska.edu/), [GMTSAR](https://github.com/gmtsar/gmtsar), [SNAP](http://step.esa.int/), [GAMMA](https://www.gamma-rs.ch/gamma-software) or ROI_PAC format, and produces three dimensional (2D in space and 1D in time) ground surface displacement in line-of-sight direction. It includes a routine time series analysis (`smallbaselineApp.py`) and some independent toolbox.\n\nThis package was called PySAR before version 1.1.1. For version 1.1.2 and onward, we use MintPy instead.\n\nThis is research code provided to you \"as is\" with NO WARRANTIES OF CORRECTNESS. Use at your own risk.\n\n### 1. [Installation](./installation.md) ###\n\n### 2. Running MintPy ###\n\n#### 2.1 Routine workflow `smallbaselineApp.py` ####\n\nMintPy reads a stack of interferograms (unwrapped interferograms, coherence and connected components from SNAPHU if available) and the geometry files (DEM, lookup table, incidence angle, etc.). You need to give the [path to where the files are](dir_structure.md) and MintPy takes care of the rest!\n\n```bash\nsmallbaselineApp.py                         # run with default template 'smallbaselineApp.cfg'\nsmallbaselineApp.py \u003ccustom_template\u003e       # run with default and custom templates\nsmallbaselineApp.py -h / --help             # help\nsmallbaselineApp.py -H                      # print    default template options\nsmallbaselineApp.py -g                      # generate default template if it does not exist\nsmallbaselineApp.py -g \u003ccustom_template\u003e    # generate/update default template based on custom template\n\n# Run with --start/stop/dostep options\nsmallbaselineApp.py GalapagosSenDT128.txt --dostep velocity  # run step 'velocity' only\nsmallbaselineApp.py GalapagosSenDT128.txt --end load_data    # end run after step 'load_data'\n```\n\nInside smallbaselineApp.py, it reads the unwrapped interferograms, references all of them to the same coherent pixel (reference point), calculates the phase closure and estimates the unwrapping errors (if it has been asked for), inverts the network of interferograms into time-series, calculates the temporal coherence to evaluate the quality of inversion, corrects local oscillator drift (for Envisat only), corrects stratified tropospheric delay (using global atmospheric models or phase-elevation-ratio approach), removes phase ramps (if it has been asked for), corrects DEM error,... and finally estimates the velocity.\n\nConfiguration parameters for each step are initiated with default values in a customizable text file [**smallbaselineApp.cfg**](../src/mintpy/defaults/smallbaselineApp.cfg).\n\n#### [Example](./demo_dataset.md) on Fernandina volcano, Galápagos with Sentinel-1 data ####\n\n```bash\nwget https://zenodo.org/record/3952953/files/FernandinaSenDT128.tar.xz\ntar -xvJf FernandinaSenDT128.tar.xz\ncd FernandinaSenDT128/mintpy\nsmallbaselineApp.py ${MINTPY_HOME}/docs/templates/FernandinaSenDT128.txt\n```\n\n\u003cp align=\"left\"\u003e\n  \u003cimg width=\"600\" src=\"https://insarlab.github.io/figs/docs/mintpy/FernandinaSenDT128-ISCE2.jpg\"\u003e\n\u003c/p\u003e\n\nResults are plotted in **./pic** folder. To explore more data information and visualization, try the following scripts:\n\n```bash\ninfo.py                    # check HDF5 file structure and metadata\nview.py                    # 2D map view\ntsview.py                  # 1D point time-series (interactive)\nplot_coherence_matrix.py   # plot coherence matrix for one pixel (interactive)\nplot_network.py            # plot network configuration of the dataset\nplot_transection.py        # plot 1D profile along a line of a 2D matrix (interactive)\nsave_kmz.py                # generate Google Earth KMZ file in points or raster image\nsave_kmz_timeseries.py     # generate Google Earth KMZ file in points for time-series (interactive)\n```\n\n#### 2.2 Customized processing recipe ####\n\nMintPy is a toolbox with individual utility scripts. Simply run the script with `-h / --help` to see its usage, you could build your own customized processing recipe! [Here](../scripts/compare_velocity_with_diff_tropo.sh) is an example to compare the velocities estimated from displacement time-series with different tropospheric delay corrections.\n\n#### 2.3 Build on top of `mintpy` module ####\n\nMintPy is modulized in Python with utilities classes and functions and well commented in the code level. Users who are familiar with Python could build their own functions and modules on top of [`mintpy.objects`](../src/mintpy/objects) and [`mintpy.utils`](../src/mintpy/utils). However, we don't have a complete API document website yet (maybe you can contribute this!). Below is an example of reading the 3D matrix of displacement time-series from an HDF5 file.\n\n```python\nfrom mintpy.utils import readfile\nts_data, meta = readfile.read('timeseries_ERA5_ramp_demErr.h5')\n```\n\n### 3. [Documentation](https://mintpy.readthedocs.io/) ###\n\nAlgorithms implemented in the software are described in details at [Yunjun et al. (2019)](https://doi.org/10.1016/j.cageo.2019.104331).\n\n+ [Quick start with example datasets](./demo_dataset.md)\n+ [Example data directory](./dir_structure.md)\n+ [Example template files](./templates/README.md)\n+ [Tutorials in Jupyter Notebook](https://github.com/insarlab/MintPy-tutorial)\n\n### 4. Contact us ###\n\n+ Most development discussion happens on GitHub. Feel free to [open an issue](https://github.com/insarlab/MintPy/issues) or comment on any open issue or pull request.\n+ Join our [user forum on google groups](https://groups.google.com/g/mintpy) or use [github discussions](https://github.com/insarlab/MintPy/discussions) to ask questions or leave comments.\n\n### 5. Contributing ###\n\n**Imposter syndrome disclaimer:** We want your help. No, really.\n\nThere may be a little voice inside your head that is telling you that you're not ready to be an open source contributor; that your skills aren't nearly good enough to contribute. What could you possibly offer?\n\nWe assure you - the little voice in your head is wrong. If you can write code at all, you can contribute code to open source. Contributing to open source projects is a fantastic way to advance one's coding skills. Writing perfect code isn't the measure of a good developer (that would disqualify all of us!); it's trying to create something, making mistakes, and learning from those mistakes. That's how we all improve, and we are happy to help others learn.\n\n**Being an open source contributor doesn't just mean writing code.** You can help out by writing or proofreading documentation, suggesting or implementing tests, or even giving feedback about the project (and yes - that includes giving feedback about the contribution process). Some of these contributions may be the most valuable to the project as a whole, because you're coming to the project with fresh eyes, so you can see the errors and assumptions that seasoned contributors have glossed over.\n\nFor more information, please read our [contributing guide](./CONTRIBUTING.md).\n\n_This disclaimer was adapted from the [MetPy project](https://github.com/Unidata/MetPy)._\n\n### 6. Citing this work ###\n\nYunjun, Z., Fattahi, H., and Amelung, F. (2019), Small baseline InSAR time series analysis: Unwrapping error correction and noise reduction, _Computers \u0026 Geosciences_, _133_, 104331. [ [doi](https://doi.org/10.1016/j.cageo.2019.104331) \\| [arxiv](https://doi.org/10.31223/osf.io/9sz6m) \\| [data](https://doi.org/10.5281/zenodo.3464190) \\| [notebook](https://github.com/geodesymiami/Yunjun_et_al-2019-MintPy) ]\n\nIn addition to the above, we recommend that you cite the original publications that describe the algorithms used in your specific analysis. They are noted briefly in the [default template file](../src/mintpy/defaults/smallbaselineApp.cfg) and listed in the [reference file](./references.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsarlab%2FMintPy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finsarlab%2FMintPy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsarlab%2FMintPy/lists"}