Rust workspace targeting full numerical and CLI parity with DIPY
1.13.x (../dipy). Measured coverage lives in PARITY.md /
PARITY.json.
Diffusion MRI reconstruction, tractography, registration, denoising, segmentation, simulation, tractometry, visualization (wgpu Horizon), and DIPY neural-network models (rlx backend).
Current release: 0.0.1 — see CHANGELOG.md and RELEASING.md.
This workspace does not reimplement file formats or a tensor compiler. The three trees must share a parent directory:
../dipy # Python reference (parity goldens)
../exg # NIfTI / MGH / DICOM / surfaces / fetch
../rlx # ML compiler + runtime (NN + Accelerate/wgpu backends)
| Need | Source |
|---|---|
| Volumes, NIfTI, MGH, DICOM, surfaces | exg-* |
Dense linear algebra (lstsq, pinv, eigh, dgemm) |
rlx-linalg → Apple Accelerate / OpenBLAS |
| NN models (HistoResDNN, DeepN4, EVAC+, …) | rlx-runtime (Metal + wgpu on Apple) |
DIPY/nibabel arrays are (x, y, z[, n]) with a RAS affine. exg-volume
stores [nz, ny, nx] with an LPS affine. dirust-io converts at the boundary.
| Crate | DIPY module |
|---|---|
dirust-core |
dirust.core |
dirust-io |
dirust.io |
dirust-data |
dirust.data |
dirust-reconst |
dirust.reconst |
dirust-tracking |
dirust.tracking |
dirust-direction |
dirust.direction |
dirust-denoise |
dirust.denoise |
dirust-align |
dirust.align |
dirust-segment |
dirust.segment |
dirust-sims |
dirust.sims |
dirust-stats |
dirust.stats |
dirust-nn |
dirust.nn (rlx, not torch/tf) |
dirust-viz |
dirust.viz (wgpu Horizon + Three.js fallback) |
dirust-workflows / dirust-cli |
every dirust_* workflow |
dirust |
umbrella re-export |
dirust-parity |
goldens, suite ports, bench_accel |
Requires Rust 1.85+ and the sibling exg + rlx checkouts.
cargo build -p dirust-cli --release
./target/release/dirust --version
./target/release/dirust --helpOn Apple Silicon, Accelerate BLAS, Metal, and wgpu are enabled by default for
dirust-nn / dirust-viz. Override Horizon with DIRUST_HORIZON=html for the
browser viewer.
# Optional feature sets
cargo build -p dirust-cli --release --features apple
cargo run -p dirust-parity --release --bin bench_accel./scripts/release_check.sh
# or manually:
python3 crates/dirust-parity/scripts/audit_parity.py
cargo test -p dirust-core -p dirust-viz -p dirust-tracking --release
cargo test -p dirust-parity --release --test dirust_suite_inventoryBSD-3-Clause, same as DIPY (LICENSE).