Simulate mr noise and patient related artifacts in slicer

is there a way to simulate image noise in MR images using slicer? Is it possible to simulate patient movement?

I found in the simple itk filters “add gaussian noise” but i’m not sure this could be appropriate, for patient movement artifact i didn’t find any references

Thank you!

Giorgio

Lots of kinds of noise and artifacts may appear on MRI images. I don’t think there is any simulator readily available as a Slicer module. If you want to have something simple, such as simulating Rician Noise then you can easily add it using a few lines of Python code in Slicer (see example here). If you want to do generate more sophisticated noise or artifacts then you try various MRI simulators (there must be ones implemented in Python that you can use directly in Slicer).

To add simulated distortion (e.g., due to soft-tissue motion) then a simple method is to create a warping transform by prescribing displacements at selected control points. See complete example here. Hardening of the transform using this example script does not work in latest Slicer Preview Release, but I’ve already fixed the issue and it will work in tomorrow’s version.

1 Like

In addition to what @lassoan said, you might look into torchio library that implemented a number of MR artifacts, including ones you’re interested in. You should be able to use it within Slicer with a Python snippet, extending the “Add noise to image” example.

3 Likes

thank you very much @lassoan and @JanWitowski for your useful replies. I’ll try the solution you posted