ThomasYeoLab / CBIG

MIT License
570 stars 380 forks source link

The Schaefer 1000 parcellation in fsLR has regions missing #43

Open DavidGHaydock opened 1 year ago

DavidGHaydock commented 1 year ago

Expected situation

I attempted to parcellate an object using the Schaefer dataset as per the bottom of this walkthrough: https://netneurolab.github.io/neuromaps/user_guide/transformations.html only using the 1000 parcellation instead of the 400, like so:

from neuromaps.datasets import fetch_annotation
from netneurotools import datasets as nntdata
from neuromaps.parcellate import Parcellater
from neuromaps.images import dlabel_to_gifti

fc_grad = fetch_annotation(source='margulies2016', desc='fcgradient01', space='fsLR', den='32k')
schaefer = nntdata.fetch_schaefer2018('fslr32k')['1000Parcels7Networks']
parc = Parcellater(dlabel_to_gifti(schaefer), 'fsLR')
fc_grad_parc = parc.fit_transform(fcgradient, 'fsLR')

and was met with an error:

IndexError: index 999 is out of bounds for axis 0 with size 999

Actual situation

Since neuromaps linked to this Github with the license, I assumed that they fetched it as source. I downloaded the dlabel file from here:

https://github.com/ThomasYeoLab/CBIG/blob/master/stable_projects/brain_parcellation/Schaefer2018_LocalGlobal/Parcellations/HCP/fslr32k/cifti/Schaefer2018_1000Parcels_7Networks_order.dlabel.nii

and checked it. Regions 533 and 903 were missing from the second hemisphere.

If you could assist me with this I would greatly appreciate it, as I am trying to use the parcellation on my own data. If I have misunderstood the data, please do also let me know.

Thanks!

rubykong commented 1 year ago

@DavidGHaydock Yes you are correct. There are two ROIs missing for Schaefer1000 fslr due to projection. You can check here for details: https://github.com/ThomasYeoLab/CBIG/issues/10 I think someone mentioned this issue for neuromaps, the link below might be useful: https://github.com/netneurolab/neuromaps/issues/66