brats

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

https://github.com/brainlesion/brats

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 48 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
Statistics
  • Stars: 34
  • Watchers: 0
  • Forks: 5
  • Open Issues: 1
  • Releases: 29
Created almost 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation

README.md

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:

bash 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

Segmentation Challenges

matched_instance_figure

Adult Glioma Segmentation (Pre-Treatment)

Adult Glioma Segmentation on pre-treatment brain MRI exams.

Usage example (code) and top 3 participants

```python from brats import AdultGliomaPreTreatmentSegmenter from brats.constants import AdultGliomaPreTreatmentAlgorithms

segmenter = AdultGliomaPreTreatmentSegmenter(algorithm=AdultGliomaPreTreatmentAlgorithms.BraTS231, cudadevices="0")

these parameters are optional, by default the winning algorithm of 2023 will be used on cuda:0

segmenter.infersingle( t1c="path/to/t1c.nii.gz", t1n="path/to/t1n.nii.gz", t2f="path/to/t2f.nii.gz", t2w="path/to/t2w.nii.gz", outputfile="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.

Adult Glioma Segmentation (Post-Treatment)

Adult Glioma Segmentation on post-Treatment brain MRI exams.

Usage example (code) and top 3 participants


```python from brats import AdultGliomaPostTreatmentSegmenter from brats.constants import AdultGliomaPostTreatmentAlgorithms

segmenter = AdultGliomaPostTreatmentSegmenter(algorithm=AdultGliomaPostTreatmentAlgorithms.BraTS241, cudadevices="0")

these parameters are optional, by default the winning algorithm of 2024 will be used on cuda:0

segmenter.infersingle( t1c="path/to/t1c.nii.gz", t1n="path/to/t1n.nii.gz", t2f="path/to/t2f.nii.gz", t2w="path/to/t2w.nii.gz", outputfile="segmentation.nii.gz", ) ```

Class: brats.AdultGliomaPostTreatmentSegmenter (Docs)
Challenge Paper 2024: Link
| Year | Rank | Author | Paper | CPU Support | Key Enum | | ---- | ---- | ------------------------ | ---------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------- | | 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.

BraTS-Africa Segmentation

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

Usage example (code) and top 3 participants

```python from brats import AfricaSegmenter from brats.constants import AfricaAlgorithms

segmenter = AfricaSegmenter(algorithm=AfricaAlgorithms.BraTS231, cudadevices="0")

these parameters are optional, by default the winning algorithm will be used on cuda:0

segmenter.infersingle( t1c="path/to/t1c.nii.gz", t1n="path/to/t1n.nii.gz", t2f="path/to/t2f.nii.gz", t2w="path/to/t2w.nii.gz", outputfile="segmentation.nii.gz", ) ```

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

| Year | Rank | Author | Paper | CPU Support | Key Enum | | ---- | ---- | -------------------------- | ---------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------- | | 2024 | 1st | Abhijeet Parida, et al. | Link | ❌ | BraTS24_1 | | 2024 | 2nd | Long Bai, 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

Unlike other segmentation challenges, the expected inputs for the Meningioma Segmentation Algorithms differ between years. - 2023 (pre-operative MRIs): All 4 modalities are used (t1c, t1n, t2f, t2w) - 2024 (radiotherapy planning MRI): Only t1c is used

Therefore, the usage differs slightly, depending on which algorithm is used. To understand why, please refer to the 2024 challenge manuscript.

```python from brats import MeningiomaSegmenter from brats.constants import MeningiomaAlgorithms

Example for 2023 algorithms

segmenter = MeningiomaSegmenter(algorithm=MeningiomaAlgorithms.BraTS231, cudadevices="0")

these parameters are optional, by default the winning algorithm will be used on cuda:0

segmenter.infersingle( t1c="path/to/t1c.nii.gz", t1n="path/to/t1n.nii.gz", t2f="path/to/t2f.nii.gz", t2w="path/to/t2w.nii.gz", outputfile="segmentation_23.nii.gz", )

Example for 2024 algorithms

