Metadata-Version: 2.1
Name: brats
Version: 0.0.6
Summary: BraTS algorithms
Home-page: https://github.com/BrainLesion/BraTS
License: AGPL-3.0
Keywords: brain tumor,glioma,BraTS,brain lesion,segmentation,synthesis,inpainting
Author: Marcel Rosier
Author-email: marcel.rosier@tum.de
Requires-Python: >=3.8
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: PyYAML (>=6.0.1)
Requires-Dist: dacite (>=1.8.0)
Requires-Dist: docker (>=7.0.0)
Requires-Dist: loguru (>=0.6.0)
Requires-Dist: nibabel (>=5.0.0)
Requires-Dist: rich (>=13.0.0)
Requires-Dist: tqdm (>=4.66.4)
Project-URL: Documentation, https://brats.readthedocs.io/en/latest/
Project-URL: Repository, https://github.com/BrainLesion/BraTS
Description-Content-Type: text/markdown

[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/brats?logo=python&color=2EC553)](https://pypi.org/project/brats/)
[![Documentation Status](https://readthedocs.org/projects/brats/badge/?version=latest)](http://brats.readthedocs.io/?badge=latest)
[![tests](https://github.com/BrainLesion/brats/actions/workflows/tests.yml/badge.svg)](https://github.com/BrainLesion/brats/actions/workflows/tests.yml)
[![PyPI version brats-algorithms](https://badge.fury.io/py/brats.svg)](https://pypi.python.org/pypi/brats/)
[![License: GPLv3](https://img.shields.io/badge/License-AGPLv3-blue.svg?color=2EC553)](https://www.gnu.org/licenses/agpl-3.0)

# BraTS

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` directly from [PyPI](https://pypi.org/project/brats/):

```sh
pip install brats
```

### Docker and NVIDIA Container Toolkit Setup

To run `brats` you need a working Docker installation.
Most algorithms also require GPU support (NVIDIA Docker). 

Installation instructions:
- **Docker**: Installation instructions on the official [website](https://docs.docker.com/get-docker/)
- **NVIDIA Container Toolkit**: Refer to the [NVIDIA install guide](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) and the official [GitHub page](https://github.com/NVIDIA/nvidia-container-toolkit) 


## Use Cases and Tutorials

A minimal example to create a segmentation could look like this:

```python
from brats import AdultGliomaSegmenter
segmenter = AdultGliomaSegmenter()
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",
)
```

For more examples and details please refer to our extensive Notebook tutorials [**TODO**]

## Algorithms
| Challenge | Year | Position | Authors | Paper | CPU support |
|---|---|---|---|---|---|
| *Meningioma Segmentation* | 2023 | 1st | Andriy Myronenko, et al. | N/A | :heavy_multiplication_x: |
|     | 2023 | 2nd | Ziyan Huang | N/A | :white_check_mark: |
|     | 2023 | 3rd | Zhifan Jiang et al. | N/A | :heavy_multiplication_x: |
| *Pediatric Segmentation* | 2023 | 1st | Zhifan Jiang et al. | N/A | :heavy_multiplication_x: |
|     | 2023 | 2nd | Andriy Myronenko, et al. | N/A | :heavy_multiplication_x: |
|     | 2023 | 3rd | Yubo Zhou | N/A | :heavy_multiplication_x: |
| *Adult Glioma Segmentation* | 2023 | 1st | André Ferreira, et al. | [Link](https://arxiv.org/abs/2402.17317v1) | :heavy_multiplication_x: |
|     | 2023 | 2nd | Andriy Myronenko, et al. | N/A | :heavy_multiplication_x: |
|     | 2023 | 3rd | Fadillah Adamsyah Maani, et al. | N/A | :heavy_multiplication_x: |

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

```
TODO: citation will be added asap
```


## Contributing

We welcome all kinds if contributions from the community!

### Reporting Bugs, Feature Requests and Questions
Please open a new issue [here](https://github.com/BrainLesion/BraTS/issues).

### Code contributions
Nice to have you on board! Please have a look at our [CONTRIBUTING.md](CONTRIBUTING.md) file.

