Skip to main content

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

Metadata

Release files for region-dealias 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for region-dealias 0.1.0
File Actions
region_dealias-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for region_dealias-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
region_dealias-0.1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for region_dealias-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
region_dealias-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for region_dealias-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
region_dealias-0.1.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for region_dealias-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
region_dealias-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for region_dealias-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
region_dealias-0.1.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for region_dealias-0.1.0-cp310-cp310-macosx_11_0_arm64.whl

Total release size: 1.5 MB

Release files / region_dealias-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL region_dealias-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 253.9 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3b873d357cad9e775888a4713a19a6667cde794e3ca794343207c9e118c7ba0a
BLAKE2b-256 checksum
How to use checksums
1b1189c2eaf164bc19bfdf8bac426cf89fe15fcc26f66d52b91f64e6290d3fe3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release files / region_dealias-0.1.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL region_dealias-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 231.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
096d577582cfa4920f6de2578a1d02839fc5c4dbd21564605aa36c6cc1ffe156
BLAKE2b-256 checksum
How to use checksums
a38b40da6fdfda728348baeef83fcbd0a99cdc89e2fd38a9f71e001ee5462fc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release files / region_dealias-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL region_dealias-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 253.4 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a5d75d295599f40a15ec52ef7a44ce4b6d8127df65a39c17eedb9e7fef6958ea
BLAKE2b-256 checksum
How to use checksums
cafc61df48cd39b0ad9eb9eb306fbdef5093bf6c5f07d960a468acde5cdbf1ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release files / region_dealias-0.1.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL region_dealias-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Size 231.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
67b50eab93c345fb749f357a558fe069dff7bad4e50a3d66d0ee8ccfc68b56ad
BLAKE2b-256 checksum
How to use checksums
74220681b8cf404902480f5fbecb3b545f2472567ba689e0cf97f0a7138d82a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release files / region_dealias-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL region_dealias-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 253.5 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
740afa412e31979962bc85d7125983764dc1e6dbb91adbd22cc1186c71350e51
BLAKE2b-256 checksum
How to use checksums
bcecf4dca720e2142d9039cb559fb6d27d721d226c4aac3ec54fa87b5b0cce1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release files / region_dealias-0.1.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL region_dealias-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Size 231.8 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0ce72aaa8771840c93bfcb0c6a02a1597a49b74ea8bdad70d6e71460372e459c
BLAKE2b-256 checksum
How to use checksums
32857867d0cd6a75d0310ef96156d041857aa12531a30955fff1c7153bd96f67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Security for region-dealias 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for region_dealias-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

6 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page