Project Overview
sarpyx is a Python SAR processing toolkit with CLI workflows for WorldSAR processing, explicit SNAP pipeline recipes, tiling, and scientific metrics.
Problem Statement
The repository addresses repeatable processing of large SAR products across multiple missions while preserving metadata and providing automation-friendly CLI and Python APIs.
Target Audience
- Remote-sensing engineers building SAR preprocessing pipelines.
- Researchers running sub-look analysis and derived metrics.
- Platform engineers operating SNAP-backed processing in containers.
Key Features
- SNAP GPT integration with configurable graphs and operator chaining.
- Sub-aperture decomposition for squint-angle diversity and motion sensitivity.
- Parallel tiling and batch processing for large product volumes.
- Geocoded outputs ready for GIS and downstream ML.
- Extensible architecture compatible with `rasterio`, `geopandas`, and `pyproj`.
High-Level Architecture Summary
The package is split into `cli`, `processor`, `pipelines`, `snapflow`, `sla`, `science`, and `utils` namespaces. The CLI layer exposes sarpyx worldsar and sarpyx pipeline, while core modules process arrays and persist results. SNAP integration wraps GPT command execution for mission-specific pipelines.
Primary Languages
Python, Shell, Dockerfile, Markdown.
Runtime
Project requires Python >=3.11, <4.
Core Dependencies
matplotlib, seaborn>=0.13.2, scipy, python-dateutil>=2.9.0, six>=1.16.0, geopandas>=1.1.1, shapely, numpy, openpyxl, h5py, numba, jupyter, ...
Latest Results
Review the latest burst-based SNAPflow v2 run as a static HTML report with summary tables, separated plots, and the embedded burst map.
Module Distribution
| Namespace | Module Count |
|---|---|
__init__.py | 1 |
cli | 11 |
processor | 30 |
science | 2 |
sla | 6 |
snapflow | 5 |
utils | 19 |