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.
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).
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?
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?