MeisenMeister is a framework for breast cancer classification on DCE-MRI. It is designed to help develop reproducible multi-stage pipelines, from dataset fingerprinting and experiment planning to ROI preprocessing, fold-safe training, benchmarking, and ROI-level inference.
🏆 Winning solution of the MICCAI 2025 ODELIA Breast MRI Challenge on Grand Challenge: https://odelia2025.grand-challenge.org/
conda create -n meisenmeister python=3.12 -y
conda activate meisenmeister
pip install -e .MeisenMeister resolves datasets and outputs via three required storage roots:
MM_RAWMM_PREPROCESSEDMM_RESULTS
The code also accepts lowercase variants (mm_raw, mm_preprocessed, mm_results).
export MM_RAW=/path/to/mm_raw
export MM_PREPROCESSED=/path/to/mm_preprocessed
export MM_RESULTS=/path/to/mm_results- Raw data is discovered under
MM_RAW(Dataset_<id>_*naming). - Fingerprinting and planning define preprocessing geometry and output format.
- Preprocessing writes ROI tensors and metadata to
MM_PREPROCESSED. - Split generation writes leakage-safe five-fold splits.
- Training and benchmarking write experiment artifacts to
MM_RESULTS. - Inference runs either from local dataset context or from a portable model folder.
# 1) Optional: create breast masks if masksTr is missing
mm_create_breast_segmentations -d 1
# 2) Fingerprint + plan + preprocess
mm_extract_dataset_fingerprint -d 1 --num-workers 8
mm_plan_and_preprocess -d 1 --num-workers 8
# 3) Build 5-fold split file
mm_create_5fold -d 1
# 4) Train fold 0
mm_train -d 1 -f 0
# 5) Predict with fold ensemble
mm_predict -d 1 -i /path/to/images -o /path/to/preds -f 0 1 2 3 4| Command | Purpose |
|---|---|
mm_extract_dataset_fingerprint |
Compute dataset fingerprint statistics used by planning. |
mm_create_breast_segmentations |
Create breast segmentations in masksTr. |
mm_homogenize |
Resample channels into _0000 space and overwrite raw NIfTI files. |
mm_plan_experment |
Build mmPlans.json from fingerprint data. |
mm_preprocess |
Generate preprocessed ROI data from mmPlans.json. |
mm_plan_and_preprocess |
Run planning and preprocessing in one step. |
mm_create_5fold |
Create case-aware leakage-safe splits.json. |
mm_train |
Run fold-based training with registered trainer classes. |
mm_benchmark_train |
Benchmark train/validation throughput with warmup controls. |
mm_predict |
Run ROI-level inference using local dataset + results roots. |
mm_predict_from_modelfolder |
Run inference from a portable experiment folder. |
MM_RAW: source datasets (Dataset_001_*,imagesTr,masksTr,dataset.json)MM_PREPROCESSED:dataset_fingerprint.json,mmPlans.json,splits.json, ROI outputsMM_RESULTS: experiment folders, checkpoints, logs, plots, evaluation outputs
The repository source code is licensed under the Apache License 2.0 (see LICENSE).
Model weights are licensed under CC BY-NC-SA 4.0 due to downstream dataset licensing constraints from the data used for training.
If you use MeisenMeister in research, please cite:
Hamm, B., Kirchhoff, Y., Rokuss, M., and Maier-Hein, K., MeisenMeister: A Simple Two Stage Pipeline for Breast Cancer Classification on MRI, arXiv:2510.27326 [cs.CV], 2025.
Paper: https://arxiv.org/pdf/2510.27326
@article{hamm2025meisenmeister,
title={MeisenMeister: A Simple Two Stage Pipeline for Breast Cancer Classification on MRI},
author={Hamm, Benjamin and Kirchhoff, Yannick and Rokuss, Maximilian and Maier-Hein, Klaus},
journal={arXiv preprint arXiv:2510.27326},
year={2025}
}