Workflows for generating surface displacement maps using InSAR
Project description
dolphin
High resolution wrapped phase estimation for Interferometric Synthetic Aperture Radar (InSAR) using combined persistent scatterer (PS) and distributed scatterer (DS) processing.
Install
dolphin
is available on conda:
# 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
offers bindings to thePHASS
or theICU
unwrapping algorithms.spurt
, 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:
git clone https://github.com/isce-framework/dolphin.git && cd dolphin
- Install dependencies:
mamba env create --file conda-env.yml
or if you have an existing environment:
mamba env update --name my-existing-env --file conda-env.yml
- Install
dolphin
via pip:
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:
dolphin config --slc-files /path/to/slcs/*tif
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-files
option with a bash glob pattern, (e.g.dolphin config --slc-files merged/SLC/*/*.slc
would 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
.
See the documentation for more details.
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
./docker/build-docker-image.sh
See ./docker/build-docker-image.sh --help
for more building options.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dolphin-0.31.tar.gz
.
File metadata
- Download URL: dolphin-0.31.tar.gz
- Upload date:
- Size: 1.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fab49971de70d227ecc07ffcf8a8cad9bb970516781872c1e5fe5c2617163565 |
|
MD5 | f5831200506f7dd82678f5ea8c80d894 |
|
BLAKE2b-256 | aed5c232dd766f268a75f92920291eebe750b7e40ae03f4348ef979d1b2f53c9 |
Provenance
The following attestation bundles were made for dolphin-0.31.tar.gz
:
Publisher:
cd.yml
on isce-framework/dolphin
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
dolphin-0.31.tar.gz
- Subject digest:
fab49971de70d227ecc07ffcf8a8cad9bb970516781872c1e5fe5c2617163565
- Sigstore transparency entry: 146350520
- Sigstore integration time:
- Predicate type:
File details
Details for the file dolphin-0.31-py3-none-any.whl
.
File metadata
- Download URL: dolphin-0.31-py3-none-any.whl
- Upload date:
- Size: 245.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb28b937da7f20347af2cb71aba50de06b70b7ad467b8d8a7132e881804a1bed |
|
MD5 | 7093d2639921168be90af695b391c678 |
|
BLAKE2b-256 | b36e834082d7e6c33e2f682c09fa0eab03065662f050a75b45b36789d7d54015 |
Provenance
The following attestation bundles were made for dolphin-0.31-py3-none-any.whl
:
Publisher:
cd.yml
on isce-framework/dolphin
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
dolphin-0.31-py3-none-any.whl
- Subject digest:
bb28b937da7f20347af2cb71aba50de06b70b7ad467b8d8a7132e881804a1bed
- Sigstore transparency entry: 146350521
- Sigstore integration time:
- Predicate type: