available atlases & resources¶
yabplot comes pre-packaged with support for several standard neuroimaging atlases. you can specify these using the atlas string argument in plotting functions.
import yabplot as yab
yab.get_available_resources()
{'cortical': ['aal3',
'aparc',
'brainnetome',
'schaefer100',
'schaefer1000',
'schaefer200',
'schaefer300',
'schaefer400'],
'subcortical': ['aal3',
'aal3_nocer',
'aseg',
'brainnetome_sc',
'musus100',
'musus100_dbn',
'musus100_tha',
'tian2020_s1'],
'tracts': ['hcp1065_medium',
'hcp1065_small',
'hcp1065_tiny',
'xtract_large',
'xtract_medium',
'xtract_small',
'xtract_tiny'],
'bmesh': ['inflated',
'midthickness',
'pial',
'swm',
'very_inflated',
'white'],
'label': ['nomedialwall']}
cortical parcellations¶
used with yabplot.plot_cortical(atlas='name').
Desikan-Killiany (aparc)¶
the default FreeSurfer parcellation based on gyral and sulcal anatomy.
- key:
'aparc' - regions: 70 (35 per hemisphere)
- reference: Desikan et al., 2006
atlas = 'aparc'
print('first 10 regions:', yab.get_atlas_regions(atlas=atlas, category='cortical')[:10])
ax = yab.plot_cortical(atlas=atlas, views=['left_lateral', 'superior', 'left_medial'])
ax = ax.set_title(atlas, fontsize=7)
first 10 regions: ['L_bankssts', 'L_caudalanteriorcingulate', 'L_caudalmiddlefrontal', 'L_corpuscallosum', 'L_cuneus', 'L_entorhinal', 'L_fusiform', 'L_inferiorparietal', 'L_inferiortemporal', 'L_isthmuscingulate']
Schaefer (2018)¶
functional parcellation based on resting-state fMRI. available in multiple granularities.
- keys:
'schaefer100','schaefer200','schaefer300','schaefer400','schaefer1000' - reference: Schaefer et al., 2018
atlas = 'schaefer400'
print('first 10 regions:', yab.get_atlas_regions(atlas=atlas, category='cortical')[:10])
ax = yab.plot_cortical(atlas=atlas, views=['left_lateral', 'superior', 'left_medial'])
ax = ax.set_title(atlas, fontsize=7)
first 10 regions: ['7Networks_LH_Vis_1', '7Networks_LH_Vis_2', '7Networks_LH_Vis_3', '7Networks_LH_Vis_4', '7Networks_LH_Vis_5', '7Networks_LH_Vis_6', '7Networks_LH_Vis_7', '7Networks_LH_Vis_8', '7Networks_LH_Vis_9', '7Networks_LH_Vis_10']
Brainnetome (cortical)¶
connectivity-based parcellation using structural and functional magnetic resonance imaging.
- key:
'brainnetome' - reference: Fan et al., 2016
atlas = 'brainnetome'
print('first 10 regions:', yab.get_atlas_regions(atlas=atlas, category='cortical')[:10])
ax = yab.plot_cortical(atlas=atlas, views=['left_lateral', 'superior', 'left_medial'])
ax = ax.set_title(atlas, fontsize=7)
first 10 regions: ['A8m_L', 'A8m_R', 'A8dl_L', 'A8dl_R', 'A9l_L', 'A9l_R', 'A6dl_L', 'A6dl_R', 'A6m_L', 'A6m_R']
Automated Anatomical Labeling 3, AAL3 (cortical)¶
macroanatomical parcellation. the cortical subset of the full atlas.
- key:
'aal3' - reference: Rolls et al., 2020
atlas = 'aal3'
print('first 10 regions:', yab.get_atlas_regions(atlas=atlas, category='cortical')[:10])
ax = yab.plot_cortical(atlas=atlas, views=['left_lateral', 'superior', 'left_medial'])
ax = ax.set_title(atlas, fontsize=7)
first 10 regions: ['Precentral_L', 'Precentral_R', 'Frontal_Sup_2_L', 'Frontal_Sup_2_R', 'Frontal_Mid_2_L', 'Frontal_Mid_2_R', 'Frontal_Inf_Oper_L', 'Frontal_Inf_Oper_R', 'Frontal_Inf_Tri_L', 'Frontal_Inf_Tri_R']
subcortical structures¶
used with yabplot.plot_subcortical(atlas='name').
FreeSurfer segmentation (aseg)¶
standard subcortical segmentation including Thalamus, Caudate, Putamen, Pallidum, Hippocampus, Amygdala, and Accumbens.
- key:
'aseg' - regions: 14 subcortical structures
- reference: Fischl et al., 200200569-X)
atlas = 'aseg'
print('first 10 regions:', yab.get_atlas_regions(atlas=atlas, category='subcortical')[:10])
ax = yab.plot_subcortical(atlas=atlas, views=['left_lateral', 'superior', 'left_medial'])
ax = ax.set_title(atlas, fontsize=7)
first 10 regions: ['Left-Thalamus', 'Left-Caudate', 'Left-Putamen', 'Left-Pallidum', 'Left-Hippocampus', 'Left-Amygdala', 'Left-Accumbens-area', 'Right-Thalamus', 'Right-Caudate', 'Right-Putamen']
Tian subcortical S1 (2020)¶
functional hierarchical parcellation of the subcortex based on resting-state fMRI. Scale 1 represents the most macroscale networks.
- key:
'tian2020_s1' - regions: 16 regions
- reference: Tian et al., 2020
atlas = 'tian2020_s1'
print('first 10 regions:', yab.get_atlas_regions(atlas=atlas, category='subcortical')[:10])
ax = yab.plot_subcortical(atlas=atlas, views=['left_lateral', 'superior', 'left_medial'])
ax = ax.set_title(atlas, fontsize=7)
first 10 regions: ['HIP-rh', 'AMY-rh', 'pTHA-rh', 'aTHA-rh', 'GP-rh', 'NAc-rh', 'PUT-rh', 'CAU-rh', 'HIP-lh', 'AMY-lh']
MuSus-100¶
multi-modal subcortical structures atlas providing highly detailed segmentations of deep brain nuclei and thalamic subregions.
- keys:
'musus100'(full 100 regions),'musus100_dbn'(20 deep brain nuclei),'musus100_tha'(thalamic subregions) - regions: 20 deep brain nuclei + 80 thalamic subregions
- reference: He, C. et al., 2023
atlas = 'musus100_dbn'
print('first 10 regions:', yab.get_atlas_regions(atlas=atlas, category='subcortical')[:10])
ax = yab.plot_subcortical(atlas=atlas, views=['left_lateral', 'superior', 'left_medial'])
ax = ax.set_title(atlas, fontsize=7)
first 10 regions: ['R-Cau', 'L-Cau', 'R-Pu', 'L-Pu', 'R-GPe', 'L-GPe', 'R-NAcc', 'L-NAcc', 'R-SNc', 'L-SNc']
Automated Anatomical Labeling 3, AAL3 (subcortical)¶
macroanatomical parcellation. the subcortical subset includes deep brain structures, the cerebellum, and brainstem.
- keys:
'aal3'or'aal3_nocer'(without cerebellum) - regions: 52 subcortical regions + 26 cerebellum subregions
- reference: Rolls et al., 2020
atlas = 'aal3'
print('first 10 regions:', yab.get_atlas_regions(atlas=atlas, category='subcortical')[:10])
ax = yab.plot_subcortical(atlas=atlas, views=['left_lateral', 'superior', 'left_medial'])
ax = ax.set_title(atlas, fontsize=7)
first 10 regions: ['Hippocampus_L', 'Hippocampus_R', 'Amygdala_L', 'Amygdala_R', 'Caudate_L', 'Caudate_R', 'Putamen_L', 'Putamen_R', 'Pallidum_L', 'Pallidum_R']
white matter tracts¶
used with yabplot.plot_tracts(atlas='name').
XTRACT standard¶
standardised automated probabilistic tractography protocols derived from the Human Connectome Project. available in multiple downsampled resolutions for performance.
- keys:
'xtract_tiny','xtract_small','xtract_medium','xtract_large' - regions: 42 major white matter bundles
- reference: Warrington et al., 2020
atlas = 'xtract_large'
print('first 10 regions:', yab.get_atlas_regions(atlas=atlas, category='tracts')[:10])
ax = yab.plot_tracts(atlas=atlas, orientation_coloring=False, views=['left_lateral', 'superior', 'left_medial'], bmesh='inflated')
ax = ax.set_title(atlas, fontsize=7)
first 10 regions: ['AC', 'AF_L', 'AF_R', 'AR_L', 'AR_R', 'ATR_L', 'ATR_R', 'CST_L', 'CST_R', 'Cing_Dorsal_L']
context brain meshes¶
standard topological brain meshes used as the background context for plotting.
keys:
'midthickness'(middle of the cortical ribbon) [default]'pial'(outer grey matter surface)'white'(inner white matter surface)'swm'(smoothed white matter)'inflated'(smoothed surface exposing sulci)'very_inflated'(spherical-like expanded surface)
bmeshes = ['midthickness', 'pial', 'white', 'swm', 'inflated', 'very_inflated']
for bmesh in bmeshes:
ax = yab.plot_cortical(data={}, vminmax=[0, 0], views=['left_lateral', 'superior', 'left_medial'], bmesh=bmesh)
ax = ax.set_title(bmesh, fontsize=7)