Skip to content

About

SAR imaging toolbox providing Time‑Domain Back‑Projection and Range‑Doppler backends, with Python, Numba, and GPU‑ready implementations. Includes analysis modules, despeckling filters, and a complete test and benchmark suite.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Radar Imaging Toolbox (TDBP, RDA, Analysis)

This repository is a modular, high‑performance Python toolbox for Synthetic Aperture Radar (SAR) imaging.

It extends the MATLAB-based project Time-Domain-Back-Projection-Method by mrzamaniiii, adding:

  • Multiple imaging backends (Python, Numba, GPU stub, RDA)
  • High‑performance parallel kernels (~9× speedup with Numba)
  • Frequency‑domain Range‑Doppler Algorithm (RDA)
  • Full test suite (58 tests) + benchmarks
  • Deterministic synthetic fixtures
  • Modular SAR analysis utilities
  • Command-Line Interface & Module Execution

This is now a complete SAR imaging library, not just a port.


Project Structure

File / Path Description
dataset_UAV.mat Radar dataset: UAV trajectory, range axis, raw radar returns.
src/sar_toolbox/__main__.py CLI entry point for package execution and quick benchmarking.
src/sar_toolbox/tdbp.py Time‑Domain Back‑Projection with multi‑backend support (python, numba, gpu, rda).
src/sar_toolbox/rda.py Range‑Doppler Algorithm (RDA) — FFT‑based SAR imaging backend.
src/sar_toolbox/despeckling.py Speckle reduction filters (3×3, 5×5, 7×7).
src/sar_toolbox/corner_reflectors.py Corner reflector analysis: azimuth & range resolution.
src/sar_toolbox/analysis.py Bandwidth estimation, trajectory error simulation, frequency analysis.
tests/ Full pytest suite (backend parity, interpolation, CLI, phase correctness, determinism, benchmarks).
Codes/ Original MATLAB reference scripts.

Key Features

  • Multi‑backend TDBP

  • Pure Python reference implementation

  • Numba‑accelerated parallel kernel (~9× faster)

  • GPU backend placeholder (CuPy-ready)

  • RDA backend for FFT-based imaging

  • Range-Doppler Algorithm (RDA)

  • Frequency-domain SAR imaging

  • Extremely fast (110–250 µs for typical grids)

  • Perfect for benchmarking and comparison

  • SAR Analysis Tools

  • Bandwidth estimation

  • Range resolution

  • Azimuth resolution

  • Corner reflector patch analysis

  • Trajectory error simulation

  • Image Processing & CLI

  • Speckle reduction filters

  • FFT-based diagnostics

  • Direct terminal execution via sar-toolbox or python -m sar_toolbox

  • Engineering Practices

  • 58 tests

  • 77% coverage

  • Benchmarks (pytest‑benchmark)

  • CI-ready with matrix fallback validation

  • Deterministic synthetic fixtures

  • Modular architecture


How to Run

  1. Install in editable mode with test dependencies:
pip install -e .[test]
  1. Generate the synthetic test dataset:
python scripts/generate_data.py
  1. Run the full test suite:
pytest
  1. Run benchmarks:
pytest tests/benchmarks -q
  1. Use the Command-Line Interface:
sar-toolbox --test-mode --backend numba --plot

Alternatively, execute via module syntax:

python -m sar_toolbox --test-mode --backend python
  1. Or use programmatically:
from sar_toolbox.tdbp import run_tdbp

result = run_tdbp("dataset_UAV.mat", backend="numba")

Backends available:

python, numba, gpu, rda

About

SAR imaging toolbox providing Time‑Domain Back‑Projection and Range‑Doppler backends, with Python, Numba, and GPU‑ready implementations. Includes analysis modules, despeckling filters, and a complete test and benchmark suite.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages