Using reverse phase encoded B0s (DWI) for fMRIprep distortion correction?

Summary of what happened:

Hello everyone,

I am using fMRIprep to preprocess our study’s rs-fMRI and structural images. We did not acquire fieldmaps or reverse-PE BOLD runs, but we do have reverse phase encoded B0s (one A-P, und P-A) for the DWI acquisition. I was wondering if there is a way (and if it would be advisable) to use this information or DWI preprocessing outputs (such as FSL TOPUP’s topup_field) for (non-synthetic) distortion correction of the rs-fMRI images.

SDC did work on the data, but the images still look more distorted than I would like and so if possible I would like to at least try using the acquired data instead of the estimation if possible with what I have available

I would be very grateful for any help or advice!

Best,
Jil

Command used (and if a helper script was used, a link to the helper script or the command generated):

(current fMRIprep call with synthetic distortion correction; only part of script shown)

#-----------------------------------------------------------------------------------
docker run --rm \
    -v "${BIDS}:/data:ro" \
    -v "${OUT}:/out" \
    -v "${WORK}:/work" \
    -v "${TEMPLATEFLOW}:/templateflow:ro" \
    -e TEMPLATEFLOW_HOME=/templateflow \
    "${IMG}" \
    /data /out participant \
    --participant-label "${SUB}" \
    --work-dir /work \
    --output-spaces MNI152NLin2009cAsym fsaverage5 T1w \
    --skull-strip-template MNI152NLin2009cAsym \
    --fs-license-file "${FS_LICENSE}" \
    --use-syn-sdc \
    --nthreads "${NTHREADS}" \
    --omp-nthreads "${OMP}" \
    --mem_mb "${MEM_MB}"
#-----------------------------------------------------------------------------------

Version:

fMRIprep 25.1.1.

Environment (Docker, Singularity / Apptainer, custom installation):

Docker container

Data formatted according to a validatable standard? Please provide the output of the validator:

fMRIprep relevant data is BIDS formatted and validated (anat and func); dwi folder is currently in .bidsignore as the contained b0 files were not agreeing with the BIDS validator.

PASTE VALIDATOR OUTPUT HERE

Relevant log outputs (up to 20 lines):

PASTE LOG OUTPUT HERE

Screenshots / relevant information:


Hi @jw-research and welcome to neurostars!

In this case you might be better off using something like SynBOLD-DisCo to synthesize a field map.

Best,
Steven