SDC in fmriprep

I’m working with a dataset that has gradient echo functional runs and two reverse-PE spin echo images that I’d like to use TOPUP in fmriprep. The voxel geometry and angulation is the same for the GE and SE sequences, but there are some other differences between the protocols. From looking at other posts, it seems that totalreadouttime is important to hold constant. The totalreadouttime for my SE images is 0.0265349 and the totalreadouttime for my GE images is 0.0269699.

SDC appears to work correctly in fmriprep on these data, Does the small difference in totalreadouttime make SDC inappropriate? I’ve pasted links for the .json files created by dcm2niix for both sequences below because there are other differences like TR / TE also. Is there anything else that I should check to make sure SDC is appropriate?

SE A>P Phase Encoding

SE P>A Phase Encoding

BOLD data


I would guess that sub-millisecond changes in TRT are going to have pretty minimal effect. In any case, what you need is the TRT for the fieldmap images in order to get a fieldmap estimate in Hz, and then the TRT for the BOLD series to be corrected to multiply by the fieldmap in order to get a voxel shift map. It’s not algorithmically necessary for these to be the same, but I would assume you’ll get best results by keeping these close.

Definitely not an expert on this topic.

I just wanted to add, that there are some information in the HCP documentation (p. 37) on which parameter should match between fMRI and spin-echo sequences (

You should then create a SE-EPI protocol matched in resolution, FOV, matrix size,
bandwidth, and echo spacing to what you’ll use for your fMRI acquisitions (i.e., your
gradient-echo EPI protocol). TR/TE doesn’t have to match.