Skip to main content

Speeding up Ground Penetrating Radar (GPR) processing

Project description

PyPI Crates.io CI

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 translation between formats, such as ridal translate 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!

Prior to Feb. 2026, this program was called rsgpr.

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

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 a very early implementation of a Python package, which will be expanded in the future:

pip install ridal

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 -i or --info argument shows the metadata and a summary of the location data:

ridal -f DAT_001_A1.rd3 -i

Processing a file using the default processing profile:

ridal -f DAT_001_A1.rd3 --default

All processing steps are shown in the steps.md file.

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 -f "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 Distribution

ridal-0.4.6.post2.tar.gz (569.9 kB view details)

Uploaded Source

Built Distributions

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

ridal-0.4.6.post2-cp313-cp313-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.13Windows x86-64

ridal-0.4.6.post2-cp313-cp313-manylinux_2_39_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

ridal-0.4.6.post2-cp312-cp312-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.12Windows x86-64

ridal-0.4.6.post2-cp312-cp312-manylinux_2_39_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

ridal-0.4.6.post2-cp311-cp311-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.11Windows x86-64

ridal-0.4.6.post2-cp311-cp311-manylinux_2_39_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

ridal-0.4.6.post2-cp310-cp310-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.10Windows x86-64

ridal-0.4.6.post2-cp310-cp310-manylinux_2_39_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

File details

Details for the file ridal-0.4.6.post2.tar.gz.

File metadata

  • Download URL: ridal-0.4.6.post2.tar.gz
  • Upload date:
  • Size: 569.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.12.6

File hashes

Hashes for ridal-0.4.6.post2.tar.gz
Algorithm Hash digest
SHA256 cb5ecd49dca337b0db777f4fb4adf5670af0ab4c4afd97f7a603f83d53cc6b2a
MD5 9e15cd46c79a9b994f97a3e420f3a8bd
BLAKE2b-256 5d6d43d0a76ccfe09f45e104dabe2aafefc4026dc22edc62736a9f4d51b178aa

See more details on using hashes here.

File details

Details for the file ridal-0.4.6.post2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ridal-0.4.6.post2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b99f650cf75e36a7ee4ef6061e497cbea7778e27ec187e38a8f5eb070f7a53b7
MD5 fe0fa500285ca6db89255abc72d3d5bc
BLAKE2b-256 d539e991869544e3ece7d20c269ae40d23b8dd5d3a81f557afcdc9b8159d0c69

See more details on using hashes here.

File details

Details for the file ridal-0.4.6.post2-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for ridal-0.4.6.post2-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 37a9001ac89477d057eedcb8dfdf3037679b12936acff38632deefb753c4fbcd
MD5 9f49ffd447b21b51755ebe989ba7871d
BLAKE2b-256 e5ceb54df97c2845c77c12b6c8d1db6cad6be8a6221714a746e22c6274deeb62

See more details on using hashes here.

File details

Details for the file ridal-0.4.6.post2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ridal-0.4.6.post2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3604bd7d90405a2f443e96cb0a8f95299bb973b5f5c3c651779465ed97d5fae7
MD5 4800bbedb97d819476257917ec79da39
BLAKE2b-256 9a0bfbb70ad1034f8022e126ac71c3cc3e595f58d917b96119581185c0a1be31

See more details on using hashes here.

File details

Details for the file ridal-0.4.6.post2-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for ridal-0.4.6.post2-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 fbfd5a36b2e0fe5994fbe8093e43711adb9fd72d5ed1cda7efc9fc5a51355e26
MD5 623e5cc83057e2b2740cd31cf5d9a972
BLAKE2b-256 7ccf4f9737dedc489ec8020c1efee5a4f35e239b1507bdc664f5de93328c7fc9

See more details on using hashes here.

File details

Details for the file ridal-0.4.6.post2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ridal-0.4.6.post2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 caded1380570b4dbb51c93caa8bc85fddbe93b8247be1e021c209486c029f47d
MD5 b24e15cee8b8317f48cbd38d2ad8a5e9
BLAKE2b-256 29e0d3a83e33e0d6f8ec998154830b14ec753a094b51e2277703e870bbfc5b58

See more details on using hashes here.

File details

Details for the file ridal-0.4.6.post2-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for ridal-0.4.6.post2-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 c7ec3419b6d7ffa668aa6bdf4e608d69eccf3fd5ce5ba577d15d2b03b097ef11
MD5 0a6f78f18c2e90307b143087525c00a4
BLAKE2b-256 224f4d873fda02f8af5b18bbed460bed1bbcc80d2d263c0cdfbf586b86406dac

See more details on using hashes here.

File details

Details for the file ridal-0.4.6.post2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ridal-0.4.6.post2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e47c4761075a6bb4f80644842f3fadce85758996e08a8c5e4166d7dcf540de42
MD5 221d7b4b1b859bcae9e765cd5063de6f
BLAKE2b-256 03a49786f234513debe6bd4701304edccd751b5f96eb6c2f772ba543de17eeac

See more details on using hashes here.

File details

Details for the file ridal-0.4.6.post2-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for ridal-0.4.6.post2-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 d43558a8effdaaeb50030c94205b5168352ac33de24859635b2823da426001bc
MD5 c154828e4f301d64d60741f80cd5eab4
BLAKE2b-256 e4160b157262a748c1d80f96c5f911008efdc1a85aa085dd1a2fcc14cafc3051

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