pip install spurs
conda install spurs
Installation will create a command line script spurs:
spurs 20150608_20170808.intBy 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 --debugSee 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.unwspurs is an open source implementation of [1]:
- 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- Clone the repository:
git clone https://github.com/scottstanie/spurs.git
cd spurs- Install dependencies:
uv syncThis will create a virtual environment in .venv and install all dependencies from uv.lock.
- Install with development dependencies:
uv sync --extra devThis installs additional tools like pytest, ruff, mypy, and jax.
uv run pytestFor tests with JAX backend:
uv sync --extra jax
uv run pytestuv run spurs <input-file>Run linting:
uv run ruff check .Run type checking:
uv run mypy spurs- JAX backend: For GPU-accelerated unwrapping
uv sync --extra jax
uv add <package-name>This will update both pyproject.toml and uv.lock.
- 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.