Skip to content

scottstanie/spurs

Repository files navigation

spurs

Install

pip install spurs

conda install spurs

How to use

Installation will create a command line script spurs:

spurs 20150608_20170808.int

By default, will output to file 20150608_20170808.unw matching the name.

To increase the tolerance (from pi/10 radians) for faster convergence, showing iteration stats:

spurs 20150608_20170808.int -o 20150608_20170808.unw --tol .5 --debug

See spurs --help for all options.

Note that for input interferograms which aren't complex, float32 binary format, gdal must be installed. E.g. for a VRT input:

spurs 20150608_20170808.vrt -o 20150608_20170808.unw

spurs is an open source implementation of [1]:

Development Setup

Prerequisites

  • Python 3.11 or later
  • uv - Fast Python package installer and resolver

Install uv if you haven't already:

curl -LsSf https://astral.sh/uv/install.sh | sh

Getting Started

  1. Clone the repository:
git clone https://github.com/scottstanie/spurs.git
cd spurs
  1. Install dependencies:
uv sync

This will create a virtual environment in .venv and install all dependencies from uv.lock.

  1. Install with development dependencies:
uv sync --extra dev

This installs additional tools like pytest, ruff, mypy, and jax.

Running Tests

uv run pytest

For tests with JAX backend:

uv sync --extra jax
uv run pytest

Running the CLI Locally

uv run spurs <input-file>

Code Quality

Run linting:

uv run ruff check .

Run type checking:

uv run mypy spurs

Optional Dependencies

  • JAX backend: For GPU-accelerated unwrapping
    uv sync --extra jax

Adding Dependencies

uv add <package-name>

This will update both pyproject.toml and uv.lock.

References

  1. Chartrand, Rick, Matthew T. Calef, and Michael S. Warren. "Exploiting Sparsity for Phase Unwrapping." IGARSS 2019-2019 IEEE International Geoscience and Remote Sensing Symposium. IEEE, 2019.

About

Sparse phase unwrapping of InSAR interferograms

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •