Help with Group ICA Component Labels in HCP

I am working with the HCP1200 Parcellation+Timeseries+Netmats (PTN) data, the 812 subject release. We have been working with the netmats (connectomes) for group ICA dimensionality = 100, and we now want to get brain region labels for each of the 100 group ICA components.

Based on the HCP documentation, we identified the melodic_IC_ftb.dlabel.nii file that should include this info. We load the file into python with nibabel, which contains two cifti_axes - LabelAxis and BrainModelAxis:

>>> cifti = nib.load('melodic_IC_ftb.dlabel.nii')
>>> labs = cifti.header.get_axis(0)
>>> labs
<nibabel.cifti2.cifti2_axes.LabelAxis object at 0x7fe5ac4e0a60>
>>> brainModel = cifti.header.get_axis(1)
>>> brainModel
<nibabel.cifti2.cifti2_axes.BrainModelAxis object at 0x7fe5c1e2b940>

However the labels in the LabelAxis object do not seem to be informative:

>>> labs.label
array([{0: ('???', (1.0, 1.0, 1.0, 0.0)), 1: ('LABEL_1', (0.839216, 0.819608, 0.764706, 1.0)), 2: ('LABEL_2', (0.917647, 0.560784, 0.788235, 1.0)), 3: ('LABEL_3', (0.611765, 0.694118, 0.313726, 1.0)), ... , 100: ('LABEL_100', (0.133333, 0.968627, 0.411765, 1.0))}],

And the ones in the BrainModelAxis are closer to what I am looking for (CIFTI Structures), however the BrainModelAxis contains the CIFTI structure labels for each of the 91,282 greyordinates, not the 100 components.


I am looking for a way to map the “labels” from the LabelAxis object to the CIFTI structures in the BrainModelAxis object. Are the R, G, B, A values in the LabelAxis informative to this in some way?

I have searched the nibabel CIFTI2 documentation and looked over the Glasser 2013 HCP paper, but to no avail. Can anyone familiar with CIFTI file format, nibabel, or the HCP group ICA components help with this issue?