This has actually changed as of fMRIPrep 21.0. What’s new is that we now combine the distortions estimated from multiple BOLD files to estimate a fieldmap, which we then apply. This can only be done if the total readout times (TRT) are the same, otherwise the susceptibility distortions induced in the BOLD series will be different and need to be estimated separately.
Note TRT can be directly encoded or we can calculate it from other metadata.
SyN-SDC uses the anatomical image to estimate a voxel displacement map, which we turn into a fieldmap estimate with fieldmap = displacment / TRT. When we apply, displacement = fieldmap * TRT, so the TRT can be anything non-zero without inducing distortion (outside floating point error).
Therefore, if you don’t know TRT, you can set TRT to encode your intention. Each (subject, TRT) combination will produce a single fieldmap that will correct matching BOLD files, so you can set multiple BOLD series to the same TRT if you want an average fieldmap, or different if you want a separate estimation per series.
I recognize this isn’t ideal from the perspective of only adding true metadata in your dataset. In the future, our preference in ambiguous situations will be to allow users to use sdcflows as a standalone tool to perform estimation and pass the pre-estimated fieldmaps as additional inputs to fMRIPRep.