sina-mansour / UKB-connectomics

This repository will host scripts used to map structural and functional brain connectivity matrices for the UK biobank dataset.
https://www.biorxiv.org/content/10.1101/2023.03.10.532036v1
62 stars 7 forks source link

Combining cortical and subcortical atlases for SC mapping #20

Closed sina-mansour closed 1 year ago

sina-mansour commented 2 years ago

Previously, we used the following cortical and subcortical atlases in the fMRI mapping pipeline:

In the case of fMRI, for each atlas, the average resting-state time series of every brain region was provided. Hence, the cortical and subcortical time series were provided in separate files. Given that functional connectivity can be directly generated from these time series, the future user could combine any combination of the cortical and subcortical atlas that they deep appropriate.

However, for the case of structural connectivity, we would need to provide all combinations separately. This brings us to the main point that I wanted to discuss in this issue. Ideally, we'd expect that there are no intersections between the cortical and subcortical regions labeled across atlases. However, I have noticed that this assumption is incorrect. The example below demonstrates the issue:

image

In this image, cortical regions from the HCP MMP1.0 atlas are colored by warm colors (yellow to orange), and subcortical labels are colored by cool colors (transparent shades of blue). As it can be observed, there are certain regions for which both a cortical and a subcortical region label are available.

In the case above, these are regions from the hippocampus, but I would imagine that similar issues may also occur at the border of the putamen and insular cortex.

Essentially, I'm wondering what would the best approach to correct this be. A simple solution would be to give priority to one of the labels in such regions. For instance, the regions of intersection could be labeled using the cortical labels. But I wanted to bring this up to hear other opinions and potential solutions before implementing it.

The reason for prioritizing the cortical labels is that the cortical labels are mapped using FreeSurfer's delineation of the white and pial surfaces. Thus, these labels are more accurately confined to the cortical ribbon (to the accuracy of underlying voxel resolution). However, the subcortical labels are a non-linear transformation of the labels from MNI templates and are less individualized, i.e. more prone to inaccuracies.

Nevertheless, the issue is not just caused by labeling inaccuracies as there are regions with an ambiguous assignment to cortex or subcortex. For instance, the Glasser's atlas label at the point indicated by the crossing lines in the image above is R_H which is basically the right hippocampus. This also similarly occurs in other cortical atlases too.

caioseguin commented 2 years ago

Hi Sina, I think the idea of prioritising cortical labels makes sense to me. Would be good to hear if anyone has a more biologically- or technically-informed solution though. If the overlap is indeed a problem of ambiguity over what is cortex or subcortex, then this is perhaps not a big deal -- e.g., the hippocampus will be include in the parcellation whether people want to call it cortex or subcortex.

But again, your idea sounds good to me. How would you implement that? Would it be a question of creating a new parcellation nifti file that, in the case of overlap between cortical and subcortical GM, always keeps the intensities of the cortical regions?

Another point related to this issue is the combination of cortical and subcortical parcellations. I think it would be too much to match all resolutions of the subcortex atlas to all the cortical parcellations, right? We probably need to choose just a few combinations?

AndrewZalesky commented 2 years ago

Sina, how many voxels/vertices suffer from this ambiguity on average? If it is a small proportion, we could adopt a simple convention (e.g. prioritize cortex).

Caio's point about matching resolutions is a good one and we have not really discussed this issue.

Lestropie commented 2 years ago

Subcortex multi-resolution

Had not realised that you were intending to use such data. This does indeed blow up the combinatorial scope of the outputs quite a bit. Just as you output fMRI time series for nodes, enabling matrix reconstruction for any cortical / sub-cortical combination, saving streamline endpoints (& any quantitative value per streamline, e.g. mean FA) and parcellation images would facilitate matrix reconstruction for any combination in DWI; but the magnitude of "compression" is not quite so much.

Theoretically, if you were to generate each connectome using the finest sub-cortical sub-division, you could then from that produce the equivalent connectome with a coarser sub-cortical sub-division, by appropriately aggregating rows / columns across parcels that are merged together at the various hierarchical levels. This aggregation would be a summation for some connectivity metrics, a weighted mean for others (with weights determined by either streamline count or FBC). So these lower-resolution matrices could be done without re-reading the streamlines data.

Assignment ambiguity

Where I've encountered this sort of thing myself, it's been in stripping sub-cortical segmentations from FreeSurfer, and replacing them with sub-cortical segmentations from FSL FIRST (labelsgmfix). There, I put reasonable trust in the FIRST segmentations, and so prioritise those. Here, where your sub-cortical parcels are coming from a volumetric template registration, I'd place greater trust on the cortical segmentation.

Duplicate parcels

If the Glasser atlas comes with a hippocampal segmentation, then that's its own problem. It's not one voxel with two labels that's the problem, it's one structure with degenerate labels. In the absence of sub-cortical hierarchical segmentation, I'd say omit the hippocampus from the sub-cortical source in that instance; but if using such a hierarchy, I think you want to be stripping out the hippocampus from the cortical source. Does it do the same for the amygdala?

Sub-cortical registration

I've various ideas over the years of how to potentially better deal with sub-cortical parcellations at a finer scale than the conventional labelled structures, but never had the resources to pursue such. If you're simply doing a whole-brain registration between subject T1w and template and then back-projecting only the sub-cortical labels to subject space, it's possible that better could be done. E.g. I'd envisage something where those sub-cortical structures are explicitly segmented in subject space using FIRST (as UKB provides the data for), one has explicit segmentations for each of those structures in the template space, and one then defines a spatial mapping of just that structure between the two spaces, which is used to propagate the labels. This would constrain the spatial extent of the labels in subject space to correspond to the spatial extent of that structure as estimated in subject space, so there'd be less jaggedness and over / underestimation at the structure edges, and also preserve the internal shapes of the hierarchical sub-divisions, with less reliance on the non-linear volumetric registration that isn't very trustworthy within those structures.

(Can shift this to a separate issue if interested, but it might be in the too-hard basket for this project)