dwifslpreproc superior to using eddy and topup with FSL

Hi all,

I know dwifslpreproc is using topup and eddy from FSL, but I am very interested to know if there a difference between using dwifslpreproc with MRtrix or using topup and eddy with FSL? Does dwiflspreproc perform extra processing steps besides topup and eddy?

Which method would you recommend? Are there situations it is better to use the other method?

Thanks in advance!

Dear @remsON,


dwifslpreproc is merely a wrapper script that prepares the data for topup and eddy based on the input provided by the user, as well as performing some post-processing tasks. As far as I know, there should be no difference if you process through dwifslpreproc or if you prepare the data manually and identically.

There might be some specific cases where dwifslpreproc doesn’t not yet have the functionality you need, and then manually running topup and eddy would be the way to go.


1 Like

Hi @remsON,

Over and above the “interface simplification / automation” that dwifslpreproc provides (or at least claims to), the only time at which the outcomes of dwifslpreproc and manual execution of topup / eddy should deviate (assuming all other parameters are equivalent / correct) would be:

  • Images with an odd number of voxels in any spatial axis. dwifslpreproc applies image padding to alleviate a topup limitation in such cases, whereas without such, the advice is to use a different topup config file, and that may change the field estimate slightly;

  • Datasets where all DWIs were acquired with opposing phase encoding directions, since dwifslpreproc uses a different method for recombining those matched volumes in the output image.


1 Like