Skip to content

Datasets

Use these fetchers to obtain public display and anatomical surfaces, sulcal shading, surface parcellations, and an example cortical map. Missing files download on first use and are cached for later calls.

A surface supplies vertex positions and triangles; a parcellation supplies one label per vertex. Match their template, density, and vertex order. Density is mesh resolution, separate from the number of regions. See Use your own data when matching your own maps and contacts to anatomy.

Fetch matching surfaces

from anatplot import datasets

surfaces = datasets.fetch_surfaces("fsLR", surface="inflated", density="32k")

The result contains left and right display surfaces plus a corresponding anatomical projection_surface pair. Pass the complete result to SurfacePlot when showing contacts on an inflated surface. VolumePlot uses only left and right from an anatomical fetch such as surface="pial" on fsaverage.

Template Available densities Default density Surface geometries
fsaverage 3k, 10k, 41k, 164k 10k pial, white, inflated, sphere
fsLR 4k, 8k, 32k, 164k 32k midthickness, inflated, veryinflated, sphere
civet 41k, 164k 41k white, midthickness, inflated, veryinflated, sphere

Density is the approximate vertex count per hemisphere. Inflated geometry exposes folds; pial and midthickness retain anatomical shape. Sphere is registration geometry. fsLR 4k/8k lack veryinflated surfaces.

Add sulcal shading

sulc = datasets.fetch_sulcal_depth("fsLR", density="32k")

The left/right arrays can be passed to plot.add_layer(sulc, cmap="gray"). Use the same template and density as the surface.

Choose a parcellation

fetch_parcellation() returns labels in a published surface space:

Name Regions or networks fsLR density fsaverage densities
schaefer 100–1000 regions in steps of 100; 7- or 17-network ordering 32k 10k, 41k, 164k
glasser 360 regions (HCP-MMP1.0) 32k —
desikan Desikan–Killiany anatomical regions — 3k, 10k, 41k
destrieux Destrieux 2009 anatomical regions — 3k, 10k, 41k, 164k
yeo 7 or 17 functional networks — 10k, 41k, 164k

A dash means unavailable. These parcellations do not have CIVET versions.

For example, fetch 400 Schaefer regions with seven-network ordering:

atlas = datasets.fetch_parcellation(
    "schaefer", template="fsLR", density="32k", n_regions=400, networks=7
)
left_labels, right_labels = atlas["left"], atlas["right"]

Schaefer defaults to 100 regions and seven networks. Yeo uses n_regions=7 or 17. See datasets.available_parcellations() for supported combinations.

Find region names

Each hemisphere has its own label table. For left-hemisphere label 17:

region = atlas["labels"]["left"][17]
print(region["name"])

IDs are specific to the atlas version and hemisphere; use the returned table, not an ID alone, to identify a region.

The table also contains source colors, but add_parcellation() uses the tab20 palette by default and does not apply those colors automatically. Mask zero when it denotes background. The surface tutorial shows how to highlight regions.

Default-mode map and label volumes

fetch_dmn_map_fslr32k() returns the Neurosynth association map for the “default mode” term, preprojected to fsLR 32k.

For label volumes, use Nilearn, as in the ROI tutorial. See the dataset API for cache locations, return fields, and source metadata.

Provenance

Data Source and citation
Cortical templates Template sources; neuromaps, Markello et al., 2022
Schaefer atlas CBIG parcellations, Schaefer et al., 2018
Glasser NetNeuroLab archive, Glasser et al., 2016
Desikan, Destrieux, Yeo TemplateFlow fsaverage archive; original paper citations are returned under source
Default-mode map Neurosynth; fsLR projection distributed by surfplot
Harvard-Oxford atlas FSL atlas documentation, including its associated publications; CC BY-SA 4.0 under the FSL atlas terms

Cite the datasets used in your figures and follow their source licenses.