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) 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.1-cp313-cp313-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.13Windows x86-64

ridal-0.5.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

ridal-0.5.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

ridal-0.5.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

ridal-0.5.1-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.1-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.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1b862fac65c82dd6687524ff58a5e18448e22eb39bfaf29e9d2a161f3109eda6
MD5 643aefb0329fc429b977f53d9888b034
BLAKE2b-256 47e2c6a01019f449c03d56699250cfbffe8a1f18109e0ae205cd15f48f06e059

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 a8dd42ccc08c9fdb1a9f72fb2fccbcd298db70792c0b611d38e1116ce29bc248
MD5 0e93a69226ae8c8d5ed958ee7a91374b
BLAKE2b-256 de792d15b6fea68fc6e8f311fc0fc9fde807372ecf89e4e7d2f94280a487af1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8cb48278d2d5a5d9d8b3da6d39d577088470503f71a93b6c17c91e650b8f7454
MD5 d802043220ae7eca8814e6d6c3394869
BLAKE2b-256 4456c4aebca09b0e68267f765de38e65d3947baf08f55f0d24d01c3d85c1f26d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2ccb89aab493b0daec3dcdf81f4f0db731bc97eb21c11670bd09662c4ae85833
MD5 d2c4705057bfb26448bd6eb4a5a07243
BLAKE2b-256 6444a1ef1e1654f3fbfa80a19c4511e1e2c9424b5d4f9775771f203f8880a2d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 e658c525341517765b1ab09ab5833e08d749d489bdb5885f395b20954561aed7
MD5 6f59ad6c535d590ada9fc95de4da284b
BLAKE2b-256 3672589831c651d0813cc0ba19f48c1b0da97f3b7d66ac5d6797035ba1a6f5a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c1ec400061638c7a781dd42d9960a3dfcd4a369ec95664dfeacefd9efa5561db
MD5 a33eb85bf61764da6abbb87e64d0246e
BLAKE2b-256 69fd7d300905396e5141d88e6d83a1499aac1e7e1c55b9aae6a19b531029acb1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4cd8e0cf374fa182edf0e93798f98f820b7f4e650a1703a70dacf67a67da0514
MD5 a8d84b36b15bd91f64b36150f59640b3
BLAKE2b-256 2a37e0a020e45fde353348565039709fead9de0e921bb4a74a0b5eb098e829a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 b437c4728246eb48e1e4e49c522ce347d76a63eefae562314e3f867805f86554
MD5 4d6d29042b754a9cb53e70655f5c322f
BLAKE2b-256 1bd7806a2500946bc9948116cb6a51c80e1d739d306b20b09d71505efbc3541b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8c4db83f030bf6c4d41d64bd24fbad4e6ebf891fe9a8d0da38ea4e1b3a534d5
MD5 0157eb9b1ad73358883f1f1ddbbf19b2
BLAKE2b-256 814385b1c0b062c5c4b324e1b3c3900d8ea051a293c93fed2fc7b5e5913f8198

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f4d7868e4fb82e805a0904ae88cb371000c55a7b9d7e680eaad88ba838d240b8
MD5 6c3c18dd05f027f035ad0ee9cea20666
BLAKE2b-256 09a64863956e0141477cdb20910cfb5bc4bd2f081188634fc4b3da43d64b757d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 f3d0683602855715d222190cd08aa3525f8e16e7ad19412e444575a1be90280e
MD5 c855c2c6cea9060b85170bf91796a335
BLAKE2b-256 fe60dd9d51d46ea3c65444e88c1ffb5c73fb4fe134f6026b8edb4a9ede1fb8ef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ridal-0.5.1-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.6 {"installer":{"name":"uv","version":"0.11.6","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.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c49cb0d553d17daae1b0cbc883ba4bdabadd6d27ecee244468a483f067433ea
MD5 0608b6a365f48a4bd81a1b2e3212cbb6
BLAKE2b-256 d9057680a09b358e45374bcbaba3ea65d4d6d4c1734ecb03516ddedebc9c75d4

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