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.