nipreps / fmriprep

fMRIPrep is a robust and easy-to-use pipeline for preprocessing of diverse fMRI data. The transparent workflow dispenses of manual intervention, thereby ensuring the reproducibility of the results.
https://fmriprep.org
Apache License 2.0
629 stars 291 forks source link

fieldmap-based SDC on partial-FOV dataset #2926

Open hruge opened 1 year ago

hruge commented 1 year ago

What happened?

We have been trying to use fieldmap-based SDC for a partial-FOV high-resolution dataset. Using previous fmriprep versions (up to 22.0.2), coregistration and brain parcellation (for extracting greymatter and whitematter/csf signal etc.) were not working sufficiently well. Results without using SDC were quite OK (I have posted this issue a few month ago here: https://neurostars.org/t/problems-with-fieldmap-based-susceptibility-distortion-correction-in-combination-with-a-high-resolution-partial-volume/23694)

We have now tried the latest version 22.1.0 and the good news is that coregistration looks great now! However, brain parcellation still fails for our partial FOV dataset. This can be seen in the *.desc-rois_bold.svg figures. I have uploaded the fmriprep figures for 2 exemplary subjects and 2 exemplary BOLD runs here: https://cloudstore.zih.tu-dresden.de/index.php/s/mNATzSHYt5WETy3

Thanks for your great work and hoping for a solution.

What command did you use?

docker run -ti --rm -v "/mnt/g/SPM_data/445/bids/:/data:ro"  -v "/mnt/g/SPM_data/445/bids/derivatives/fmriprep:/out"  -v "/mnt/g/tmp/:/work" -v "/mnt/c/Allgpsy/hruge/Freesurfer:/fslic:ro" -v "/mnt/g/SPM_data/445/:/plugin:ro"  nipreps/fmriprep:22.1.0    /data /out participant --participant-label   22443  -w /work --fs-license-file /fslic/license.txt  --output-spaces anat  MNI152NLin2009cAsym fsnative  --use-plugin /plugin/plugin_mem.yml --stop-on-first-crash   --ignore sbref  --bold2t1w-init header

What version of fMRIPrep are you running?

22.1.0

How are you running fMRIPrep?

Docker

Is your data BIDS valid?

Yes

Are you reusing any previously computed results?

No

Please copy and paste any relevant log output.

No response

Additional information / screenshots

No response

effigies commented 1 year ago

To be clear, the main issue here is the BOLD mask? The registration and distortion correction look okay to me. While it would be good to improve masking, it's quite hard to do with partial-FOV. I would consider just resampling your anatomical mask into the BOLD field-of-view, and doing some manual touch-ups.

If there are other processing issues I'm missing, please let me know.

hruge commented 1 year ago

Yes, as of 22.1.0 only the mask is the remaining issue (in previous versions it was also the registration).
What I find strange though is that mask issue seems to be particularly bad when SDC is used.
Also, since registration works fine now even with SDC, I thought that now also mask creation (and hence confound/nuisance regressor extraction) should now also work properly. But probably I am misconceiving how masks are derived (I had assumed by help of T1-based brain tissue segmentation applied to the co-registered BOLD images). And therefore I concluded that this would likely point towards some sort of bug. If not, I'll proceed with an 'in-house' workaround as you suggested.

Thanks again for your work!

effigies commented 1 year ago

That is a good point that the mask derived post-SDC is worse than without when the SDC is reasonable. Definitely worth keeping in mind as we continue to improve SDC edge cases, but for now this won't be a high priority target.

Thanks again for the report!