segmenter = MeningiomaSegmenter(algorithm=MeningiomaAlgorithms.BraTS241, cudadevices="0") segmenter.infersingle( t1c="path/to/t1c.nii.gz", outputfile="segmentation_24.nii.gz", ) ```

Class: brats.MeningiomaSegmenter (Docs)
Challenge Paper 2024 Link
Challenge Paper 2023 Link
| Year | Rank | Author | Paper | CPU Support | Key Enum | | ---- | ---- | --------------------------------- | ---------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------- | | 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 | | 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 |

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

```python from brats import MetastasesSegmenter from brats.constants import MetastasesAlgorithms

segmenter = MetastasesSegmenter(algorithm=MetastasesAlgorithms.BraTS231, cudadevices="0")

these parameters are optional, by default the winning algorithm will be used on cuda:0

segmenter.infersingle( t1c="path/to/t1c.nii.gz", t1n="path/to/t1n.nii.gz", t2f="path/to/t2f.nii.gz", t2w="path/to/t2w.nii.gz", outputfile="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 | | ---- | ---- | -------------------------- | ---------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------- | | 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

```python from brats import PediatricSegmenter from brats.constants import PediatricAlgorithms

segmenter = PediatricSegmenter(algorithm=PediatricAlgorithms.BraTS231, cudadevices="0")

these parameters are optional, by default the winning algorithm will be used on cuda:0

segmenter.infersingle( t1c="path/to/t1c.nii.gz", t1n="path/to/t1n.nii.gz", t2f="path/to/t2f.nii.gz", t2w="path/to/t2w.nii.gz", outputfile="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 | | ---- | ---- |----------------------------|------------------------------------------------------------| ----------- | ------------------------------------------------------------------------------------------------------------------ | | 2024 | 1st | Mehdi Astaraki, et al. | N/A | ❌ | BraTS24_1 | | 2024 | 2nd | Tim Mulvany, et al. | Link | ❌ | BraTS24_2 | | 2024 | 3rd | Sarim Hashmi, et al. | Link | ❌ | BraTS24_3 | | 2023 | 1st | Zhifan Jiang 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

```python from brats import GoATSegmenter from brats.constants import GoATAlgorithms

segmenter = GoATSegmenter(algorithm=GoATAlgorithms.BraTS241, cudadevices="0")

these parameters are optional, by default the winning algorithm will be used on cuda:0

segmenter.infersingle( t1c="path/to/t1c.nii.gz", t1n="path/to/t1n.nii.gz", t2f="path/to/t2f.nii.gz", t2w="path/to/t2w.nii.gz", outputfile="segmentation.nii.gz", ) ```

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

| Year | Rank | Author | Paper | CPU Support | Key Enum | | ---- | ---- | -------------------------- | ----- | ----------- | ------------------------------------------------------------------------------------------------------------- | | 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

```python from brats import Inpainter from brats.constants import InpaintingAlgorithms

inpainter = Inpainter(algorithm=InpaintingAlgorithms.BraTS241, cudadevices="0") inpainter.infersingle( t1n="path/to/voidedt1n.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 | | ---- | ---- | ---------------------------------- | ---------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------- | | 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

```python from brats import MissingMRI from brats.constants import MissingMRIAlgorithms

missingmri = MissingMRI(algorithm=MissingMRIAlgorithms.BraTS241, cuda_devices="0")

Example to synthesize t2f modality (whichever modality is missing will be inferred)

missingmri.infersingle( t1c="path/to/t1c.nii.gz", t1n="path/to/t1n.nii.gz", # t2f="path/to/t2f.nii.gz", t2w="path/to/t2w.nii.gz", outputfile="inferredt2f.nii.gz", ) ```

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

| Year | Rank | Author | Paper | CPU Support | Key Enum | | ---- | ---- | ------------------- | ------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------- | | 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

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.

Owner

  • Name: BrainLesion
  • Login: BrainLesion
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software or dataset, please cite the following paper:"
title: "BraTS orchestrator: Democratizing and Disseminating state-of-the-art brain tumor image analysis"
authors:
  - family-names: Kofler
    given-names: Florian
  - family-names: Rosier
    given-names: Marcel
  - family-names: Astaraki
    given-names: Mehdi
  - family-names: Baid
    given-names: Ujjwal
  - family-names: Möller
    given-names: Hendrik
  - family-names: Buchner
    given-names: Josef A.
  - family-names: Steinbauer
    given-names: Felix
  - family-names: Oswald
    given-names: Eva
  - family-names: de la Rosa
    given-names: Ezequiel
  - family-names: Ezhov
    given-names: Ivan
  - family-names: von See
    given-names: Constantin
  - family-names: Kirschke
    given-names: Jan
  - family-names: Schmick
    given-names: Anton
  - family-names: Pati
    given-names: Sarthak
  - family-names: Linardos
    given-names: Akis
  - family-names: Pitarch
    given-names: Carla
  - family-names: Adap
    given-names: Sanyukta
  - family-names: Rudie
    given-names: Jeffrey
  - family-names: Correia de Verdier
    given-names: Maria
  - family-names: Saluja
    given-names: Rachit
  - family-names: Calabrese
    given-names: Evan
  - family-names: LaBella
    given-names: Dominic
  - family-names: Aboian
    given-names: Mariam
  - family-names: Moawad
    given-names: Ahmed W.
  - family-names: Maleki
    given-names: Nazanin
  - family-names: Anazodo
    given-names: Udunna
  - family-names: Adewole
    given-names: Maruf
  - family-names: Linguraru
    given-names: Marius George
  - family-names: Fathi Kazerooni
    given-names: Anahita
  - family-names: Jiang
    given-names: Zhifan
  - family-names: Conte
    given-names: Gian Marco
  - family-names: Li
    given-names: Hongwei
  - family-names: Iglesias
    given-names: Juan Eugenio
  - family-names: Bakas
    given-names: Spyridon
  - family-names: Wiestler
    given-names: Benedikt
  - family-names: Piraud
    given-names: Marie
  - family-names: Menze
    given-names: Bjoern
date-released: 2025-06-13
identifiers:
  - type: arXiv
    value: 2506.13807
url: https://arxiv.org/abs/2506.13807

GitHub Events

Total
  • Create event: 31
  • Release event: 15
  • Issues event: 37
  • Watch event: 24
  • Delete event: 19
  • Member event: 1
  • Issue comment event: 38
  • Push event: 86
  • Pull request review comment event: 45
  • Pull request event: 57
  • Pull request review event: 86
  • Fork event: 5
Last Year
  • Create event: 31
  • Release event: 15
  • Issues event: 37
  • Watch event: 24
  • Delete event: 19
  • Member event: 1
  • Issue comment event: 38
  • Push event: 86
  • Pull request review comment event: 45
  • Pull request event: 57
  • Pull request review event: 86
  • Fork event: 5

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 17
  • Total pull requests: 29
  • Average time to close issues: 17 days
  • Average time to close pull requests: 2 days
  • Total issue authors: 5
  • Total pull request authors: 5
  • Average comments per issue: 1.12
  • Average comments per pull request: 0.52
  • Merged pull requests: 25
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 17
  • Pull requests: 29
  • Average time to close issues: 17 days
  • Average time to close pull requests: 2 days
  • Issue authors: 5
  • Pull request authors: 5
  • Average comments per issue: 1.12
  • Average comments per pull request: 0.52
  • Merged pull requests: 25
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • MarcelRosier (26)
  • neuronflow (7)
  • YuEnoch (2)
  • pjsjongsung (1)
  • KSchmidtACR (1)
Pull Request Authors
  • MarcelRosier (35)
  • evamariie (12)
  • neuronflow (5)
  • Astarakee (1)
  • ai-idt (1)
Top Labels
Issue Labels
enhancement (26) bug (8) question (3)
Pull Request Labels
enhancement (13) bug (1) documentation (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 610 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 29
  • Total maintainers: 2
pypi.org: brats

BraTS algorithms

  • Versions: 29
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 610 Last month
Rankings
Dependent packages count: 10.6%
Downloads: 16.7%
Average: 29.1%
Dependent repos count: 59.9%
Maintainers (2)
Last synced: 6 months ago

Dependencies

.github/workflows/autoformat.yml actions
.github/workflows/pr-lint.yml actions
.github/workflows/release.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/tests.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
pyproject.toml pypi
  • pytest ^6.2.5 develop
  • Sphinx >=7.0.0 docs
  • myst-parser >=2.0.0 docs
  • sphinx-copybutton >=0.5.2 docs
  • sphinx-rtd-theme >=1.3.0 docs
  • python ^3.10