Skip to content

fepegar/torchio

Repository files navigation

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 style 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
Fernando PΓ©rez-GarcΓ­a

πŸ’» πŸ“–
valabregue
valabregue

πŸ€” πŸ‘€ πŸ’» πŸ’¬ πŸ›
GFabien
GFabien

πŸ’» πŸ‘€ πŸ€”
G.Reguig
G.Reguig

πŸ’»
Niels Schurink
Niels Schurink

πŸ’»
Ibrahim Hadzic
Ibrahim Hadzic

πŸ›
ReubenDo
ReubenDo

πŸ€”
Julian Klug
Julian Klug

πŸ€”
David VΓΆlgyes
David VΓΆlgyes

πŸ€” πŸ’»
Jean-Christophe Fillion-Robin
Jean-Christophe Fillion-Robin

πŸ“–
Suraj Pai
Suraj Pai

πŸ€”
Ben Darwin
Ben Darwin

πŸ€”
Oeslle Lucena
Oeslle Lucena

πŸ›
Soumick Chatterjee
Soumick Chatterjee

πŸ’»
neuronflow
neuronflow

πŸ“–
Jan Witowski
Jan Witowski

πŸ“–
Derk Mus
Derk Mus

πŸ“– πŸ’» πŸ›
Christian Herz
Christian Herz

πŸ›
Cory Efird
Cory Efird

πŸ’» πŸ›
Esteban Vaca C.
Esteban Vaca C.

πŸ›
Ray Phan
Ray Phan

πŸ›
Akis Linardos
Akis Linardos

πŸ› πŸ’»
Nina Montana-Brown
Nina Montana-Brown

πŸ“– πŸš‡
fabien-brulport
fabien-brulport

πŸ›
malteekj
malteekj

πŸ›
Andres Diaz-Pinto
Andres Diaz-Pinto

πŸ›
Sarthak Pati
Sarthak Pati

πŸ“¦ πŸ“–
GabriellaKamlish
GabriellaKamlish

πŸ›
Tyler Spears
Tyler Spears

πŸ›
DaGuT
DaGuT

πŸ“–
Xiangyu Zhao
Xiangyu Zhao

πŸ›
siahuat0727
siahuat0727

πŸ“– πŸ›
Svdvoort
Svdvoort

πŸ’»
Albans98
Albans98

πŸ’»
Matthew T. Warkentin
Matthew T. Warkentin

πŸ’»
glupol
glupol

πŸ›
ramonemiliani93
ramonemiliani93

πŸ“– πŸ› πŸ’»
Justus Schock
Justus Schock

πŸ’» πŸ› πŸ€” πŸ‘€
Stefan Milorad Radonjić
Stefan Milorad Radonjić

πŸ›
Sajan Gohil
Sajan Gohil

πŸ›
Ikko Ashimine
Ikko Ashimine

πŸ“–
laynr
laynr

πŸ“–
Omar U. Espejel
Omar U. Espejel

πŸ”Š
James Butler
James Butler

πŸ›
res191
res191

πŸ”
nengwp
nengwp

πŸ› πŸ“–
susanveraclarke
susanveraclarke

🎨
nepersica
nepersica

πŸ›
Sebastian Penhouet
Sebastian Penhouet

πŸ€”
Bigsealion
Bigsealion

πŸ›
Dženan Zukić
Dženan Zukić

πŸ‘€
vasl12
vasl12

βœ… πŸ›
François Rousseau
François Rousseau

πŸ›
snavalm
snavalm

πŸ’»
Jacob Reinhold
Jacob Reinhold

πŸ’»
Hsu
Hsu

πŸ›
snipdome
snipdome

πŸ›
SmallY
SmallY

πŸ›
guigautier
guigautier

πŸ€”
AyedSamy
AyedSamy

πŸ›
J. Miguel Valverde
J. Miguel Valverde

πŸ€” πŸ’» πŸ›
JosΓ© Guilherme Almeida
JosΓ© Guilherme Almeida

πŸ€”
Asim Usman
Asim Usman

πŸ›
cbri92
cbri92

πŸ›
Markus J. Ankenbrand
Markus J. Ankenbrand

πŸ›
Ziv Yaniv
Ziv Yaniv

πŸ“–
Luca Lumetti
Luca Lumetti

πŸ’» πŸ“–
chagelo
chagelo

πŸ›
mueller-franzes
mueller-franzes

πŸ’» πŸ›
Abdelwahab Kawafi
Abdelwahab Kawafi

πŸ›
Arthur Masson
Arthur Masson

πŸ› πŸ“–
μ–‘ν˜„μ‹
μ–‘ν˜„μ‹

πŸ’»
nicoloesch
nicoloesch

πŸ’» πŸ›
Amund Vedal
Amund Vedal

πŸ“–
Alabamagan
Alabamagan

πŸ›
sbdoherty
sbdoherty

πŸ“–
Zhack47
Zhack47

πŸ›
Blake Dewey
Blake Dewey

πŸ“–
Doyeon Kim
Doyeon Kim

πŸ›
KonoMaxi
KonoMaxi

πŸ›
Laurent Chauvin
Laurent Chauvin

πŸ›
Christian Hinge
Christian Hinge

πŸ›
zzz123xyz
zzz123xyz

πŸ›
Amin Alam
Amin Alam

πŸ“–
marius-sm
marius-sm

πŸ€”
haarisr
haarisr

πŸ’»
Chris Winder
Chris Winder

πŸ›
Ricky Walsh
Ricky Walsh

πŸ’»
Keerthi Sravan Ravi
Keerthi Sravan Ravi

πŸ›

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