Skip to main content

insar-rs (Python)

Python bindings for the SBAS engine of insar-rs (Rust). Fast InSAR time-series inversion, usable from numpy.

Install

pip install insar-rs

Development build:

python3 -m venv .venv && source .venv/bin/activate
pip install maturin numpy
cd crates/python
maturin develop --release

Usage

import insar_rs, numpy as np

# End-to-end from ISCE interferograms (unwrapped .unw). Automatically
# references to the pixel with the highest mean coherence.
vel, vel_std, series, coherence, epochs = insar_rs.sbas_from_isce(
    "merged/interferograms", baselines_dir="baselines")
# vel: (rows, cols) m/yr ; vel_std: (rows, cols) m/yr (standard error)
# series: (epochs, rows, cols) m
# coherence: (rows, cols) temporal coherence [0, 1] (quality mask)
# epochs: ['YYYY-MM-DD', ...]

# Or on your own unwrapped-phase arrays (n_pairs, rows, cols) in radians:
ts  = insar_rs.invert_sbas(phase, refs, secs, epoch_days, wavelength_m=0.0555)
vel = insar_rs.estimate_velocity(ts, epoch_days)

# Persistent Scatterers:
da  = insar_rs.amplitude_dispersion(amp_stack)  # (n_epochs, rows, cols) -> (rows, cols)

# LOS asc+desc decomposition -> (Up, East); scalar or per-pixel geometry:
up, east = insar_rs.decompose_asc_desc(los_asc, 39.0, 349.0, los_desc, 39.0, 191.0)
up, east = insar_rs.decompose_per_pixel([los_asc, los_desc], [inc_asc, inc_desc], [head_asc, head_desc])

# Per-pixel ML descriptors (dict of arrays, deterministic schema):
features = insar_rs.extract_features(series, epoch_days)  # {"velocity": ..., "acceleration": ..., ...}

# Deramp (plane/quadratic) and 2π jump correction by phase closure:
flat = insar_rs.remove_ramp(vel, "linear")
corrected_phase, n_corrected, n_uncorrected = insar_rs.correct_unwrap_errors(phase, refs, secs)

The non-closure phase-bias correction and the LiCSAR reader are not exposed in the bindings yet; use the Rust crate insar-core for them.

Conventions: NoData = NaN; LOS displacement d = −λ/(4π)·φ; series relative to the first epoch. Validated against MintPy (see docs/validation.md).

Metadata

Release files for insar-rs 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for insar-rs 0.3.0
File Size Uploaded Provenance Actions
insar_rs-0.3.0.tar.gz 1.1 MB Without provenance Details for insar_rs-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for insar-rs 0.3.0
File Interpreter ABI Platform Actions
insar_rs-0.3.0-cp39-abi3-manylinux_2_35_x86_64.whl CPython 3.9 abi3 Linux glibc 2.35+ x86-64 Details for insar_rs-0.3.0-cp39-abi3-manylinux_2_35_x86_64.whl

Total release size: 1.9 MB

Release files / insar_rs-0.3.0.tar.gz

Download URL insar_rs-0.3.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
053be47683653e8df2857694f2a682bd5cfb794cb86f90b960dcd7c54c774b5d
BLAKE2b-256 checksum
How to use checksums
c4b8adfdcca26e8a653d3ec3009182e041cd09a8f2ee3a4c695e5126ec4a23f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.11.5

Release files / insar_rs-0.3.0-cp39-abi3-manylinux_2_35_x86_64.whl

Download URL insar_rs-0.3.0-cp39-abi3-manylinux_2_35_x86_64.whl
Size 722.8 kB
Tags CPython 3.9 Linux glibc 2.35+ x86-64 abi3
SHA-256 checksum
How to use checksums
3529ec97147c869987b9797e9d59c6b09209e3a53cf4e2dba567ee261f19d77a
BLAKE2b-256 checksum
How to use checksums
256a103553175e33f84fb24a4c383988c8dd3721d5c567f8daf7e8a29154bd7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.11.5

Security for insar-rs 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page