Utilize TOPUP fieldmap data into fMRIprep

Hi all,

I’ve been struggling lately using fMRIprep 23.# for susceptibility distortion correction (SDC) on both with and without fieldmap data. It seems that it is also an issue in these releases: Susceptibility distortion correction introduces distortion · Issue #3013 · nipreps/fmriprep · GitHub and `validate_nii` node failing when using SYN SDC · Issue #3046 · nipreps/fmriprep · GitHub. After several tries, I realized that it can be due to incorrect TOPUP estimation for some known (such as anatomically wrong synthetic magnitude image) or unknown reasons.

Is there a way to utilize TOPUP outputs such as fieldcoef in the pipeline and --ignore SDC?


Hi @AmirHussein , welcome to Neurostars!

For future software-related issues, please fill out the post template that asks for information that can help us debug your issue.

Could you specify the following items so we can best see what is going wrong for your dataset?

  • is you dataset valid according to the BIDS validator?
  • Which is the command you use to launch fmriprep?
  • Which king of fieldmap was used by fmriprep during your trials? Did you specify their link to the functional images with IntendedFor or B0FieldIdentifier/ 'B0FieldSource`?

These issues are related to the phase-difference fieldmap method. Is this the method that is present in your dataset? In that case topup will not be used, as topup is used for the PePolar method.

As far as I can see, fMRIPrep uses no susceptibility-derived distortion correction (phase-difference or pepolar) at all!

That is what I found on the fMRIPrep’s readthedocs:
“Please note that all routines for susceptibility-derived distortion correction have been excised off of fMRIPrep

Hi @tiborauer,

This is just saying that the development of SDC routines is no longer in the fMRIPrep repo. fMRIPrep still very much does SDC, but does so by invoking another software SDCFlows. This is similar to the anatomical workflow, which is done by calling another external software, sMRIPrep.


Thank you, @Steven!

I am using the docker version 23.0.2 (because I want ICA-AROMA). Does it means SDCFlows (and sMRIPrep) is also bundled in it?

Yes, the software containers contain all dependencies needed to run fMRIPrep.

1 Like

Also, going back to the original question:
Can fMRIPrep use topup fieldmaps for SDC?

Yes it is able to. .

1 Like

Brilliant! Thank you, @Steven!

Or rather, let me clarify, fMRIPrep can run topup for you, using fieldmaps you acquire. Running topup beforehand is more tricky. Were you referring to using topup within or outside of fmriprep?

Sorry for the confusion! I meant using pepolar fieldmap, i.e., running top-up and subsequent SDC within fMRIPrep.

Hi all,

Thanks for the comments. Realized that there is another thread exactly looking into what I am trying to achieve: Using SynBOLD for fMRIprep.