Register preprocessed fMRI to freesurfer surface reconstruction

Hi there,

I recently ran all of my subjects resting state scans through fmirprep and then through the functional processing pipeline in xcpEngine. The output of xcpEngine is a preprocessed 4d functional image (nii.gz) in T1w subject space. I have also processed every participant’s T1w anatomical image using reconall and have a surface reconstruction for each participant. Is there any way to register the processed 4d functional file to the surface reconstruction image? Additionally, if anyone has any resources for how to then do surface based ROI analyses using parcellations in surface space, that would be great! Let me know if anything I’ve asked was unclear and I’m happy to rephrase or expand on it.


I am doing something similar–I asked a friend and actually just ended up using bbregister between the functional reference image and the freesurfer anatomical, and then mri_vol2surf to get the processed functional data in surface space. I read the thread here but the transform fmriprep outputs didn’t look like it was suited perfectly for post-xcp data.

Here’s some threads on it:


This has been great! It’s sent me down quite the helpful rabbit hole. The only thing I’m having trouble doing now is viewing the 4d file in freeview. It keeps crashing on me every time I try to view the output of mri_vol2surf. How do you go about checking to see if your transformation actually worked?


Ah yes. Well…you have to load it as an overlay to a surface–you can’t load the file itself as a surface. Also, you have to load it on the correct res surface (ie fsaverage5 if that’s what you projected to). I had the same issues. Hopefully that helps?