Suggestions on using fieldmap to correct susceptibility distortion for muliple BOLD runs


May I ask for your suggestions on using the fieldmap for susceptibility distortion correction? We have multiple BOLD runs in one scan session followed by only one fieldmap scan at the very end (Siemens 3T). Do you think I should use the fieldmap to correct susceptibility for all BOLD runs or it might even make things worse? My main concern is: our scan is long ~1.5h separated by 5-10 runs such that participants could take a bit of rest between runs. Then the fieldmap acquired at the end of the session may not be guaranteed to be well aligned with each run, and I am not sure how different the fieldmap could be if the participant moves the head a bit between runs. Based on this link GE Processing - CNI Wiki, it seems the optimal way to use the fieldmap is to sandwich it with EPI runs.

  1. Then, proceed to collect your actual data by sandwiching EPI runs within fieldmap acquisitions, like F1 / E1 / F2 / E2 / F3 / E3 / F4. This ensures that you have a good estimate of the field throughout all of the EPI data.

If it is not recommended to use fieldmap for SDC, are there any other ways to do it in fmriprep? I noticed there are several updates related to SDC recently, I was using 20.2.5, do you think it is worth updating to 21.0.2 for better SDC? Thanks a lot.


You can always try your fieldmap for a subject and see what the results look like. If it doesn’t look good, you can try the fieldmapless SDC approach using the arguments --use-syn-sdc --force-syn.

Yes, you should update to 21.0.2 (or try out 22.0.0RC0).


1 Like

Thanks @Steven, then should I always set --use-syn-sdc such that it will run SyN-based SDC when no filedmap is given and use filedmap if there is one? I understand a visual inspection of SDC results is necessary, but can I assume the performance of fieldmap based SDC >= SyN-based SDC > no correction?

Whatever strategy you use, you should use for every scan in your study, or else that may introduce a bias.

Depends on the fieldmap, but usually that’s the case.

Thanks, one last question, since each of our participants has a different total number of runs, in the “intended for” field of fieldmap tag, can I just simply put a vector containing all possible run IDs? For instance, the maximum number of runs across all participants is 10, so I just put run01, …run10, then fmriprep will automatically avoid extra ones in case one participant only have 5 runs?

You might get an error saying that a file listed in the intendedfor field points to something that doesn’t exist.

1 Like

Ok, I will try and see how it goes. Thanks again.