I’ve been struggling lately using fMRIprep 23.# for susceptibility distortion correction (SDC) on both with and without fieldmap data. It seems that it is also an issue in these releases:
Susceptibility distortion correction introduces distortion · Issue #3013 · nipreps/fmriprep · GitHub and `validate_nii` node failing when using SYN SDC · Issue #3046 · nipreps/fmriprep · GitHub. After several tries, I realized that it can be due to incorrect TOPUP estimation for some known (such as anatomically wrong synthetic magnitude image) or unknown reasons.
Is there a way to utilize TOPUP outputs such as fieldcoef in the pipeline and --ignore SDC?
@AmirHussein , welcome to Neurostars!
For future software-related issues, please fill out the post template that asks for information that can help us debug your issue.
Could you specify the following items so we can best see what is going wrong for your dataset?
is you dataset valid according to the BIDS validator?
Which is the command you use to launch fmriprep?
Which king of fieldmap was used by fmriprep during your trials? Did you specify their link to the functional images with
These issues are related to the
. Is this the method that is present in your dataset? In that case topup will not be used, as topup is used for the
phase-difference fieldmap method
As far as I can see, fMRIPrep uses no susceptibility-derived distortion correction (phase-difference or pepolar) at all!
That is what I found on the fMRIPrep’s readthedocs:
“Please note that all routines for susceptibility-derived distortion correction have been excised off of fMRIPrep”
This is just saying that the development of SDC routines is no longer in the fMRIPrep repo. fMRIPrep still very much does SDC, but does so by invoking another software
SDCFlows. This is similar to the anatomical workflow, which is done by calling another external software, sMRIPrep.
I am using the docker version 23.0.2 (because I want ICA-AROMA). Does it means SDCFlows (and sMRIPrep) is also bundled in it?
Yes, the software containers contain all dependencies needed to run fMRIPrep.
Also, going back to the original question:
Can fMRIPrep use topup fieldmaps for SDC?
Brilliant! Thank you,
Or rather, let me clarify, fMRIPrep can run topup for you, using fieldmaps you acquire. Running topup beforehand is more tricky. Were you referring to using topup within or outside of fmriprep?
Sorry for the confusion! I meant using pepolar fieldmap, i.e., running top-up and subsequent SDC within fMRIPrep.
Thanks for the comments. Realized that there is another thread exactly looking into what I am trying to achieve: Using SynBOLD for fMRIprep.
Thanks to all the contributors to this interesting and useful thread! I have tried fmriprep23.# for a couple of fMRI runs either using its fieldmap-less or with fieldmap susceptibility distortion correction on a couple of datasets, however they all made more distortions (discussed in a thread
here). Thus, I am now trying SynBOLD to see whether I can get a detour for that SDC part of fmriprep. Also, I am currently using an old dataset with no fieldmap data available.
So far, results fro…