Purpose
The purpose of the ivadomed
project is to:
Provide researchers with an open-source framework for training deep learning models for applications in medical imaging;
Provide ready-to-use Pre-trained models trained on multi-center data.
Comparison with other projects
We acknowledge the existence of projects with similar purposes. The table below compares some features across some of the existing projects. This table was mostly based on the existing documentation for each project. We understand that the field is rapidly evolving, and that this table might reflect the reality. If you notice inconsistencies, please let us know by opening an issue.
Feature |
||||||||||
BIDS (1) |
✔ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✔ |
✗ |
✗ |
DL base library |
PyTorch |
PyTorch |
PyTorch, TF |
PyTorch |
TF/Keras |
TF |
TF/Keras |
PyTorch |
TF/Keras |
TF |
Task (2) |
Class, Seg, Detect |
Seg, Class |
Class, Gen, Seg |
Detect |
Class, Seg, Clust, Reg |
Class, Seg, Reg |
Seg |
Class, Seg |
Seg |
Reg |
Data dimension |
2D, 3D |
2D, 3D |
2D, 3D |
2D, 3D |
2D, 3D |
3D |
2D, 3D |
3D |
2D, 3D |
2D, 3D |
Multichannel |
✔ |
✔ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✔ |
Multilabel |
✔ |
✔ |
✗ |
✗ |
✔ |
✔ |
✔ |
✗ |
✗ |
✔ |
Uncertainty |
✔ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
Transfer Learning |
✔ |
✗ |
✔ |
✗ |
✗ |
✔ |
✗ |
✗ |
✗ |
✗ |
Pre-processing tools |
✔ |
✔ |
✗ |
✗ |
✗ |
✗ |
✔ |
✗ |
✔ |
✔ |
Post-processing tools |
✔ |
✗ |
✗ |
✗ |
✗ |
✗ |
✔ |
✗ |
✔ |
✔ |
User case examples |
✔ |
✔ |
✔ |
✗ |
✔ |
✔ |
✗ |
✔ |
✔ |
✔ |
Multi-GPU data parallelism |
✗ |
✔ |
✔ |
✗ |
✗ |
✗ |
✔ |
✔ |
✗ |
✗ |
Model evaluation |
✔ |
✔ |
✗ |
✔ |
✗ |
✗ |
✔ |
✗ |
✗ |
✔ |
Input region of interest |
✔ |
✔ |
✗ |
✔ |
✗ |
✗ |
✗ |
✔ |
✗ |
✔ |
Missing modality |
✔ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✔ |
Models comparison |
✔ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✔ |
Hyperparam optimisation |
✔ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✔ |
✗ |
✔ |
Multi-center models |
✔ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✗ |
✔ |
✗ |
(1): “BIDS” stands for the Brain Imaging Data Structure, which is a convention initiated by the neuroimaging community to organize datasets (filenames, metadata, etc.). This facilitates the sharing of datasets and minimizes the burden of organizing datasets for training.
(2): Class: Classification | Seg: Segmentation | Detect: Detection | Gen: Generation | Clust: Clustering | Reg: Registration