/torchio

TorchIO: medical imaging for deep learning.

Primary LanguagePythonApache License 2.0Apache-2.0

TorchIO logo

Tools like TorchIO are a symptom of the maturation of medical AI research using deep learning techniques.

Jack Clark, Policy Director at OpenAI (link).


Package PyPI downloads PyPI version Conda version
CI Tests status Documentation status Coverage status
Code Code quality Code maintainability pre-commit
Tutorials Google Colab
Community Slack Twitter Twitter YouTube

Progressive artifacts

Augmentation


Original Random blur
Original Random blur
Random flip Random noise
Random flip Random noise
Random affine transformation Random elastic transformation
Random affine transformation Random elastic transformation
Random bias field artifact Random motion artifact
Random bias field artifact Random motion artifact
Random spike artifact Random ghosting artifact
Random spike artifact Random ghosting artifact

Queue

(Queue for patch-based training)


TorchIO is a Python package containing a set of tools to efficiently read, preprocess, sample, augment, and write 3D medical images in deep learning applications written in PyTorch, including intensity and spatial transforms for data augmentation and preprocessing. Transforms include typical computer vision operations such as random affine transformations and also domain-specific ones such as simulation of intensity artifacts due to MRI magnetic field inhomogeneity or k-space motion artifacts.

This package has been greatly inspired by NiftyNet, which is not actively maintained anymore.

Credits

If you like this repository, please click on Star!

If you use this package for your research, please cite our paper:

F. Pérez-García, R. Sparks, and S. Ourselin. TorchIO: a Python library for efficient loading, preprocessing, augmentation and patch-based sampling of medical images in deep learning. Computer Methods and Programs in Biomedicine (June 2021), p. 106236. ISSN: 0169-2607.doi:10.1016/j.cmpb.2021.106236.

BibTeX entry:

@article{perez-garcia_torchio_2021,
    title = {TorchIO: a Python library for efficient loading, preprocessing, augmentation and patch-based sampling of medical images in deep learning},
    journal = {Computer Methods and Programs in Biomedicine},
    pages = {106236},
    year = {2021},
    issn = {0169-2607},
    doi = {https://doi.org/10.1016/j.cmpb.2021.106236},
    url = {https://www.sciencedirect.com/science/article/pii/S0169260721003102},
    author = {P{\'e}rez-Garc{\'i}a, Fernando and Sparks, Rachel and Ourselin, S{\'e}bastien},
}

This project is supported by the following institutions:

Getting started

See Getting started for installation instructions and a Hello, World! example.

Longer usage examples can be found in the tutorials.

All the documentation is hosted on Read the Docs.

Please open a new issue if you think something is missing.

Contributors

Thanks goes to all these people (emoji key):


Fernando Pérez-García

💻 📖

valabregue

🤔 👀 💻 💬

GFabien

💻 👀 🤔

G.Reguig

💻

Niels Schurink

💻

Ibrahim Hadzic

🐛

ReubenDo

🤔

Julian Klug

🤔

David Völgyes

🤔 💻

Jean-Christophe Fillion-Robin

📖

Suraj Pai

🤔

Ben Darwin

🤔

Oeslle Lucena

🐛

Soumick Chatterjee

💻

neuronflow

📖

Jan Witowski

📖

Derk Mus

📖 💻 🐛

Christian Herz

🐛

Cory Efird

💻 🐛

Esteban Vaca C.

🐛

Ray Phan

🐛

Akis Linardos

🐛 💻

Nina Montana-Brown

📖 🚇

fabien-brulport

🐛

malteekj

🐛

Andres Diaz-Pinto

🐛

Sarthak Pati

📦

GabriellaKamlish

🐛

Tyler Spears

🐛

DaGuT

📖

Xiangyu Zhao

🐛

siahuat0727

📖 🐛

Svdvoort

💻

Albans98

💻

Matthew T. Warkentin

💻

glupol

🐛

ramonemiliani93

📖 🐛

Justus Schock

💻 🐛

Stefan Milorad Radonjić

🐛

Sajan Gohil

🐛

Ikko Ashimine

📖

laynr

📖

Omar U. Espejel

🔊

James Butler

🐛

res191

🔍

nengwp

🐛 📖

susanveraclarke

🎨

nepersica

🐛

Sebastian Penhouet

🤔

Bigsealion

🐛

Dženan Zukić

👀

vasl12

🐛

François Rousseau

🐛

snavalm

💻

Jacob Reinhold

💻

Hsu

🐛

snipdome

🐛

SmallY

🐛

guigautier

🤔

AyedSamy

🐛

J. Miguel Valverde

🤔 💻

José Guilherme Almeida

🤔

Asim Usman

🐛

cbri92

🐛

Markus J. Ankenbrand

🐛

Ziv Yaniv

📖

Luca Lumetti

💻

This project follows the all-contributors specification. Contributions of any kind welcome!