Selecting preconfigured parcellations

Just as for atlas objects, siibra provides an instance table of preconfigured brain parcellations.

We start by loading the library

import siibra

The instance table can list the keys of all parcellations predefined in siibra. Note that this includes parcellations for all supported atlases.

['DEEP_WHITE_MATTER_FIBRE_BUNDLES', 'SUPERFICIAL_FIBRE_BUNDLES', 'CORTICAL_LAYER_SEGMENTATION_OF_THE_BIGBRAIN_MODEL', 'DIFUMO_ATLAS_1024_DIMENSIONS', 'DIFUMO_ATLAS_128_DIMENSIONS', 'DIFUMO_ATLAS_256_DIMENSIONS', 'DIFUMO_ATLAS_512_DIMENSIONS', 'DIFUMO_ATLAS_64_DIMENSIONS', 'DESIKAN_KILLIANY_ATLAS_2006', 'HARVARDOXFORD_CORT_MAXPROB_THR0', 'HARVARDOXFORD_CORT_MAXPROB_THR25', 'ISOCORTEX_SEGMENTATION', 'JULICH_BRAIN_CYTOARCHITECTONIC_ATLAS_V1_18', 'JULICH_BRAIN_CYTOARCHITECTONIC_ATLAS_V2_9', 'JULICH_BRAIN_CYTOARCHITECTONIC_ATLAS_V3_0_3', 'PRERELEASE_JULICH_BRAIN_CYTOARCHITECTONIC_ATLAS_V3_1', 'MARSATLAS_CORTICAL_PARCELLATION_MODEL', 'MEBRAINS_POPULATION_BASED_MONKEY_PARCELLATION', 'ALLEN_MOUSE_COMMON_COORDINATE_FRAMEWORK_V3_2015', 'ALLEN_MOUSE_COMMON_COORDINATE_FRAMEWORK_V3_2017', 'WAXHOLM_SPACE_ATLAS_OF_THE_SPRAGUE_DAWLEY_RAT_BRAIN_V1_01', 'WAXHOLM_SPACE_ATLAS_OF_THE_SPRAGUE_DAWLEY_RAT_BRAIN_V2', 'WAXHOLM_SPACE_ATLAS_OF_THE_SPRAGUE_DAWLEY_RAT_BRAIN_V3', 'WAXHOLM_SPACE_ATLAS_OF_THE_SPRAGUE_DAWLEY_RAT_BRAIN_V4', 'ATLAS_OF_THE_SHORT_FIBER_BUNDLES_INFERRED_FROM_THE_HUMAN_CONNECTOME_PROJECT_DIFFUSION_MRI_DATASET', 'VIRTUAL_EPILEPTIC_PATIENT_ATLAS', 'PRERELEASE_A_PROBABILISTIC_FUNCTIONAL_ATLAS_OF_HUMAN_OCCIPITO_TEMPORAL_VISUAL_CORTEX', 'VON_ECONOMO_KOSKINAS_BRAIN_ATLAS']

Fetching an object works in the same way as for siibra.atlases (see Atlases and brain parcellations)

julich_brain = siibra.parcellations.get('julich')

Parcellations typically refer to entities in the EBRAINS knowledge graph, modelled in the MINDS and openMINDS standards. siibra stores their identifiers. Note that this holds for spaces and other concepts as well, as will be seen in the next examples.

print(julich_brain.id)
minds/core/parcellationatlas/v1.0.0/94c1125b-b87e-45e4-901c-00daee7f2579-300

Also, you can display the doi/url of the related dataset/publication using

print(julich_brain.urls)
['https://doi.org/10.25493/56EM-75H']

Typically however, we are only interested in the parcellations supported by a given atlas. Atlases provide their own parcellation table for this purpose, which includes the relevant subset of the parcellations.

