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.

Open the SNAPflow v2 results page

Module Distribution

NamespaceModule Count
__init__.py1
cli11
processor30
science2
sla6
snapflow5
utils19