Dolphin
Dolphin: A Python package for large-scale InSAR PS/DS processing - Published in JOSS (2024)
Science Score: 100.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
3 of 8 committers (37.5%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Keywords from Contributors
Repository
InSAR phase linking library for creating surface displacement maps using persistent scatterer (PS) and distributed scatterer (DS) processing
Basic Info
- Host: GitHub
- Owner: isce-framework
- License: other
- Language: Python
- Default Branch: main
- Homepage: https://dolphin-insar.readthedocs.io
- Size: 64.8 MB
Statistics
- Stars: 101
- Watchers: 10
- Forks: 28
- Open Issues: 26
- Releases: 63
Topics
Metadata Files
README.md
dolphin
High resolution wrapped phase estimation for Interferometric Synthetic Aperture Radar (InSAR) using combined persistent scatterer (PS) and distributed scatterer (DS) processing.
Install
dolphin may be installed via conda-forge:
```bash
if mamba is not already installed, see here: https://mamba.readthedocs.io/en/latest/
mamba install -c conda-forge dolphin ```
It is also available via PyPI and may be pip-installed on some platforms, such as Google's Colab. However, certain dependencies (e.g. GDAL) are more easily set up through conda.
dolphin has the ability to unwrap interferograms using several options, which can be toggled using the unwrap_method configuration option:
snaphu-py, a lightweight Python bindings to SNAPHU. Available on both pip and conda.isce3's python bindings to SNAPHU, PHASS, or ICUspurt, a 3D unwrapper, implementing the Extended Minimum Cost Flow (ECMF) algorithmtophu, a multi-scale unwrapper designed to unwrap large interferograms in parallel tiles at multiple resolution.
These may be installed via conda or (in the case of snaphu-py) pip.
To install locally:
- Download source code:
bash
git clone https://github.com/isce-framework/dolphin.git && cd dolphin
- Install dependencies:
bash
mamba env create --file conda-env.yml
or if you have an existing environment:
bash
mamba env update --name my-existing-env --file conda-env.yml
- Install
dolphinvia pip:
bash
conda activate dolphin-env
python -m pip install .
Dolphin can also take advantage of CUDA-compatible GPUs for faster processing. See the docs for installation instructions and configuration.
Usage
The main entry point for configuring and running workflows the dolphin command line tool:
dolphin config: create a workflow configuration file.dolphin run: run the workflow using this file.
Example usage:
```bash dolphin config --slc-files /path/to/slcs/*tif
OR: to make a coarser output 4x as quickly:
dolphin config --slc-files /path/to/slcs/*tif --strides 2 2
dolphin run dolphin_config.yaml ```
The config command creates a YAML file (by default dolphin_config.yaml in the current directory). If you'd like to see an empty YAML with all defaults filled in, you can run dolphin config --print-empty, which creates a sample file like the one here
The only required inputs for the workflow are the paths to the coregistered SLC files (in either geographic or radar coordinates). If the SLC files are spread over multiple files, you can either
use the
--slc-filesoption with a bash glob pattern, (e.g.dolphin config --slc-files merged/SLC/*/*.slcwould match the ISCE2 stack processor output )Store all input SLC files in a text file delimited by newlines (e.g.
my_slc_list.txt), and give the name of this text file prefixed by the@character (e.g.dolphin config --slc-files @my_slc_list.txt)
The full set of options is written to the configuration file; you can edit this file, or you can see which commonly tuned options by are changeable running dolphin config --help.
Building and running via Docker
dolphin can also be run using Docker. You can use the one built on Github, or build it locally using the script
bash
./docker/build-docker-image.sh
Citation
If you use dolphin in your research, please cite:
Staniewicz et al., (2024). Dolphin: A Python package for large-scale InSAR PS/DS processing. Journal of Open Source Software, 9(103), 6997, https://doi.org/10.21105/joss.06997
Contributing
We welcome many forms of contributing, including testing, bug reports, and documentation fixes. If you think you've found a problem, please let us know! You can raise an issue on the repository, where there are templates for Bug Reports and Feature Requests. If you have a general question of idea, feel free to raise it in the Discussions page.
For more detailed guidance on setting up a development environment, including how make and test changes to the code, see Contributing to Dolphin.
For more general Q&A, please use the Discussions page.
License
This software is licensed under your choice of BSD-3-Clause or Apache-2.0 licenses. See the accompanying LICENSE file for further details.
SPDX-License-Identifier: BSD-3-Clause OR Apache-2.0
Owner
- Name: isce-framework
- Login: isce-framework
- Kind: organization
- Repositories: 5
- Profile: https://github.com/isce-framework
JOSS Publication
Dolphin: A Python package for large-scale InSAR PS/DS processing
Authors
Tags
InSAR remote sensing phase linking time series persistent scatterers distributed scatterers interferometry surface deformation earthquakeCitation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Staniewicz"
given-names: "Scott J."
orcid: "https://orcid.org/0000-0002-3055-5731"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Mirzaee"
given-names: "Sara"
orcid: "https://orcid.org/0000-0001-8194-5951"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Gunter"
given-names: "Geoffrey M."
orcid: "https://orcid.org/0000-0003-4612-0887"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Oliver-Cabrera"
given-names: "Talib"
orcid: "https://orcid.org/0000-0002-2315-4710"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Havazli"
given-names: "Emre"
orcid: "https://orcid.org/0000-0002-1236-7067"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Fattahi"
given-names: "Heresh"
orcid: "https://orcid.org/0000-0001-6926-4387"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Sangha"
orcid: "https://orcid.org/0000-0002-7458-9992"
given-names: "Simran S."
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Burns"
given-names: "Ryan"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Jeon"
given-names: "Seyeon"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
license: BSD-3-Clause OR Apache-2.0
doi: 10.5281/zenodo.14041319
repository-code: "https://github.com/isce-framework/dolphin"
preferred-citation:
type: article
authors:
- family-names: "Staniewicz"
given-names: "Scott J."
orcid: "https://orcid.org/0000-0002-3055-5731"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Mirzaee"
given-names: "Sara"
orcid: "https://orcid.org/0000-0001-8194-5951"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Gunter"
given-names: "Geoffrey M."
orcid: "https://orcid.org/0000-0003-4612-0887"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Oliver-Cabrera"
given-names: "Talib"
orcid: "https://orcid.org/0000-0002-2315-4710"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Havazli"
given-names: "Emre"
orcid: "https://orcid.org/0000-0002-1236-7067"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
- family-names: "Fattahi"
given-names: "Heresh"
orcid: "https://orcid.org/0000-0001-6926-4387"
affiliation: Jet Propulsion Laboratory, California Institute of Technology
date-published: 2024-11-13
doi: 10.21105/joss.06997
issn: 2475-9066
issue: 103
journal: Journal of Open Source Software
publisher:
name: Open Journals
start: 6997
title: "Dolphin: A Python package for large-scale InSAR PS/DS processing"
type: article
url: "https://joss.theoj.org/papers/10.21105/joss.06997"
volume: 9
title: "Dolphin: A Python package for large-scale InSAR PS/DS processing"
GitHub Events
Total
- Create event: 53
- Release event: 16
- Issues event: 35
- Watch event: 29
- Delete event: 51
- Issue comment event: 51
- Push event: 150
- Pull request review event: 8
- Pull request review comment event: 7
- Pull request event: 243
- Fork event: 6
Last Year
- Create event: 53
- Release event: 16
- Issues event: 35
- Watch event: 29
- Delete event: 51
- Issue comment event: 51
- Push event: 150
- Pull request review event: 8
- Pull request review comment event: 7
- Pull request event: 243
- Fork event: 6
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Scott Staniewicz | s****z@j****v | 708 |
| pre-commit-ci[bot] | 6****] | 97 |
| Sara Mirzaee | 3****s | 17 |
| Geoffrey Gunter | 1****r | 9 |
| dependabot[bot] | 4****] | 4 |
| Simran S Sangha | s****a@u****u | 4 |
| Ryan Burns | r****s@j****v | 3 |
| seyeonjeon | 1****n | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 104
- Total pull requests: 722
- Average time to close issues: 4 months
- Average time to close pull requests: 6 days
- Total issue authors: 16
- Total pull request authors: 8
- Average comments per issue: 0.93
- Average comments per pull request: 0.16
- Merged pull requests: 629
- Bot issues: 0
- Bot pull requests: 154
Past Year
- Issues: 22
- Pull requests: 280
- Average time to close issues: 12 days
- Average time to close pull requests: 5 days
- Issue authors: 8
- Pull request authors: 5
- Average comments per issue: 0.59
- Average comments per pull request: 0.06
- Merged pull requests: 226
- Bot issues: 0
- Bot pull requests: 75
Top Authors
Issue Authors
- scottstanie (77)
- mirzaees (5)
- Shima-shoki (4)
- suatcoskun (3)
- ZGHHGZ (2)
- McWhity (2)
- sssangha (2)
- taliboliver (1)
- songzwgithub (1)
- sheyu921 (1)
- rk-napoli (1)
- sergeikharchenko (1)
- amrit-thapa-2044 (1)
- rtburns-jpl (1)
- wangshuaicumt (1)
Pull Request Authors
- scottstanie (499)
- pre-commit-ci[bot] (150)
- mirzaees (33)
- gmgunter (13)
- seyeonjeon (10)
- sssangha (7)
- rtburns-jpl (7)
- dependabot[bot] (7)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 673 last-month
- Total dependent packages: 0
- Total dependent repositories: 3
- Total versions: 30
- Total maintainers: 3
pypi.org: dolphin
Workflows for generating surface displacement maps using InSAR
- Homepage: https://github.com/isce-framework/dolphin
- Documentation: https://dolphin.readthedocs.io/
- License: other
-
Latest release: 0.42.0
published 5 months ago
Rankings
Maintainers (3)
Dependencies
- gdal >=3
- numpy *
- python >=3.9
- ruamel.yaml *
- yamale *
- mambaorg/micromamba 1.1.0@sha256 build
- oraclelinux 8-slim@sha256 build
- mkdocs *
- mkdocs-gen-files *
- mkdocs-literate-nav *
- mkdocs-material *
- mkdocs-section-index *
- mkdocstrings *
- pymdown-extensions *
- black * test
- flake8 * test
- pre-commit * test
- pytest * test
- pytest-cov * test
- actions/checkout v3 composite
- actions/setup-python v4 composite
- akhilerm/tag-push-action v2.1.0 composite
- docker/build-push-action v4 composite
- docker/login-action v2 composite
- mamba-org/setup-micromamba v1 composite
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/upload-artifact v3 composite
- mamba-org/setup-micromamba v1 composite
