After running dwidenoise I usually change the first B0 of my data for a B0 without movement (I work with neonates). I have a project where this change was done before running dwidenoise. I just noticed that the results are slightly different (really a minor differnce), this suprised me, I was expecting to be identical. Do you know what could be the cause?
You are right that MP-PCA should not be affected by the order of volumes in the scan. Nevertheless, small differences can arise due to numerical precision. I think the eigenvalues are estimated to a precision of sqrt(eps). However, denoising truncates the spectrum, so if the number of selected signal components changes you can get localised differences larger than the numerical precision.
dwidenoise are by default done in single precision (float32). There is an option to run the eigenvalue decomposition in double precision. If you try this on both the original and reordered datasets, the difference should be smaller than they were in single precision.
I just checked your suggestion and you were right. With float64 I can not see any differences.
I was processing the data with an older version, so I had to use the new one for doing this experiments. Having said that, the differences in the older version were very small, it was smaller than running the same command line with the old and the new version.
Thanks for letting us know; that’s reassuring.