Skip to main content

Tools for loading, augmenting and writing 3D medical images on PyTorch.

Project description

TorchIO

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 All Contributors
Docs Documentation status
Build Build status
Coverage Coverage status Coverage Status
Code Code quality Code maintainability
Notebook Google Colab
Social Slack

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 the paper:

Pérez-García et al., 2020, TorchIO: a Python library for efficient loading, preprocessing, augmentation and patch-based sampling of medical images in deep learning.

BibTeX entry:

@misc{fern2020torchio,
    title={TorchIO: a Python library for efficient loading, preprocessing, augmentation and patch-based sampling of medical images in deep learning},
    author={Fernando Pérez-García and Rachel Sparks and Sebastien Ourselin},
    year={2020},
    eprint={2003.04696},
    archivePrefix={arXiv},
    primaryClass={eess.IV}
}

Getting started

See Getting started for installation instructions, a Hello, World! example and a comprehensive Jupyter notebook tutorial on Google Colab.

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

🤔

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

History

0.15.0 (07-04-2020)

  • Refactor RandomElasticDeformation transform
  • Make Subject inherit from dict

0.14.0 (31-03-2020)

  • Add datasets module
  • Add support for DICOM files
  • Add documentation
  • Add CropOrPad transform

0.13.0 (24-02-2020)

  • Add Subject class
  • Add random blur transform
  • Add lambda transform
  • Add random patches swapping transform
  • Add MRI k-space ghosting artefact augmentation

0.12.0 (21-01-2020)

  • Add ToCanonical transform
  • Add CenterCropOrPad transform

0.11.0 (15-01-2020)

  • Add Resample transform

0.10.0 (15-01-2020)

  • Add Pad transform
  • Add Crop transform

0.9.0 (14-01-2020)

  • Add CLI tool to transform an image from file

0.8.0 (11-01-2020)

  • Add Image class

0.7.0 (02-01-2020)

  • Make transforms use PyTorch tensors consistently

0.6.0 (02-01-2020)

  • Add support for NRRD

0.5.0 (01-01-2020)

  • Add bias field transform

0.4.0 (29-12-2019)

  • Add MRI k-space motion artefact augmentation

0.3.0 (21-12-2019)

  • Add Rescale transform
  • Add support for multimodal data and missing modalities

0.2.0 (2019-12-06)

  • First release on PyPI.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torchio-0.17.6.tar.gz (23.1 MB view details)

Uploaded Source

Built Distribution

torchio-0.17.6-py2.py3-none-any.whl (89.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file torchio-0.17.6.tar.gz.

File metadata

  • Download URL: torchio-0.17.6.tar.gz
  • Upload date:
  • Size: 23.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.1

File hashes

Hashes for torchio-0.17.6.tar.gz
Algorithm Hash digest
SHA256 5a4a2eb8205fff15f964203877ce1c438773ad357bba6128eab34f05ce318512
MD5 628f9d084f8cb7ccabd33b09e2415b88
BLAKE2b-256 9aec3718b50411384272d3faf8f78e4272310736baa3cfb1269eda45d7fab6c4

See more details on using hashes here.

File details

Details for the file torchio-0.17.6-py2.py3-none-any.whl.

File metadata

  • Download URL: torchio-0.17.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 89.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.1

File hashes

Hashes for torchio-0.17.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9e88826621a9c4684d0648154cbafea07d768b23ff68f261ccae4457c4b35679
MD5 8eb07f120f9b50d7df0ea7b3c64d4f66
BLAKE2b-256 9831c23325907ab30cefa17fa7134aa92a0dea2be627a530197e34b4c16a60bd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page