Skip to main content

Speeding up Ground Penetrating Radar (GPR) processing

Project description

PyPI Crates.io CI codecov

Ridal — Speeding up Ground Penetrating Radar (GPR) processing

The aim of ridal is to quickly and accurately process GPR data. In one command, most data can be processed in pre-set profiles or with custom filter settings, and batch modes allow for sequences of datasets to be processed with the same settings. Built in rust with a high focus on testing and performance, ridal may be for you if large data volumes and strange fileformats are common issues.

The name is a take on the loosely defined "Data Abstraction Library" (DAL) projects like GDAL and PDAL, but for radar. A near-term goal of Ridal is to enable easy conversion between formats, such as ridal convert input.rad output.dzt (this is not yet implemented).

Much of the functionality has been inspired from the projects RGPR and ImpDAR; both of which are more mature projects. For example, Ridal currently only works on Malå (.rd3), GSSI (.dzt) and pulseEKKO (.dt1) radar formats. For many uses, these will more likely be the tools for you!

Image of a glacier radargram Radargram (100 MHz Malå) of Kroppbreen in Svalbard. Collected 28 Feb. 2023.

Notes

  • Prior to Feb. 2026, this program was called rsgpr.
  • The CLI/Python interface changed completely in version 0.5. See Issue #82 for more info.

Installation

Requirements

  • cargo(only for the CLI; not the python package). Easiest installed using rustup.
  • gdal (optional, for sampling heights from DEMs). For Debian or derivatives, this means gdal-bin.
  • proj (optional, for CRS support other than WGS84 UTM Zones). For Debian or derivatives, this means proj-bin.

Using cargo, the ridal CLI can be installed (after installing the requirements):

cargo install ridal

with nix, the flake can be used without worrying about the requirements above:

inputs = {
  ridal.url = "github:erikmannerfelt/ridal";
};

or in an ephemeral shell:

nix shell github:erikmannerfelt/ridal

Python

There's an early implementation of a Python package:

pip install ridal
>>> import ridal
# Print useful info as a dictionary
>>> ridal.info("path/to/file.rad")
'{...}'
# Process and save to a file
>>> ridal.process("path/to/file.rad", steps=["zero_corr", "auto_gain"], output="processed.nc")
# Process and load into memory
>>> ridal.process("path/to/file.rad", steps=["zero_corr"], return_dataset=True, return_dataset_format="xarray")
<xarray.Dataset> Size: ...
Dimensions:     (y: ..., x: ...)
Coordinates:
...
# Only load into memory with no processing
>>> ridal.read("path/to/file.rad", return_dataset_format="xarray")
<same as above>

See scripts/render_kroppbreen.py for an example of how it can be used.

Simple CLI usage

See the help page of ridal for info on how to interact with the CLI:

ridal -h

To toggle useful information on a file, the info subcommand shows the metadata and a summary of the location data:

ridal info DAT_001_A1.rd3

Processing a file using the default processing profile:

ridal process DAT_001_A1.rd3 --default

All processing steps are shown in the steps.md file. It can also be printed with ridal steps.

A processing step pipeline is defined using ridal process file.rad --steps "zero_corr,dewow,..." or using a file: --steps steps.txt:

subset(1 100) # Comments are supported!
zero_corr
dewow

correct_topography

The output will be a NetCDF file with the same name but an .nc suffix. By default, the output is saved in the same directory as the input. For more control, the output directory and/or filename can be controlled with -o or --output.

To process multiple files in "batch mode", provide a "glob" pattern as the filename. Optionally, for many sequential files, the --merge argument allows merging multiple files into one.

