Official code release for the EMBC 2026 paper:
Mavin: A 3D MambaVision Network for Brain Tumor Segmentation in MRI Images
Mavin is a 3D encoder-decoder segmentation model for multi-modal brain MRI. The network combines convolutional feature extraction, Mamba-style sequence modeling, and transformer blocks to capture both local detail and long-range context in volumetric data.
- 3D brain tumor segmentation for BraTS-style multi-modal MRI
- Hybrid convolution + Mamba + transformer backbone
- MONAI-based training and evaluation pipeline
- Demo case and qualitative visualization included in the repository

Figure 1: Overall architecture of Mavin.

Figure 2: MambaVision module used in the encoder.
mavin/
|-- README.md
|-- .gitignore
|-- environment.yml
|-- requirements.txt
|-- configs/
| |-- README.md
| |-- train.yaml
| |-- model.yaml
| `-- inference.yaml
|-- scripts/
| |-- train.py
| |-- test.py
| `-- utils/
|-- src/
| `-- model/
|-- data/
| |-- README.md
| `-- datalist.example.json
|-- checkpoints/
| `-- README.md
|-- outputs/
| `-- README.md
`-- assets/
`-- imgs/
Create the environment using Conda:
conda env create -f environment.yml
conda activate mavinAfter activating the environment, install mamba-ssm with:
pip3 install mamba-ssm --no-build-isolationThis repository is set up for BraTS-style data organization. The dataset itself is not redistributed here.
- Download the BraTS dataset from the official challenge portal.
- Place the extracted cases under
data/. - Create a datalist JSON describing the train/validation/test split.
An example split file is provided at data/datalist.example.json.
See data/README.md for the expected structure.
The public release now includes a config-driven training entry point:
python3 scripts/train.py --train-config configs/train.yaml --model-config configs/model.yamlUseful overrides:
python3 scripts/train.py \
--train-config configs/train.yaml \
--model-config configs/model.yaml \
--fold 0 \
--epochs 300 \
--val-every 10Before training, update these values in configs/train.yaml:
data.root_dirdata.json_listdata.foldlogging.log_dircheckpoint.save_dir
Run evaluation on the test split with:
python3 scripts/test.py \
--train-config configs/train.yaml \
--model-config configs/model.yaml \
--checkpoint path/to/model_best_fold_0.pthThe test loader expects a testing section in the datalist JSON. An example is included in data/datalist.example.json.
- configs/train.yaml: training, dataset, logging, and checkpoint settings
- configs/model.yaml: model hyperparameters
- configs/inference.yaml: reserved for standalone inference settings
Additional notes are in configs/README.md.
- A qualitative example prediction is shown in outputs/README.md
Dice Score on the test set:
| Model | Enhancing Tumor (ET) | Whole Tumor (WT) | Tumor Core (TC) | Average |
|---|---|---|---|---|
| Mavin | 0.893 | 0.930 | 0.907 | 0.910 |
| Swin UNETR | 0.887 | 0.930 | 0.903 | 0.907 |
Hausdorff Distance values on the test set:
| Model | Enhancing Tumor (ET) | Whole Tumor (WT) | Tumor Core (TC) |
|---|---|---|---|
| Mavin | 3.251 | 4.523 | 5.142 |
| Swin UNETR | 3.660 | 4.655 | 5.305 |
If you use this repository or find the work helpful, please cite the paper:
@inproceedings{jani2026mavin,
title={Mavin: A 3D MambaVision Network for Brain Tumor Segmentation in MRI Images},
author={Jani, Harman and Raval, Mehul S. and Joshipura, Kaumudi and Bhalodiya, Jayendra M.},
booktitle={International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC)},
year={2026}
}