Views
No views yet
| Property | Value |
|---|---|
| Architecture | MONAI ViT-B/16³ (3D) |
| Parameters | 88.4M |
| Input | 96×96×96 single-channel brain MRI |
| Patches | 216 (6×6×6 grid, 16³ voxel patches) |
| Hidden dim | 768 |
| Layers | 12 transformer blocks |
| Heads | 12 attention heads |
| MLP dim | 3072 |
| Pretraining | SimCLR contrastive learning |
| Output | 768-dim feature vector (first patch token) |
backbone.safetensors — Pretrained ViT backbone weightsconfig.json — Model configurationLICENSE — Non-commercial academic research license1cargo run --release --bin infer -- \
2 --weights backbone.safetensors \
3 --input brain_t1.nii.gz1use brainiac::{BrainiacEncoder, TaskType};
2
3let (encoder, _) = BrainiacEncoder::<B>::load(
4 "backbone.safetensors", None,
5 TaskType::FeatureExtraction, 1, device,
6)?;
7let features = encoder.encode_nifti(Path::new("brain.nii.gz"))?;
8// features: Vec<f32> with 768 dimensions1import torch
2from monai.networks.nets import ViT
3from safetensors.torch import load_file
4
5model = ViT(in_channels=1, img_size=(96,96,96), patch_size=(16,16,16),
6 hidden_size=768, mlp_dim=3072, num_layers=12, num_heads=12)
7
8weights = load_file("backbone.safetensors")
9model.load_state_dict(weights, strict=False)
10model.eval()
11
12# features[0][:, 0] gives the 768-dim feature vector
13features = model(preprocessed_mri)1@article{tak2026generalizable,
2 title={A generalizable foundation model for analysis of human brain MRI},
3 author={Tak, Divyanshu and Gormosa, B.A. and Zapaishchykova, A. and others},
4 journal={Nature Neuroscience},
5 year={2026},
6 publisher={Springer Nature},
7 doi={10.1038/s41593-026-02202-6}
8}