nipy / dmriprep

MOVED TO https://github.com/nipreps/dmriprep
Other
17 stars 11 forks source link

ENH: Optional preprocessing steps for denoising, unringing and upsampling #62

Open josephmje opened 5 years ago

josephmje commented 5 years ago

I'm relatively new to dwi preprocessing. Would adding the following steps (added the mrtrix commands) as optional steps before eddy be useful?

arokem commented 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.

josephmje commented 5 years ago

Thank you @arokem . I'll keep thinking about how to QC these and look at the dipy implementations for denoising and resampling.

araikes commented 5 years ago

@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.