Skip to content

Repository files navigation

Mavin

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.

Highlights

  • 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

Method


Figure 1: Overall architecture of Mavin.


Figure 2: MambaVision module used in the encoder.

Repository Layout

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/

Environment Setup

Create the environment using Conda:

conda env create -f environment.yml
conda activate mavin

After activating the environment, install mamba-ssm with:

pip3 install mamba-ssm --no-build-isolation

Dataset Preparation

This repository is set up for BraTS-style data organization. The dataset itself is not redistributed here.

  1. Download the BraTS dataset from the official challenge portal.
  2. Place the extracted cases under data/.
  3. 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.

Training

The public release now includes a config-driven training entry point:

python3 scripts/train.py --train-config configs/train.yaml --model-config configs/model.yaml

Useful overrides:

python3 scripts/train.py \
  --train-config configs/train.yaml \
  --model-config configs/model.yaml \
  --fold 0 \
  --epochs 300 \
  --val-every 10

Before training, update these values in configs/train.yaml:

  • data.root_dir
  • data.json_list
  • data.fold
  • logging.log_dir
  • checkpoint.save_dir

Evaluation

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.pth

The test loader expects a testing section in the datalist JSON. An example is included in data/datalist.example.json.

Config Files

Additional notes are in configs/README.md.

Assets

Results

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

Citation

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}
}

About

Official GitHub repository for "Mavin: A 3D MambaVision Network for Brain Tumor Segmentation in MRI Images", accepted at 48th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, July 2026, Toronto.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages