torchio
torchio copied to clipboard
Standardize Axes in Random Transforms. Add Random Axis to RandomMotion
Fixes #81
Description
This pull request standardizes the use of axes in random transforms. It also adds random axes options in the RandomMotion
transform. Includes the following changes:
- Update
to_tuple
to see strings as singular values (this also required adding number of changes to checks for strings in areas where numbers are necessary). Tests all pass. - Add
parse_axes
andensure_axes_indices
to baseTransform
class. Standardizes the use of axes in all transforms. Capable of accepting integer and specific string axis values. This is now used inRandomFlip
,RandomMotion
,RandomGhosting
,RandomAnisotropy
. Tests were added to check these additional axis values. - Added a random axis parameter to
RandomMotion
. This now works properly on 2D images and can apply motion to any axis of 3D images. Also removed redundant change between matrix and transform.
Checklist
- [x] I have read the
CONTRIBUTING
docs and have a developer setup (especially important arepre-commit
andpytest
) - [ ] Non-breaking change (would not break existing functionality)
- [x] Breaking change (would cause existing functionality to change)
- [x] Tests added or modified to cover the changes
- [x] Integration tests passed locally by running
pytest
- [x] In-line docstrings updated
- [x] Documentation updated, tested running
make html
inside thedocs/
folder - [x] This pull request is ready to be reviewed