Wrong position of connectome nodes

Dear Experts,

I am trying to generate a diffusion connectome after runnning the HCP minimal preprocessing pipeline as outlined in:

https://mrtrix.readthedocs.io/en/latest/quantitative_structural_connectivity/ismrm_hcp_tutorial.html

I managed to make all the steps of the tutorial run to generate the final tractogram and use SIFT. What I would like to do is to build a connectome based on the Glasser parcellation. To achieve this, I have copied the files lh.HCPMMP1.annot and rh.HCPMMP1.annot in my subject’s Freesurfer output folder as follows:

cp /home/groups/leanew1/ltozzi/HCPMMP1_annotations/lh.HCPMMP1.annot sub1/label
cp /home/groups/leanew1/ltozzi/HCPMMP1_annotations/rh.HCPMMP1.annot sub1/label
mri_aparc2aseg --old-ribbon --annot HCPMMP1 --s sub1 --o HCPMMP1_parc.mgz
mrconvert HCPMMP1_parc.mgz HCPMMP1_parc.nii.gz

Then, I have converted the labels as follows:

labelconvert HCPMMP1_parc.nii.gz hcpmmp1_original.txt hcpmmp1_ordered.txt HCPMMP1_nodes.mif 

When I visualize these nodes on my mean b0 image, the aligmnent looks fine, see this image:

However, when I attempt to visualize these nodes in the connectome visualization tool, by loading as Node Image “HCPMMP1_nodes.mif”, they appear to all be clustered together as you can see here in red:

I am wondering where this problem comes from. Is it a visualization problem with the connectome tool or is something with my nodes wrong and hence with my matrix too?
Thank you very much,

Leonardo Tozzi

Just a follow-up on this matter. If I plot the connectivity matrix resulting from this data, it seems like intra-hemispheric connectivity is strongly predominant over inter-hemispheric. In this image, the cortical nodes are ordered by hemisphere and at the end I have a few subcortical nodes. I am wondering if this pattern is something that is to be expected or if this results from the nodes being positioned wrongly, like in the second image above. As you can see virtually all connections are within the emispheres:

Unfortunately, I’m not sufficiently familiar with the FreeSurfer commands you’re using here to be much use. But the first thing I’d do is to tick off the interpolation for the overlay, and verify that the regions are correctly parcellated. The fact that they all cluster near the centre of each hemisphere suggests that somehow each region has been spread out all over the place… I’m not sure why that might happen though, I’ve never used mri_aparc2aseg myself.

You could try to extract individual parcels to check they match your expectation. You should be able to do this with something like:

mrcalc HCPMMP1_parc.mgz 1020 -eq - | mrview -

which should display all voxels with value 1020, for example.

Assuming your HCPMMP1_parc.mgz checks out, the next thing to check would be your hcpmmp1_ordered.txt and HCPMMP1_nodes.mif files. How did you produce them, and are you sure there’s no duplicates mapping different regions to the same output label, etc? I can’t personally see how this could lead to such bad results for all your regions, to be honest, but it’s worth double-checking…

Also, you don’t need to convert the mgz to NIfTI – labelconvert will happily accept the mgz as-is.

Thank you for your response.
The file hcpmmp1_ordered.txt and hcpmmp1_original.txt were in my mrtrix3/share/mrtrix3/labelconvert/ folder. Are they part of the release? Otherwise I might have copied them there and forgot about it!
In hcpmmp1_original.txt the header says:

Lookup table for grey matter parcellations as provided by the Glasser atlas
This tableprovides parcel names and colours as they are provded from e.g. the following command:
mri_aparc2aseg --old-ribbon --annotation glasser --s hmsc001-01 --o glasser.mgz
Thanks to Marlene Tahedl (martahedl (Marlene Tahedl) · GitHub)

And in the hcpmmp1_ordered.txt:

Lookup table for defining the Glasser parcellation as values incrementing from 1
Thanks to Marlene Tahedl (martahedl (Marlene Tahedl) · GitHub)

However, you are right, this command:

mri_aparc2aseg --old-ribbon --annotation glasser --s hmsc001-01 --o glasser.mgz

Seems to send all my regions all over the place. This is probably not the right command for me. I suspect I have run it with the annotations of fsaverage, but it might require the annotations of the specific individual.
I have found a script by Marlene Tahedl that should be able to generate the proper parcellation for an individual subject, I will try it and let you know. I might then post here my final result (if I figure it out) so that it could be useful for other people trying to work with this parcellation.

The file hcpmmp1_ordered.txt and hcpmmp1_original.txt were in my mrtrix3/share/mrtrix3/labelconvert/ folder. Are they part of the release?

Yes, these were added in 3.0_RC3.

However, when I attempt to visualize these nodes in the connectome visualization tool, by loading as Node Image “HCPMMP1_nodes.mif”, they appear to all be clustered together as you can see here in red:

However, you are right, this command: … Seems to send all my regions all over the place.

Can you confirm that the image shown as the overlay in your first screenshot, and the image used to initialise the mrview Connectome Tool in your second screenshot, were two different images? If this is the case, then I can write off the observation as not being due to an MRtrix3 issue.

This is probably not the right command for me.

I think you might be missing a couple of mri_surf2surf calls to get the parcellation into subject space before mri_aparc2aseg? My code for doing such is here.

Dear all,

This is to confirm that indeed the mistake was in the definition of the nodes and the use of Freesurfer. I have now used the scripts provided here:

And I get the right positioning of the nodes. Here is my connectome (after using SIFT2):

In conclusion, I think you can rule out that the problem was due to MRTrix. Thank you for your help.

1 Like