FMRIPREP: Susceptibility distortion/Fieldmap problems


I was just running FMRIPrep on my data and all is working fine as long I do not realized the fieldmap correction. Here is an example output:

First I expected the correction did not work since my phase data was stored from -2pi to +2pi but I know also tryed 0 to +4pi and 0 to +2pi. Unfortunately I could not find a description how the field map data should be coded.

here is also the phase image and the corresponding .json file:

Would be great if someone could help out here.

Best wishes,

I’m guessing that your IntendedFor fields shouldn’t include a / before func/....

ok, I will look at that but when remove the IntendedFor fields it is nicely done but without fielmap correction.

Couple of things:

  1. Make sure the validator runs on your input data without warnings and errors:
  2. When in doubt consult the specification. Especially section 8.5.5
1 Like

For future reference if your dataset includes fieldmaps, but FMRIPREP report says Susceptibility distortion correction: None in the Functional Summary it probably means there is an issue with IntendedFor. The validator should catch such issues, but if it doesn’t let us know. We’ll fix it.

Thanks for the comments, the issue unfortunately is not resolved.

sorry for being unspecific here, the example in the pdf has 4 functional runs for two no fieldmap correction was applied but the later two phase difference correction was applied. I did this to show how the results change when I apply the correction.

Since yesterday I once more ran the analysis without the slash … no change. It seems that the slash does not influence the preprocessing. Still the validator gives an error when the slash is present.

In terms of the BIDS spec. I checked back at which applies to my dataset and did not find any mismatch.

Thanks in advance

Hi @bgagl,

I looked at your _phasediff files and they look okay. The IntendedFor field looks odd, though:

 'IntendedFor': ['/func/sub-AKA01_task-C_run-1_bold.nii.gz',

Basically, this is selecting only runs of task C. If you add your two runs of task A here, then you’ll get the SDC working for them.

Then, there is the issue of those horrible results for the two runs of task C. To debug that, could you share the contents of your task-C_bold.json files? Basically, first thing I’d do is checking whether the EffectiveEchoSpacing associated to your BOLD files is specified in seconds (rather than milliseconds).

Hi all,

Thanks for the great and fast help, the problem is now resolved.

Here a quick summary:

#Susceptibility correction resulted in “horrible results”:

-> solve was related to the EffectiveEchoSpacing parameter of the associated BOLD files (check if there is a conversion error)

#For the developers: for this analysis the / prior /func did not prevent the fieldmap correction but was identified as error from the BIDS validator.

Thanks once more and best wishes,

1 Like

So what was wrong with your original EffectiveEchoSpacing parameter and how did you fix this?

It was a transformation error. I was using 0.05 instead of using 0.0005. Which was a result of mixed information from different sources. Now I know whom to trust.

Thanks for reporting. We’ll try to make the validator catch such cases in the future: