Draft

processing-library — GPR Processing Library

Clientnovameraactive

Python library for Ground Penetrating Radar signal processing — the computational engine behind the GPR pipeline. Provides trace processing, time-domain analysis, and coordinate transforms used by svc-gpr and the borehole viewer.

flowchart LR
    GPR[svc-gpr] --> LIB[processing-library
Python] VIEWER[borehole-viewer] --> LIB LIB --> TRANSFORMS["Coordinate transforms
time_to_cartesian
min_curvature"] LIB --> PROCESSING["Trace processing
workflows"] style LIB fill:#EDEDFF,stroke:#3B54F7

Data model consumed:

  • data.traces — numpy array of traces (time samples as columns)

  • data.sample_int_ns — sample interval in nanoseconds

  • data.toolface_a_deg / data.toolface_g_deg — toolface from accelerometer + gyro

  • data.timestamp_ms, data.x/y/z — positional coordinates per trace

  • Setup: Poetry-managed; poetry shell + poetry install; pip install git+https://github.com/propel-ai/processing-library.git@RC-V1.1 for direct install.

  • Tests: poetry run pytest tests/; lint via pylint; format via black.

  • Canonical transforms: gpr_pipeline.transform.time_to_cartesian and gpr_pipeline.transform.min_curvature — used identically by the production pipeline and the borehole viewer.