Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dirust

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.

Sibling checkouts

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.

Crates

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

Build / install

Requires Rust 1.85+ and the sibling exg + rlx checkouts.

cargo build -p dirust-cli --release
./target/release/dirust --version
./target/release/dirust --help

On 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

Test / parity

./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_inventory

License

BSD-3-Clause, same as DIPY (LICENSE).

About

Diffusion MRI in Rust — reconstruction, tractography, registration, and CLI parity with DIPY

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages