Open josephmje opened 5 years ago
I think that all of these are potentially useful in one way or another.
In order of (my) preference:
Unringing is definitely useful, especially if the data is then going into models that are sensitive to ringing artifacts (e.g., DKI).
Denoising also useful. There are a few ways to go here -- the implementation in mrtrix looks useful, and there are other options implemented in dipy: both local PCA, as well as NLMeans denoising.
For both of these, we'd need to think a little bit more about how this interacts with eddy. I am not 100% sure that they don't break some of the assumptions that eddy makes.
I would not upsample DWI data, but resampling can sometimes be useful. For example, if you worry about anisotropic voxel dimensions. I would use dipy to do that, though, to reduce the non-Python dependency.
For each of these, we'd need to also think of useful diagnostic visualizations to show the user.
Thank you @arokem . I'll keep thinking about how to QC these and look at the dipy implementations for denoising and resampling.
@arokem FWIW, the Mrtrix processing steps, including as implemented in the bids/mrtrix3_connectome Docker (Rob Smith from Mrtrix is the package maintainer) as well as this guide (https://osf.io/fkyht/) recommend both denoising and unringing prior to eddy.
I'm relatively new to dwi preprocessing. Would adding the following steps (added the mrtrix commands) as optional steps before eddy be useful?
dwidenoise
)mrdegibbs
)mrresize
)