Denoising and unringing before eddy



I have seen multiple times in FSL forum that folks recommended to not use any denoising before applying the eddyas this interferes with the how the eddy works. I wanted to know how important is denoising and unringing in fixel-based analysis?



I haven’t heard about this… Can you post a link to such a recommendation? I’d like to see exactly what the issues are here. I expect this recommendation applies to specific types of denoising that may introduce various biases. As far as I can tell, the MP-PCA method included in dwidenoise does not introduce bias, I don’t think there’s much scope for it to somehow interfere with eddy – there’s certainly not been any reports of this here to date…


I am copying part of a post from Jesper Andersson on FSL forum:

  1. You should not denoise data before running eddy. The artificial nature of denoised data means that the gaussian process that is at the heart of eddy sometimes/often fail to find reasonable hyperparameters for data that has been denoised. Sometimes this results in suboptimal parameters that means that the motion/distortion correction is suboptimal. Sometimes it results in an infinite loop in the search for that hyperparameters, which I would guess is what has happened here.
    I don’t know the details about the denoising you use, but I would also not be surprised if the denoising works suboptimally when there are motion and dropouts in your data. Which would be another reason to do it after eddy, if at all.



Yes, that sounds reasonable if the denoising technique used introduces artificial structure that wasn’t there before. This more or less matches what I suspected above. There are plenty of denoising methods out there that produce clean-looking DW images, but destroy or introduce unexpected angular structure. I’ve not tested any of them personally, but I’d expect this would apply to techniques like non-local means or total variation (which I think Jelle Veraart showed in his MP-PCA paper).

Given what Jesper says here, it sounds like when it’s a problem, it’s an outright failure. So I’d recommend keeping an eye on it if you’re worried, but given that we’ve never had a report of a problem with our denoising so far, I don’t expect it’s a problem…


Hi Mahmoud,

Just adding to what Donald said, I want to point out that MP-PCA denoising paper specifically recommends using denoising at the first step of the pipeline (link). A good explanation is given in this paper from the same group:

It is important that the denoising step is the first stage of the pipeline as it relies on noise being uncorrelated both spatially and among successive acquisitions (in the dMRI case, in q-space). Performing this step after processing steps that use interpolation to reconstruct images would result in correlated noise and failure of the basic assumptions underlying the random matrix theory-based approach to PCA denoising.

Unless you are encountering unexpected issues, I would thus recommend sticking to the recommendation of the paper.

W.r.t. specific points in Jesper’s comment:

  • As MP-PCA will only suppress white, uncorrelated noise, the output should never be of “artificial nature” (you can check this in the denoising residuals). I see no theoretical reason why this should be incompatible with the Gaussian process regression in eddy, but is is of course possible that eddy makes certain default assumptions about the expected SNR.
  • The point about motion effects on denoising is true, any loss of redundancy in the input data by motion and slice dropouts would result in less denoised data. However, first correcting motion introduces noise correlations that will also reduce the capacity to denoise, as explained in the quote.



Thanks for your response, Daan.
In our dataset, each subject has dMRI data comprised of two shells acquired in opposite PE in the same session.
Should I do denoising and Gibbs ringing correction for each PE separately or I can concatenate them and then do denoising and Gibbs ringing correction?


This is a tricky issue, and discussed in this thread – personally I’d concatenate and see what happens, but inspect the results very closely, particularly the residuals of dwidenoise.