Expand description
§brainharmony-rs — Brain-Harmony multimodal brain foundation model inference in Rust
Pure-Rust inference for the Brain-Harmony multimodal brain foundation model, built on Burn 0.20.
Brain-Harmony unifies morphology (T1 MRI) and function (fMRI) into 1D tokens using a Vision Transformer with:
- Brain gradient + geometric harmonics positioning for spatial embeddings
- Flexible patch embedding via Conv2d with dynamic patch size
- JEPA architecture (encoder + predictor with momentum target)
§Three entry points
| Type | Loads | Use case |
|---|---|---|
BrainHarmonyEncoder | encoder only | produce latent embeddings |
ClassificationHead | classification layer | downstream classification |
MLPHead | 3-layer MLP head | stage 2 finetuning |
§Quick start — encode brain signal
ⓘ
use brainharmony::{BrainHarmonyEncoder, ModelConfig, DataConfig};
let (enc, ms) = BrainHarmonyEncoder::<B>::from_weights(
"model.safetensors",
"gradient_mapping_400.csv",
"schaefer400_roi_eigenmodes.csv",
&ModelConfig::default(),
&DataConfig::default(),
&device,
)?;
let result = enc.encode_safetensors("data/signal.safetensors")?;
result.save_safetensors("embeddings.safetensors")?;§Backends
| Feature | Backend | Notes |
|---|---|---|
ndarray (default) | CPU (NdArray + Rayon) | Add blas-accelerate on macOS |
wgpu | GPU (Metal / Vulkan) | --no-default-features --features wgpu |
wgpu-f16 | GPU (half precision) | --no-default-features --features wgpu-f16 |
Re-exports§
pub use config::DataConfig;pub use config::ModelConfig;pub use config::YamlConfig;pub use inference::BrainHarmonyEncoder;pub use inference::EmbeddingResult;pub use predictor_api::BrainHarmonyPredictor;pub use classification::ClassificationHead;pub use classification::MLPHead;pub use classification::predict_classes;pub use data::GradientData;pub use data::GeohData;pub use data::SignalInput;pub use masks::MaskConfig;pub use masks::full_context_mask;pub use masks::jepa_masks;pub use error::BrainHarmonyError;pub use error::Result;pub use model::encoder::apply_masks;pub use weights::WeightFilter;pub use weights::WeightMap;pub use csv_export::save_embeddings_csv;pub use hf_download::resolve as resolve_weights;pub use hf_download::ResolvedWeights;pub use hf_download::DEFAULT_REPO;
Modules§
- classification
- config
- csv_
export - CSV export utilities for Brain-Harmony embeddings.
- data
- error
- hf_
download - inference
- masks
- model
- predictor_
api - prelude
- weights
Functions§
- init_
threads - Configure the global Rayon thread pool.