Using --use-syn-sdc with FieldMap Data

Good Morning,

In my fmriprep command I’ve been using --use-syn-sdc and --force-syn, even though my data contains spin echo field maps. The documentation states that --use-syn-sdc uses " fieldmap-free distortion correction", so is this a redundant flag option for those who are using fieldmaps for SDC (i.e. not specifying --ignore fieldmaps)?


So jsut to be clear, --use-syn-sdc allows SyN-based SDC to be run at all, i.e., adds it to the bottom of the SDC-methods-to-try list. If any fieldmaps are available, they’ll take precedence. --ignore fieldmaps will effectively remove everything else from that list, and thus --use-syn-sdc --ignore fieldmaps will do just that: SyN-based SDC, ignoring fieldmaps.

--force-syn means we will always run it. This is a debugging option, and is only useful if you want to compare the quality of SyN-SDC and that of the fieldmap-based SDC, as you’ll get reports for both methods. But if you do have fieldmaps, the final result will not be affected. They’ll still be based on the fieldmaps.

1 Like

Hi @effigies, could you please confirm if this is still true in the latest fmriprep version (21.0.2 or 22.0.0rc) and my understanding of these SDC options? Let’s say I would like to compare SyN- and fieldmap-based corrections just for learning purposes, I could simply only set --force-syn and after visualizing a few tens of reports, I may get a better understanding of how these methods work on my dataset. On the other hand, I don’t have to relaunch fmriprep, since even when --force-syn is specified, SDC is still done by prioritizing the filedmap. So in the end, the only difference of --use-syn-sdc and --force-syn is that the latter takes more time to run, but the results on the same dataset should be “identical”. Thanks a lot.

@zcai Yes, it is still the case that --use-syn-sdc is lower priority than fieldmaps, and so the main difference with --force-syn (if you have fieldmaps) should be that --force-syn takes longer but produces additional reports. That said, I haven’t tested this in some time, as I haven’t been debugging this workflow. --force-syn is not really intended for end-users.

1 Like

Related question - I ran fmriprep version 21.0.2 on a dataset that has fieldmaps present but wanted to ignore them and only run SyN. In my call I had --ignore fieldmaps and --use-syn-sdc, but from the report it looks like SyN wasn’t run - it says “Susceptibility distortion correction: None” and there are no images related to it. The log says “Option “–ignore fieldmaps” was set, but either “–use-syn-sdc” or “–force-syn” were given, so fieldmap-less estimation will be executed.”, but other than that I don’t see anything in the output log that is different from when I simply do --ignore fieldmaps. Is this expected behavior?