ridal batch-process data/*.rd3 --merge "10 min" --default -o output/

A rudimentary profile renderer is available with the -r argument. This will be saved in the same location as the output file as a JPG if another filename is not given.

Papers using Ridal

... and many others in preparation/review

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ridal-0.5.2-cp313-cp313-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.13Windows x86-64

ridal-0.5.2-cp313-cp313-manylinux_2_39_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

ridal-0.5.2-cp313-cp313-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ridal-0.5.2-cp312-cp312-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.12Windows x86-64

ridal-0.5.2-cp312-cp312-manylinux_2_39_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

ridal-0.5.2-cp312-cp312-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ridal-0.5.2-cp311-cp311-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.11Windows x86-64

ridal-0.5.2-cp311-cp311-manylinux_2_39_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

ridal-0.5.2-cp311-cp311-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ridal-0.5.2-cp310-cp310-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.10Windows x86-64

ridal-0.5.2-cp310-cp310-manylinux_2_39_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

ridal-0.5.2-cp310-cp310-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file ridal-0.5.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 5.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8d633e6b7ed7e87be914f70e7ad37951df3d6e52c05ca44192c39ee451e9bc39
MD5 ecdb4dabe00fa7fb9f573524cf43271f
BLAKE2b-256 ec766fbdaff95a313b06fd970e0d7ad01bb17c49da255effde454283da3f2b5c

See more details on using hashes here.

File details

Details for the file ridal-0.5.2-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp313-cp313-manylinux_2_39_x86_64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.13, manylinux: glibc 2.39+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 f5dc6a79a02a2566610855875bdc3d84b8d924a066be8a4fb837c85ed415a52f
MD5 2eb617aa7c7ef2cd3ee35ef452920b46
BLAKE2b-256 d481e154054014a4455aa235e8b119b21531840c7d1afe63a9710d3380ec7c02

See more details on using hashes here.

File details

Details for the file ridal-0.5.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e5f6a0b4190e0ad1bbfa6af7570838c870f5b10ce5e9c354e79f8136ce7b5204
MD5 34c0a3b827c60f076b7fa944bcd48743
BLAKE2b-256 6c472f6c50b76c236abd6665e16ba6d33e5c73c37b369fb0598cdcebd78db655

See more details on using hashes here.

File details

Details for the file ridal-0.5.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 5.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e135c7e9ef26133d94cfd9654adf705810314c9681063ea3071fb1020bdb8986
MD5 99f52806adc1d782ce1e7b59ae7a35d4
BLAKE2b-256 3a90f89e770e1f8fd72270016f67cd0f48bcd8464146267a9c1563608df97cd9

See more details on using hashes here.

File details

Details for the file ridal-0.5.2-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp312-cp312-manylinux_2_39_x86_64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.12, manylinux: glibc 2.39+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 9aa740f91bf76bcc3e3c17b039f2f079e03379db491937b5e427cc71265e601f
MD5 ca6b59b58b5e599f4cc9f3d2c03b4b67
BLAKE2b-256 71e0807e3b9adcb1822dad49c8bcfc7531588e9ab6ee18796ddc3d64b68d0cfa

See more details on using hashes here.

File details

Details for the file ridal-0.5.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 29d03578470bf19b8933536b3c5b8280bc6bba82c720492f91b104b8bddbdd92
MD5 227b390d0da45b5fd3fe5cc10caa6283
BLAKE2b-256 d74ee6b738a72832966ad14975a74eb3f890d75d9f84a56449438899b5ec5851

See more details on using hashes here.

File details

Details for the file ridal-0.5.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 5.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 64a122173f560dd889fa92a5d751b82627ec16dd2ba7e3ac553c2ea64a98e55c
MD5 a25279688a5c9c3c5b78cd1949552f4d
BLAKE2b-256 20186153bc5a7ed2af9550ac1276e1a06b8073b1822120debb66ba5061524bfd

See more details on using hashes here.

File details

Details for the file ridal-0.5.2-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp311-cp311-manylinux_2_39_x86_64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.11, manylinux: glibc 2.39+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 18d251b81863a5cc3b7ab8251d0ec8765e074a6c948518578d1b8c1dbd1e7d40
MD5 5a3f76a3504dc96792ed9c360b457c7d
BLAKE2b-256 981d169020414049f8f6d630533aedac3957703edef4d31797b7cbb068594c6d

See more details on using hashes here.

File details

Details for the file ridal-0.5.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a74041e38cd6866a6076401d536b7c42082772a2b81bc48043dd93e3032b9f03
MD5 b21e705a520b9f1995d739255ae8c221
BLAKE2b-256 b81041876b372d816b3a91eac88de5aa7376de9d30233b991e245dca62c8de89

See more details on using hashes here.

File details

Details for the file ridal-0.5.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 5.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7f5e6f15fd86a7658e0fa7345469d49ee60603f2c9ba5d00a220c3113201fbf0
MD5 9ad95ba050faeeaf5e627e82b47b2a96
BLAKE2b-256 006e24bb7a142be6f52101b308662c92092b2d6de1393cbc11808127f22f83ac

See more details on using hashes here.

File details

Details for the file ridal-0.5.2-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp310-cp310-manylinux_2_39_x86_64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.10, manylinux: glibc 2.39+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 6f9ad370cb705eb9351aaaf92e6e68eb5168ae8689fd02cbff8d2ffa3b46d5c9
MD5 fa78e3ae1573d058bc60edba5b7f58a9
BLAKE2b-256 27893454c4884992ff0967e0c580dd31c9180a99cb55ac92b8310260fe6d8309

See more details on using hashes here.

File details

Details for the file ridal-0.5.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ridal-0.5.2-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ridal-0.5.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 46b0abd9c8bdb201d9e942f28692de4ac8095cf97b8053ac20f73567f3111b92
MD5 91414e2d8d5100299858303954ed8c9b
BLAKE2b-256 0e4df98e8dd60357eacb2ee24aaca0456136cbd90ebe96232e8de1c533d1452b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page