atlas = siibra.atlases.get('human')
atlas.parcellations.keys
['DEEP_WHITE_MATTER_FIBRE_BUNDLES', 'SUPERFICIAL_FIBRE_BUNDLES', 'CORTICAL_LAYER_SEGMENTATION_OF_THE_BIGBRAIN_MODEL', 'DIFUMO_ATLAS_1024_DIMENSIONS', 'DIFUMO_ATLAS_128_DIMENSIONS', 'DIFUMO_ATLAS_256_DIMENSIONS', 'DIFUMO_ATLAS_512_DIMENSIONS', 'DIFUMO_ATLAS_64_DIMENSIONS', 'DESIKAN_KILLIANY_ATLAS_2006', 'ISOCORTEX_SEGMENTATION', 'JULICH_BRAIN_CYTOARCHITECTONIC_ATLAS_V1_18', 'JULICH_BRAIN_CYTOARCHITECTONIC_ATLAS_V2_9', 'JULICH_BRAIN_CYTOARCHITECTONIC_ATLAS_V3_0_3', 'PRERELEASE_JULICH_BRAIN_CYTOARCHITECTONIC_ATLAS_V3_1', 'MARSATLAS_CORTICAL_PARCELLATION_MODEL', 'ATLAS_OF_THE_SHORT_FIBER_BUNDLES_INFERRED_FROM_THE_HUMAN_CONNECTOME_PROJECT_DIFFUSION_MRI_DATASET', 'VIRTUAL_EPILEPTIC_PATIENT_ATLAS', 'PRERELEASE_A_PROBABILISTIC_FUNCTIONAL_ATLAS_OF_HUMAN_OCCIPITO_TEMPORAL_VISUAL_CORTEX', 'VON_ECONOMO_KOSKINAS_BRAIN_ATLAS']

These are instance tables, and can be used just like siibra.parcellations:

atlas.parcellations.get('julich')  # will return the latest version per default
<Parcellation(identifier='minds/core/parcellationatlas/v1.0.0/94c1125b-b87e-45e4-901c-00daee7f2579-300', name='Julich-Brain Cytoarchitectonic Atlas (v3.0.3)', species='Homo sapiens')>

Note that this specification matched multiple objects. Since siibra was able to sort them, it returned the first in the list, which is the one with the newest version. We can of course refine the specification to fetch another version.

print(atlas.parcellations.get('julich').version)
atlas.parcellations.get('julich 1.18').version
3.0.3

1.18

We can also explicitly request a supported parcellation object from the atlas, which has the same effect as accessing the Registry.

atlas.parcellations.get('Deep fibre bundles')

julich_brain = atlas.parcellations.get('julich 2.9')

The resulting parcellation is a semantic object, including

  • general information like the parcellation name, a description and related publications

  • the region hierarchy

  • functions to access parcellation maps in different reference spaces

  • functions to find and access regions and region masks

Parcellation maps and brain regions are covered in the next examples. For now let’s just look at a few metadata fields:

print("Name:    ", julich_brain.name)
print("Id:      ", julich_brain.id)
print("Modality:", julich_brain.modality)
print()
print(julich_brain.description)
print()
for p in julich_brain.publications:
    print(p['citation'])
Name:     Julich-Brain Cytoarchitectonic Atlas (v2.9)
Id:       minds/core/parcellationatlas/v1.0.0/94c1125b-b87e-45e4-901c-00daee7f2579-290
Modality: cytoarchitecture

This dataset contains the whole-brain parcellation of the Julich-Brain Cytoarchitectonic Atlas in the MNI ICBM 152 2009c nonlinear asymmetric reference space (Evans et al., 2012). The parcellation is derived from the individual probability maps (PMs) of the cytoarchitectonic regions released in the Julich-Brain Cytoarchitectonic Atlas, that are further combined into a Maximum Probability Map (MPM). The MPM is calculated by considering for each voxel the probability of all cytoarchitectonic areas released in the atlas, and determining the most probable assignment (Eickhoff 2005). Gap maps complement cortical maps to achieve full cortical coverage.

Amunts, K., Mohlberg, H., Bludau, S., Zilles, K. (2020). Julich-Brain – A 3D probabilistic atlas of human brain’s cytoarchitecture. Science 369, 988-992
Dataset name: Whole-brain parcellation of the Julich-Brain Cytoarchitectonic Atlas (v2.9)

Total running time of the script: (0 minutes 8.204 seconds)

Gallery generated by Sphinx-Gallery