-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Is your feature request related to a problem? Please describe.
Until now we are using MONAI for our training pipeline and torchio for data augmentations (offline preprocessed).
The data augmentations torchio provides are very medically relevant.
Their documentation, naming of the augmentations and the visual examples are very helpful.
We struggled finding equivalent methods in MONAI and even when we did, we were not certain that these are actually the same methods.
We therefore never bothered using MONAI for data augmentations.
We would like to replace torchio with MONAI to further reduce our dependencies.
Describe the solution you'd like
- We wish that MONAI would provide the same transformations as torchio does.
- We also wish that MONAI provides a equally good documentation and uses medical terms for naming for these transforms.
- MONAI should add visual examples for these transforms (in the form of GIFs if possible)
While this issue is meant as a feature request, I see that it has a wide scope. It is also a question in that I might just not see the equivalents.
Let's see were MONAI currently is. I will to try find the equivalent transforms of both packages.
| torchio | MONAI |
|---|---|
| RandomAnisotropy | Downsampling + Upsampling with Spacing |
| RandomBlur | RandGaussianSmooth |
| RandomFlip | RandFlip |
| RandomNoise | RandGaussianNoise |
| RandomAffine | RandAffine |
| RandomElasticDeformation | Rand3DElastic |
| RandomBiasField | RandBiasField |
| RandomMotion | ? |
| RandomSpike | RandKSpaceSpikeNoise |
| RandomGhosting | ? |
| RandomGamma | RandAdjustContrast |
| RandomSwap | ? |
Having visual examples in the documentation of the transforms would really help.
Other open issues on data augmentations I could find:
- Monai equivalent to tio.OneOf transform? (ETA 8/13) #1847
- GridDistortion data augmentation #2186
- Augmentation Transform | InCut & OutCut Dropping (ETA 08/27/21) #2707
- Augmentation Transform | Patch Shuffling (ETA 8/27) #2701
- histogram equalisation transform? #2691
- RandFlip operates on all axes or none #2245
- random plane sampling transform #1993
I would like to collect all task which are needed for MONAI to match torchio on its documentation and transforms.
The following tasks will be necessary to match torchio:
- Implement
RandAnisotropysimilar to RandomAnisotropy. This should be implemented with a sequential down and up sampling via Spacing. - Implement a
RandMotionsimilar to RandomMotion. See also MRI k-Space Motion Artefact Augmentation: Model Robustness and Task-Specific Uncertainty. - Implement a
RandPatchSwapsimilar to RandomSwap. Coordinate with Augmentation Transform | Patch Shuffling (ETA 8/27) #2701 where aRandPatchShuffleis proposed. - Implement a
RandGhostingsimilar to . See also Ghost Artifacts - Why do motion artifacts often form into discrete ghosts? - Add example images to documentation of transforms (especially the augmentation transforms). If possible create GIFs like it is done in torchio (see above).
