Missing data in fsaverage/surface output of fmriprep

Dear fmriprep experts,

I have run fmriprep on my data and requested fsaverage as an output space. When I read the resulting gifti files into matlab and visualise them I find missing data in the temporal lobe of the right hemisphere (see attached image).

The procedure for reading into matlab is as follows…
lh=gifti(filename); %(this gifti read tool is from NITRC: GIFTI: Tool/Resource Info)
lh=lh.cdata
rh=gifti(filename);
rh=lh.cdata;
data=[lh;rh];

The data present in other vertices seem fine, and the dimensions of the read in data appear correct for fsaverage (327684x140 [vertex x time]).

When I attempt to load the fsaverage gifti files into freeview it fails. Is there something more I should be doing to these files to make them usable? What viewer can natively read/visualise them?

In case it’s useful, here is my fmriprep call/command

fmriprep-docker $datapath/fmriprep_nifti $datapath/fmriprep_nifti/sub-$name/derivatives participant --participant-label $name --fs-license-file /home/chris/cisc2/shared/fs_license/license.txt --use-aroma --output-spaces MNI152NLin6Asym:res-2 MNI152NLin2009cAsym fsaverage T1w

Version info: fMRIPrep v21.0.0

Many thanks,
Chris

This looks like it might be the LH values on the RH surface, or possibly a symmetric RH surface so the vertex indices are off from the fsaverage standard.

Could you share what you tried to do? It should be possible to load the fsaverage-sampled GIFTIs onto fsaverage surfaces in freeview.

Hi effigies,

Having looked at it more, I think you’re right, the rh is rotated so the hole on the temporal lobe is actually the zeros corresponding to the medial wall. I just need to figure out how to get my display functions in matlab to address the data for the rh appropriately. Not sure how I’m going to do it yet, but it seems very solvable.

As for freeview, all I am trying to do is to open freeview and click ‘load surface’ when I do this I get a crash with the error “**DA[137] has coordsys with intent NIFTI_INTENT_TIME_SERIES (should be NIFTI_INTENT_POINTSET)” which seems to be an issue with it not liking time series data. I realise I dont really know how to load/view gifti data other than into matlab. Any advice would be greatly appreciated?

Best wishes,
Chris

I can do the following on a dataset I have:

freeview -f /data/out/ds000005-fmriprep/freesurfer/fsaverage5/surf/lh.pial:overlay=/data/out/ds000005-fmriprep/fmriprep/sub-01/func/sub-01_task-mixedgamblestask_run-1_space-fsaverage5_hemi-L_bold.func.gii

It seems like you’re trying to load in the functional file as a surface, which won’t work. You need to load the original surface, and then you can load the functional data as an overlay on that surface. Or you can use a command like the above to load both at the same time.