Hi,
You raise an interesting question here: how to tweak fmriprep to make it use SynBOLD-DISCO without knowing it?
From the top of my head, I see a couple of options that could be interesting to test to see if that could work:
-
feed FMRIPREP with the undistorded, motion corrected
BOLD_u.nii.gz
(4D timeserie corrected by SynBOLD-DISCO) and tell fmriprep to not run SDC (susceptibility distortion correction) on this data. That would work, but with the disadvantage of interpolating twice (= more smoothing) the data (once with SynBOLD-DISCO and once with fmriprep). Also motion correction will be done twice in that case: once with SynBOLD-DISCO and once with FMRIPREP, so you could not use the motion parameters calculated by fmriprep but instead need to use the motion parameters from Syn-BOLD-DISCO for your GLM and motion outliers. Or you could try to not run motion correction with SynB0-DISCO but I guess that would affect the accuracy of SDC with SynB0-DISCO. -
Feed FMRIPREP with the native BOLD image and give in the
fmap/
folder:BOLD_s_3D.nii.gz
andBOLD_d_3D_smooth.nii.gz
images as being the blip-up and blip-down images to be used with the PEPOLAR method. The PEPOLAR method is callingtopup
, as does SynBOLD-DISCO, but I am not sure if SDCFlows (used by FMRIPREP for SDC) would understand how to fill correctly the acquisition parameters file fortopup
in that case. -
Feed FMRIPREP with the native BOLD image and give in the
fmap/
folder: the fieldmap in Hz and undistorded magnitude image generated by topup run by SYNB0-DISCO. In that case FMRIPREP would use the Direct B0 mapping method for SDC. That could work! To be tested.
EDIT: for the last method, SynBOLD-DISCO does not output a fieldmap from topup
, one would need to run topup again with the output of SynBOLD-DISCO with the option --fout
and giving in acqparams.txt the correct value for the total readout time of the bold serie. To be tested, I am not sure it will work.