Topup distortion correction for phase+magnitude DWI data

Dear NeuroStars’ers,

I am running FSL’s topup for distortion correction of some diffusion-weightd MRI dataset. Specifically, most of the data was acquired at the AP phase encoding direction, and several b0 images were collected at the opposite PA phase encoding direction.

Since all the data was reconstructed with magnitude+phase images, I wanted your advice on whether the following sounds sensible:

  1. Convert the separate magnitude+phase images to complex images (making sure that the phase data is in [0,2*pi] interval).
  2. Denoise each phase encoding direction separately using Marchenko-Pastur PCA (specifically, MRTrix’s dwidenoise).
  3. Concatenate the denoised b0 images at the PA phase encoding direction and the main AP data.
  4. Run topup.

Any feedback would be most welcome!
Many thanks,


I have no answer myself, but I saw this topic discussed in several places:

1 Like

My first thought is that you should run topup on the magnitude data and then use applytopup on the phase images. Does that make sense? (Also pinging @mattcieslak, who might have ideas)

I’m also wondering- what will you use the phase data for? I am familiar with using the phase data with dwidenoise, but I didn’t realize it was useful for DWI data outside of that.

1 Like

Thank you for these useful links, @jsein!
@tsalo, you’re absolutely right. I’m actually only using the phase data for the dwidenoise step, nothing more.

In that case, ignore my initial advice. You can run dwidenoise before distortion correction. FWIW, QSIPrep will now apply complex-valued MP-PCA when the phase data are available.

1 Like