Fast region-based Doppler velocity dealiasing (Rust port of Py-ART's dealias_region_based core).
Project description
region-dealias
Fast region-based Doppler velocity dealiasing — a Rust port of the core
(non-reference-anchored) path of Py-ART's
dealias_region_based, with Python bindings.
The goal is bit-identical output to pyart on the path the
NEXRAD Level 2 browser
uses (dealias_region_based(radar, vel_field="velocity", keep_original=False),
i.e. no ref_vel_field), but much faster — the slow part in pyart is the pure
Python _EdgeTracker network reduction, which is what Rust accelerates.
Install
pip install region-dealias # prebuilt manylinux / macOS wheels
Use
Drop-in replacement for pyart on a Radar object:
from region_dealias import dealias_region_based
corr = dealias_region_based(radar, vel_field="velocity", keep_original=False)
radar.add_field("corrected_velocity", corr)
Low-level, one sweep at a time (array in / fold-count out):
import numpy as np
from region_dealias import sweep_folds
folds = sweep_folds(vel, mask, nyquist=25.0, rays_wrap_around=True)
dealiased = vel + folds * (2 * 25.0)
vel is (nrays, ngates) float32, mask is a bool array (True = excluded:
masked or non-finite). folds is the integer number of Nyquist intervals to
add at each gate.
Scope
Implemented: the per-sweep region-network algorithm
(interval_splits, skip_between_rays, skip_along_ray, centered,
rays_wrap_around, per-sweep nyquist_vel).
Not implemented (the high-level wrapper raises NotImplementedError so
callers can fall back to pyart): ref_vel_field (sounding-anchored) unfolding,
custom gatefilter, and explicit interval_limits.
Parity
tests/test_parity.py checks the Rust folds against a verbatim transcription of
pyart's algorithm (tests/pyart_ref.py) on hundreds of randomized synthetic
aliased sweeps plus edge cases, asserting exact integer equality. CI also checks
against the installed arm_pyart package. The certified pyart version is
recorded in CI; re-verify on pyart upgrades.
Identity relies on faithfully reproducing: scipy.ndimage.label numbering
(4-connectivity, first-encounter raster order), the Cython edge-finder
traversal order, the float32/float64 dtype chain, NumPy banker's rounding
(round_ties_even), and argmax-first-tie selection.
Layout
crates/core # pure-Rust algorithm
crates/py # PyO3 bindings (maturin)
python/ # region_dealias package (low-level + radar-compat wrapper)
tests/ # parity harness
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file region_dealias-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: region_dealias-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 253.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b873d357cad9e775888a4713a19a6667cde794e3ca794343207c9e118c7ba0a
|
|
| MD5 |
b4585819df50b477275bd5b1a0ddfe77
|
|
| BLAKE2b-256 |
1b1189c2eaf164bc19bfdf8bac426cf89fe15fcc26f66d52b91f64e6290d3fe3
|
Provenance
The following attestation bundles were made for region_dealias-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on swnesbitt/region-dealias
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
region_dealias-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
3b873d357cad9e775888a4713a19a6667cde794e3ca794343207c9e118c7ba0a - Sigstore transparency entry: 1853543237
- Sigstore integration time:
-
Permalink:
swnesbitt/region-dealias@0804753256ad00dc455b68b5c793cc3867320401 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/swnesbitt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0804753256ad00dc455b68b5c793cc3867320401 -
Trigger Event:
push
-
Statement type:
File details
Details for the file region_dealias-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: region_dealias-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 231.8 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
096d577582cfa4920f6de2578a1d02839fc5c4dbd21564605aa36c6cc1ffe156
|
|
| MD5 |
636c3a79d7bb600f478461feac9f1df2
|
|
| BLAKE2b-256 |
a38b40da6fdfda728348baeef83fcbd0a99cdc89e2fd38a9f71e001ee5462fc3
|
Provenance
The following attestation bundles were made for region_dealias-0.1.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on swnesbitt/region-dealias
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
region_dealias-0.1.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
096d577582cfa4920f6de2578a1d02839fc5c4dbd21564605aa36c6cc1ffe156 - Sigstore transparency entry: 1853543083
- Sigstore integration time:
-
Permalink:
swnesbitt/region-dealias@0804753256ad00dc455b68b5c793cc3867320401 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/swnesbitt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0804753256ad00dc455b68b5c793cc3867320401 -
Trigger Event:
push
-
Statement type:
File details
Details for the file region_dealias-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: region_dealias-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 253.4 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5d75d295599f40a15ec52ef7a44ce4b6d8127df65a39c17eedb9e7fef6958ea
|
|
| MD5 |
703debf1f05f7b0712d224e8096671f3
|
|
| BLAKE2b-256 |
cafc61df48cd39b0ad9eb9eb306fbdef5093bf6c5f07d960a468acde5cdbf1ce
|
Provenance
The following attestation bundles were made for region_dealias-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on swnesbitt/region-dealias
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
region_dealias-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
a5d75d295599f40a15ec52ef7a44ce4b6d8127df65a39c17eedb9e7fef6958ea - Sigstore transparency entry: 1853543274
- Sigstore integration time:
-
Permalink:
swnesbitt/region-dealias@0804753256ad00dc455b68b5c793cc3867320401 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/swnesbitt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0804753256ad00dc455b68b5c793cc3867320401 -
Trigger Event:
push
-
Statement type:
File details
Details for the file region_dealias-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: region_dealias-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 231.6 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67b50eab93c345fb749f357a558fe069dff7bad4e50a3d66d0ee8ccfc68b56ad
|
|
| MD5 |
972d85c9e0de516e58189fcd6b8d80a2
|
|
| BLAKE2b-256 |
74220681b8cf404902480f5fbecb3b545f2472567ba689e0cf97f0a7138d82a8
|
Provenance
The following attestation bundles were made for region_dealias-0.1.0-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on swnesbitt/region-dealias
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
region_dealias-0.1.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
67b50eab93c345fb749f357a558fe069dff7bad4e50a3d66d0ee8ccfc68b56ad - Sigstore transparency entry: 1853543111
- Sigstore integration time:
-
Permalink:
swnesbitt/region-dealias@0804753256ad00dc455b68b5c793cc3867320401 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/swnesbitt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0804753256ad00dc455b68b5c793cc3867320401 -
Trigger Event:
push
-
Statement type:
File details
Details for the file region_dealias-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: region_dealias-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 253.5 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
740afa412e31979962bc85d7125983764dc1e6dbb91adbd22cc1186c71350e51
|
|
| MD5 |
67947c23c6625b3b28c4adff7c4f2d4e
|
|
| BLAKE2b-256 |
bcecf4dca720e2142d9039cb559fb6d27d721d226c4aac3ec54fa87b5b0cce1b
|
Provenance
The following attestation bundles were made for region_dealias-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheels.yml on swnesbitt/region-dealias
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
region_dealias-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
740afa412e31979962bc85d7125983764dc1e6dbb91adbd22cc1186c71350e51 - Sigstore transparency entry: 1853543160
- Sigstore integration time:
-
Permalink:
swnesbitt/region-dealias@0804753256ad00dc455b68b5c793cc3867320401 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/swnesbitt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0804753256ad00dc455b68b5c793cc3867320401 -
Trigger Event:
push
-
Statement type:
File details
Details for the file region_dealias-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: region_dealias-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 231.8 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ce72aaa8771840c93bfcb0c6a02a1597a49b74ea8bdad70d6e71460372e459c
|
|
| MD5 |
8bfe60647bd6984f761a9d7f366c01ab
|
|
| BLAKE2b-256 |
32857867d0cd6a75d0310ef96156d041857aa12531a30955fff1c7153bd96f67
|
Provenance
The following attestation bundles were made for region_dealias-0.1.0-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on swnesbitt/region-dealias
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
region_dealias-0.1.0-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
0ce72aaa8771840c93bfcb0c6a02a1597a49b74ea8bdad70d6e71460372e459c - Sigstore transparency entry: 1853543200
- Sigstore integration time:
-
Permalink:
swnesbitt/region-dealias@0804753256ad00dc455b68b5c793cc3867320401 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/swnesbitt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@0804753256ad00dc455b68b5c793cc3867320401 -
Trigger Event:
push
-
Statement type: