Spike (Herringbone) artifact transform#2337
Conversation
Signed-off-by: Yaniel Cabrera <[email protected]>
Signed-off-by: Yaniel Cabrera <[email protected]>
Signed-off-by: Yaniel Cabrera <[email protected]>
Signed-off-by: Yaniel Cabrera <[email protected]>
Signed-off-by: Yaniel Cabrera <[email protected]>
Signed-off-by: Yaniel Cabrera <[email protected]>
|
Hi @yanielc , Thanks for your implementation of this new transform. I have 2 minor comments:
Thanks. |
Hi @Nic-Ma, I plan to add the dictionary style versions in this pull request as well. I just wanted to get some feedback before adding them all. I will add the four transforms to the documentation pages. Thanks. |
Signed-off-by: Yaniel Cabrera <[email protected]>
Signed-off-by: Yaniel Cabrera <[email protected]>
Signed-off-by: Yaniel Cabrera <[email protected]>
Signed-off-by: Yaniel Cabrera <[email protected]>
Signed-off-by: Yaniel Cabrera <[email protected]>
Signed-off-by: Yaniel Cabrera <[email protected]>
|
There are a few transforms now that operate in k-space (including your previous Gibbs transform). Do you think you could abstract out the FFT and iFFT to a common function to reduce code duplication? You may also remember that in your Gibbs PR, you originally used torch for the FFT/iFFT, but I recommended that we switch to numpy because the functionality didn't exist in older versions of PT. I've since learnt that elsewhere in MONAI (e.g., HilbertTransform), we use the torch version and then in the testing, we skip if the functionality isn't present. Might be worth bearing in mind if we unify all FFT/iFFT functionality. |
Signed-off-by: Yaniel Cabrera <[email protected]>
I was thinking the same about a possible super class for the Fourier transforms. I would not mind writing the code and rewriting the Gibbs and Spikes transforms to inherit from the new class. To compartmentalize the work more, can I make those changes on a different pull request right after this PR is done? Thanks for the heads up on skipping the functionality option for the older Pytorch tests. |
|
Hi @Nic-Ma and other reviewers, just letting you know that the PR is ready for review. |
Signed-off-by: Wenqi Li <[email protected]>
wyli
left a comment
There was a problem hiding this comment.
thanks! (sorry for the delay)
Description
Implementation of a transform to apply k-space spike artifacts on MRI images. Two versions of the transform were added to the transforms/intensity/array.py file: a deterministic and a random version which serves as a naturalistic data augmentation tool.
Spike artifacts is one of the types of artifacts which appear naturally during data acquisition. More information can be found in these two sources:
AAPM/RSNA physics tutorial for residents: fundamental physics of MR imaging.
Body MRI artifacts in clinical practice: A physicist's and radiologist's perspective.
I can add the dictionary-style counterparts as well.[update: this is now in place]Example of application on brain MRI images:
Status
ready
Types of changes
./runtests.sh -f -u --net --coverage../runtests.sh --quick --unittests.make htmlcommand in thedocs/folder.