Skip to content

BrainLesion/BraTS

Repository files navigation

BraTS Orchestrator

Python Versions Stable Version Documentation Status tests codecov License

______         _____ _____
| ___ \       |_   _/  ___|
| |_/ /_ __ __ _| | \ `--.
| ___ \ '__/ _` | |  `--. \
| |_/ / | | (_| | | /\__/ /
\____/|_|  \__,_\_/ \____/


 _____          _               _             _
|  _  |        | |             | |           | |
| | | |_ __ ___| |__   ___  ___| |_ _ __ __ _| |_ ___  _ __
| | | | '__/ __| '_ \ / _ \/ __| __| '__/ _` | __/ _ \| '__|
\ \_/ / | | (__| | | |  __/\__ \ |_| | | (_| | || (_) | |
 \___/|_|  \___|_| |_|\___||___/\__|_|  \__,_|\__\___/|_|

Providing the top-performing algorithms from the Brain Tumor Segmentation (BraTS) challenges, through an easy-to-use Python API powered by Docker.

Features

  • Access to top-performing algorithms from recent BraTS challenges
  • Easy-to-use minimal API
  • Extensive documentation and examples

Installation

With a Python 3.8+ environment, you can install BraTS orchestrator directly from PyPI:

pip install brats

Important

To run BraTS orchestrator, you require a Docker installation.
Many algorithms also require GPU support (NVIDIA Docker).
In case you do not have access to a CUDA-capable GPU, the overview tables in the Available Algorithms and Usage section indicate which algorithms are CPU compatible.

Docker and NVIDIA Container Toolkit Setup

Available Algorithms and Usage

Important

BraTS challenge algorithms require preprocessed brain images. See section Data preprocessing requirements

Segmentation Challenges

matched_instance_figure

Adult Glioma Segmentation (Pre & Post-Treatment)

Adult Glioma Segmentation on pre and post-treatment brain MRI exams.

Usage example (code) and top 3 participants
from brats import AdultGliomaPreAndPostTreatmentSegmenter
from brats.constants import AdultGliomaPreAndPostTreatmentAlgorithms

segmenter = AdultGliomaPreAndPostTreatmentSegmenter(algorithm=AdultGliomaPreAndPostTreatmentAlgorithms.BraTS25_1, cuda_devices="0")
# these parameters are optional, by default the latest winning algorithm will be used on cuda:0
segmenter.infer_single(
    t1c="path/to/t1c.nii.gz",
    t1n="path/to/t1n.nii.gz",
    t2f="path/to/t2f.nii.gz",
    t2w="path/to/t2w.nii.gz",
    output_file="segmentation.nii.gz",
)

Note: If you're interested in Adult Glioma Segmentation, the BrainLes GlioMODA package may also be of interest.


Class: brats.AdultGliomaPreAndPostTreatmentSegmenter (Docs)
Challenge Paper 2023: Link

Year Rank Author Paper CPU Support Key Enum
2025 1st Ishika Jain, et al. N/A BraTS25_1
2025 2nd Qu Lin, et al. N/A BraTS25_2
2025 3rd Liwei Jin, et al. N/A BraTS25_3A
2025 3rd Adrian Celaya, et al. N/A BraTS25_3B
2024 1st André Ferreira, et al. N/A BraTS24_1
2024 2nd Heejong Kim, et al. Link BraTS24_2
2024 3rd Adrian Celaya N/A BraTS24_3

Note: The MNI152 atlas, available on Zenodo, was employed for registration in the 2024 and subsequent BraTS Glioma Post-treatment Segmentation challenges.


Adult Glioma Segmentation (Pre-Treatment)

Adult Glioma Segmentation on pre-treatment brain MRI exams.

Usage example (code) and top 3 participants
from brats import AdultGliomaPreTreatmentSegmenter
from brats.constants import AdultGliomaPreTreatmentAlgorithms

segmenter = AdultGliomaPreTreatmentSegmenter(algorithm=AdultGliomaPreTreatmentAlgorithms.BraTS23_1, cuda_devices="0")
# these parameters are optional, by default the latest winning algorithm will be used on cuda:0
segmenter.infer_single(
    t1c="path/to/t1c.nii.gz",
    t1n="path/to/t1n.nii.gz",
    t2f="path/to/t2f.nii.gz",
    t2w="path/to/t2w.nii.gz",
    output_file="segmentation.nii.gz",
)

Note: If you're interested in Adult Glioma Segmentation, the BrainLes GlioMODA package may also be of interest.


Class: brats.AdultGliomaPreTreatmentSegmenter (Docs)
Challenge Paper 2023: Link

Year Rank Author Paper CPU Support Key Enum
2023 1st André Ferreira, et al. Link BraTS23_1
2023 2nd Andriy Myronenko, et al. N/A BraTS23_2
2023 3rd Fadillah Adamsyah Maani, et al. Link BraTS23_3

Note: The SRI24 atlas, available on Zenodo, was employed for registration in the 2023 and prior BraTS Glioma Pre-Treatment Segmentation challenges.


BraTS-Africa Segmentation

Adult Glioma Segmentation on brain MRI exams in Sub-Sahara-Africa patient population.

Usage example (code) and top 3 participants
from brats import AfricaSegmenter
from brats.constants import AfricaAlgorithms

segmenter = AfricaSegmenter(algorithm=AfricaAlgorithms.BraTS25_1, cuda_devices="0")
# these parameters are optional, by default the latest winning algorithm will be used on cuda:0
segmenter.infer_single(
    t1c="path/to/t1c.nii.gz",
    t1n="path/to/t1n.nii.gz",
    t2f="path/to/t2f.nii.gz",
    t2w="path/to/t2w.nii.gz",
    output_file="segmentation.nii.gz",
)

Class: brats.AfricaSegmenter (Docs)
Challenge Paper 2023 Link
Challenge Paper 2024: N/A

Year Rank Author Paper CPU Support Key Enum
2025 1st Claudia Takyi Ankomah, et al. N/A BraTS25_1
2025 2nd William Boonzaier, et al. N/A BraTS25_2A
2025 2nd Mohtady Barakat, et al. N/A BraTS25_2B
2025 3rd Ahmed Jaheen, et al. N/A BraTS25_3
2024 1st Abhijeet Parida, et al. Link BraTS24_1
2024 2nd Yanguang Zhao, et al. Link BraTS24_2
2024 3rd Sarim Hashmi, et al. Link BraTS24_3
2023 1st Andriy Myronenko, et al. TODO BraTS23_1
2023 2nd Alyssa R Amod, et al. Link BraTS23_2
2023 3rd Ziyan Huang, et al. Link BraTS23_3

Note: The SRI24 atlas, available on Zenodo, was employed for registration in BraTS Africa Segmentation challenges.


Meningioma Segmentation

Segmentation of Meningioma on brain MRI exams.

Usage example (code) and top 3 participants
from brats import MeningiomaSegmenter
from brats.constants import MeningiomaAlgorithms

### Example for 2023 algorithms
segmenter = MeningiomaSegmenter(algorithm=MeningiomaAlgorithms.BraTS25_1, cuda_devices="0")
# these parameters are optional, by default the latest winning algorithm will be used on cuda:0
segmenter.infer_single(
    t1c="path/to/t1c.nii.gz",
    t1n="path/to/t1n.nii.gz",
    t2f="path/to/t2f.nii.gz",
    t2w="path/to/t2w.nii.gz",
    output_file="segmentation_23.nii.gz",
)

Class: brats.MeningiomaSegmenter (Docs)
Challenge Paper 2023 Link

Year Rank Author Paper CPU Support Key Enum
2025 1st Yu Haitao, et al. N/A BraTS25_1
2025 2nd Mohammad Mahdi Danesh Pajouh, et al. N/A BraTS25_2
2023 1st Andriy Myronenko, et al. N/A BraTS23_1
2023 2nd Ziyan Huang, et al. Link BraTS23_2
2023 3rd Daniel Capell'an-Mart'in et al. Link BraTS23_3

Meningioma Radio Therapy Segmentation

Segmentation of Meningioma on T1C brain MRI exams.

Usage example (code) and top 3 participants
from brats import MeningiomaRTSegmenter
from brats.constants import MeningiomaRTAlgorithms

segmenter = MeningiomaRTSegmenter(algorithm=MeningiomaRTAlgorithms.BraTS25_1, cuda_devices="0")
segmenter.infer_single(
    t1c="path/to/t1c.nii.gz",
    output_file="segmentation_24.nii.gz",
)

Class: brats.MeningiomaRTSegmenter (Docs)
Challenge Paper 2024 Link

Year Rank Author Paper CPU Support Key Enum
2025 1st Valeria Abramova, et al. N/A BraTS25_1
2025 2nd Sanskriti Srivastava, et al. N/A BraTS25_2
2025 3rd Nima Sadeghzadeh, et al. N/A BraTS25_3
2024 1st Valeria Abramova N/A BraTS24_1
2024 2nd Mehdi Astaraki N/A BraTS24_2
2024 3rd Andre Ferreira, et al. Link BraTS24_3

Note: The MRI dataset in Meningioma-Radiotherapy challenge was provided in native space. However, the SRI24 atlas, available on Zenodo, was employed for registration in BraTS Meningioma Pre-operative challenges.


Brain Metastases Segmentation

Segmentation on brain metastases on MRI exams for pre- and post-treatment cases.

Usage example (code) and top 3 participants
from brats import MetastasesSegmenter
from brats.constants import MetastasesAlgorithms

segmenter = MetastasesSegmenter(algorithm=MetastasesAlgorithms.BraTS25_1, cuda_devices="0")
# these parameters are optional, by default the latest winning algorithm will be used on cuda:0
segmenter.infer_single(
    t1c="path/to/t1c.nii.gz",
    t1n="path/to/t1n.nii.gz",
    t2f="path/to/t2f.nii.gz",
    t2w="path/to/t2w.nii.gz",
    output_file="segmentation.nii.gz",
)

Note: If you're interested in Brain Metastases Segmentation, the BrainLes AURORA package may also be of interest.


Class: brats.MetastasesSegmenter (Docs)
Challenge Paper 2023 Link

Year Rank Author Paper CPU Support Key Enum
2025 1st Maria Bancerek, et al. N/A BraTS25_1
2025 2nd Wes Krikorian, et al. N/A BraTS25_2
2023 1st Andriy Myronenko, et al. N/A BraTS23_1
2023 2nd Siwei Yang, et al. Link BraTS23_2
2023 3rd Ziyan Huang, et al. Link BraTS23_3

Note: The SRI24 atlas, available on Zenodo, was employed for registration in BraTS Metastasis segmentation challenges.


Pediatric Segmentation

Segmentation of pediatric brain tumors on MRI exams.

Usage example (code) and top 3 participants
from brats import PediatricSegmenter
from brats.constants import PediatricAlgorithms

segmenter = PediatricSegmenter(algorithm=PediatricAlgorithms.BraTS25_1A, cuda_devices="0")
# these parameters are optional, by default the latest winning algorithm will be used on cuda:0
segmenter.infer_single(
    t1c="path/to/t1c.nii.gz",
    t1n="path/to/t1n.nii.gz",
    t2f="path/to/t2f.nii.gz",
    t2w="path/to/t2w.nii.gz",
    output_file="segmentation.nii.gz",
)

Note: If you're interested in Pediatric Segmentation, the BrainLes PeTu package may also be of interest.

Class: brats.PediatricSegmenter (Docs)
Challenge Paper 2024 Link
Challenge Paper 2023 Link

Year Rank Author Paper CPU Support Key Enum
2025 1st Yuxiao Yi, et al. N/A BraTS25_1A
2025 1st Meng-Yuan Chen, et al. N/A BraTS25_1B
2025 1st Yu Haitao, et al. N/A BraTS25_1C
2025 1st Xiaolong Li, et al. N/A BraTS25_1D
2024 1st Mehdi Astaraki N/A BraTS24_1
2024 2nd Tim Mulvany, et al. Link BraTS24_2
2024 3rd Sarim Hashmi, et al. Link BraTS24_3
2023 1st Daniel Capell´an-Mart´in et al. Link BraTS23_1
2023 2nd Andriy Myronenko, et al. N/A BraTS23_2
2023 3rd Yubo Zhou Link BraTS23_3

Note: The SRI24 atlas, available on Zenodo, was employed for registration in BraTS Pediatric Tumor Segmentation challenges.


Generalizability Across Tumors (BraTS-GoAT) Segmentation

Segmentation algorithm, adapting and generalizing to different brain tumors with segmentation labels of different tumor sub-regions.

Usage example (code) and top 3 participants
from brats import GoATSegmenter
from brats.constants import GoATAlgorithms

segmenter = GoATSegmenter(algorithm=GoATAlgorithms.BraTS25_1A, cuda_devices="0")
# these parameters are optional, by default the latest winning algorithm will be used on cuda:0
segmenter.infer_single(
    t1c="path/to/t1c.nii.gz",
    t1n="path/to/t1n.nii.gz",
    t2f="path/to/t2f.nii.gz",
    t2w="path/to/t2w.nii.gz",
    output_file="segmentation.nii.gz",
)

Class: brats.PediatricSegmenter (Docs)
Challenge Paper 2024: N/A

Year Rank Author Paper CPU Support Key Enum
2025 1st Meng-Yuan Chen, et al. N/A BraTS25_1A
2025 1st To-Liang Hsu, et al. N/A BraTS25_1B
2025 1st Vaidehi Satushe, et al. N/A BraTS25_1C
2025 1st Simone Bendazzoli, et al. N/A BraTS25_1D
2024 1st Frank Miao, Shengjie Niu N/A BraTS24_1

Note: The datasets used in this challenge were adapted from other segmentation challenges, so the atlas type depends on the original dataset.


Inpainting Challenge

matched_instance_figure

Algorithm to realistically synthesize and fill 3D healthy brain tissue in a region affected by glioma in brain MRI exams.

Usage example (code) and top 3 participants
from brats import Inpainter
from brats.constants import InpaintingAlgorithms

inpainter = Inpainter(algorithm=InpaintingAlgorithms.BraTS25_1A, cuda_devices="0")
inpainter.infer_single(
    t1n="path/to/voided_t1n.nii.gz",
    mask="path/to/mask.nii.gz",
    output_file="inpainting.nii.gz",
)

Class: brats.Inpainter (Docs)
Challenge Paper 2023 and 2024 Link

Year Rank Author Paper CPU Support Key Enum
2025 1st Juexin Zhang, et al. N/A BraTS25_1A
2025 1st André Ferreira, et al. N/A BraTS25_1B
2025 2nd Juhyung Ha, et al. N/A BraTS25_2
2024 1st Juexin Zhang et al. Link BraTS24_1
2024 2nd André Ferreira, et al. Link BraTS24_2
2024 3rd Alicia Durrer, et al. N/A BraTS24_3
2023 1st Juexin Zhang, et al. Link BraTS23_1
2023 2nd Alicia Durrer, et al. Link BraTS23_2
2023 3rd Jiayu Huo, et al. Link BraTS23_3

Note: The datasets used in this challenge were adapted from other segmentation challenges, so the atlas type depends on the original dataset.


Missing MRI Challenge

matched_instance_figure

Algorithm to realistically synthesize missing MRI modalities from available sequences to enhance brain tumor segmentation.

Usage example (code) and top 3 participants
from brats import MissingMRI
from brats.constants import MissingMRIAlgorithms

missing_mri = MissingMRI(algorithm=MissingMRIAlgorithms.BraTS25_1, cuda_devices="0")
# Example to synthesize t2f modality (whichever modality is missing will be inferred)
missing_mri.infer_single(
    t1c="path/to/t1c.nii.gz",
    t1n="path/to/t1n.nii.gz",
    # t2f="path/to/t2f.nii.gz",
    t2w="path/to/t2w.nii.gz",
    output_file="inferred_t2f.nii.gz",
)

Class: brats.MissingMRI (Docs)
Challenge Paper 2024: N/A

Year Rank Author Paper CPU Support Key Enum
2025 1st André Ferreira, et al. N/A BraTS25_1
2025 2nd Agustin Ujarky Cartaya Lathulerie, et al. N/A BraTS25_2
2025 3rd Lina Chator, et al. N/A BraTS25_3
2024 1st Jihoon Cho et al. Link BraTS24_1
2024 2nd Haowen Pang N/A BraTS24_2
2024 3rd Minjoo Lim et al. Link BraTS24_3
2023 1st Ivo Baltruschat Link BraTS23_1

Note: The datasets used in this challenge were adapted from other segmentation challenges, so the atlas type depends on the original dataset.



Tip

For a full notebook example with more details, please check here:
nbviewer

Data Preprocessing Requirements

BraTS challenge algorithms require preprocessed brain scans. Typically, this involves co-registration, brain extraction, and registration to a challenge-specific brain atlas (template) - see the respective section for each challenge regarding which template to use. We recommend using the preprocessing package from BrainLesion Suite for this purpose. In the future, we plan to offer challenge-specific convenience functions wrapping around this very preprocessing package.

Citation

Important

If you use BraTS orchestrator in your research, please cite it to support the development!

Kofler, F., Rosier, M., Astaraki, M., Baid, U., Möller, H., Buchner, J. A., Steinbauer, F., Oswald, E., Rosa, E. de la, Ezhov, I., See, C. von, Kirschke, J., Schmick, A., Pati, S., Linardos, A., Pitarch, C., Adap, S., Rudie, J., Verdier, M. C. de, … Menze, B. (2025). BraTS orchestrator: Democratizing and Disseminating state-of-the-art brain tumor image analysis arXiv preprint arXiv:2506.13807

@misc{kofler2025bratsorchestratordemocratizing,
      title={BraTS orchestrator : Democratizing and Disseminating state-of-the-art brain tumor image analysis}, 
      author={Florian Kofler and Marcel Rosier and Mehdi Astaraki and Ujjwal Baid and Hendrik Möller and Josef A. Buchner and Felix Steinbauer and Eva Oswald and Ezequiel de la Rosa and Ivan Ezhov and Constantin von See and Jan Kirschke and Anton Schmick and Sarthak Pati and Akis Linardos and Carla Pitarch and Sanyukta Adap and Jeffrey Rudie and Maria Correia de Verdier and Rachit Saluja and Evan Calabrese and Dominic LaBella and Mariam Aboian and Ahmed W. Moawad and Nazanin Maleki and Udunna Anazodo and Maruf Adewole and Marius George Linguraru and Anahita Fathi Kazerooni and Zhifan Jiang and Gian Marco Conte and Hongwei Li and Juan Eugenio Iglesias and Spyridon Bakas and Benedikt Wiestler and Marie Piraud and Bjoern Menze},
      year={2025},
      eprint={2506.13807},
      archivePrefix={arXiv},
      primaryClass={eess.IV},
      url={https://arxiv.org/abs/2506.13807}, 
}

Contributing

We welcome all kinds of contributions from the community!

Reporting Bugs, Feature Requests, and Questions

Please open a new issue here.

Code Contributions

Nice to have you on board! Please have a look at our CONTRIBUTING.md file.

About

Providing top-performing algorithms from the Brain Tumor Segmentation (BraTS) challenges.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages