support / probe_readme_upload.txt
sirbastiano94's picture
probe upload
a1b570b verified
<div align="center">
<img src="src/sarpyx_logo.png" width="1400px" alt="sarpyx">
<br />
<a href="docs/user_manual.md">
<img alt="User Manual" src="https://img.shields.io/badge/Read-User%20Manual-111827?style=for-the-badge" />
</a>
<a href="docs/user_manual.md#quick-start">
<img alt="Quick Start" src="https://img.shields.io/badge/Start-Quick%20Start-0f766e?style=for-the-badge" />
</a>
<a href="LICENSE">
<img alt="License" src="https://img.shields.io/badge/License-Apache--2.0-374151?style=for-the-badge" />
</a>
</div>
##
**sarpyx** is a specialized Python toolkit for **Synthetic Aperture Radar (SAR)** processing with tight integration to ESA **SNAP**. It focuses on reproducible pipelines, fast tiling workflows, and advanced research features like **sub-aperture decomposition**.
## Highlights
- 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`.
## Install
For container workflows, use the Docker Compose CLI plugin (`docker compose`) with full commands:
```bash
docker compose version
make recreate
```
<details open>
<summary><strong>Using uv (recommended)</strong></summary>
```bash
uv sync --extra copernicus
```
For development installation with extras:
```bash
uv sync --extra copernicus --extra dev --extra test --extra docs
```
</details>
<details>
<summary><strong>Using pip (editable)</strong></summary>
```bash
python -m pip install -e .
```
</details>
## Docs
See `docs/user_manual.md` for full CLI usage and end-to-end workflows.
## Container grid configuration
At startup the container no longer generates the grid. Mount a prebuilt grid file and expose it via `GRID_PATH`:
```bash
export GRID_PATH=./grid/grid_10km.geojson
make check-grid # validates GRID_PATH exists (or ./grid/grid_10km.geojson)
make recreate # runs compose only after preflight passes
```
For direct docker runs, pass the file path used inside the container:
```bash
export GRID_PATH=/workspace/grid/grid_10km.geojson
docker run --rm -e GRID_PATH=$GRID_PATH ...
```
You can also pass `--grid-path` to the `worldsar` CLI command.
##
<div align="center">
**With Love By:** Roberto Del Prete
</div>