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
628 stars 290 forks source link

Incorporating manually edited surfaces to overwrite FreeSurfer's #1769

Open franklin-feingold opened 5 years ago

franklin-feingold commented 5 years ago

Problem

Incorporating human fixes of reconstructed surfaces as sampling structure source. For instance, for the Midnight Scan Club there are manually edited surfaces that must be used instead of FS's ones.

Suggested solution

Point fMRIPrep to a BIDS-Derivatives-valid structure where the new surfaces are found in GIFTI format.

(@effigies, I edited the description - hopefully, this is detailed enough)

effigies commented 5 years ago

Can you provide any details?

utooley commented 4 years ago

We'd be interested in having this work, too! However, reading this, I'd chime in that when we manually edit brains, they stay in the Freesurfer native format and folder structure...given that fMRIprep currently accepts pre-run Freesurfer in its native format, the requirement to convert manually-edited brains to GIFTI (although I suppose that's to keep them compatible with BIDS-Derivatives proposal) seems odd.

effigies commented 4 years ago

@utooley Thanks for bumping this issue. I tend to agree that my suggestion would be to edit in FreeSurfer, then re-run fMRIPrep to pick up the new surfaces. And this should work right now.

I think trying to bring in new, external GIFTI surfaces is going to be quite fraught, as what volume they would be aligned with is ambiguous (should we assume one of the input T1w files, or FreeSurfer's T1.mgz?), and getting the correct inputs to mri_surf2vol would be quite tricky.

I think this might be one of the cases where someone writing a plugin that modifies our workflow graph to handle their use case is going to be the only tractable approach, as it doesn't have to be a general solution at that point.