netneurotools.datasets.fetch_fslr_curated
- netneurotools.datasets.fetch_fslr_curated(version='fslr32k', force=False, data_dir=None, verbose=1)[source]
Download files for HCP fsLR template.
This dataset contains surface geometry files (midthickness, inflated, veryinflated [where available], sphere), medial wall labels, and surface shape files (sulcal depth and vertex area) in GIFTI format for the HCP fsLR template at various densities.
If you used this data, please cite 1, 2, 3.
- Parameters:
version (str, optional) – One of {“fslr4k”, “fslr8k”, “fslr32k”, “fslr164k”}. Default: ‘fslr32k’
- Returns:
filenames – Dictionary-like object with keys [‘midthickness’, ‘inflated’, ‘veryinflated’ (except for ‘fslr4k’/’fslr8k’), ‘sphere’, ‘medial’, ‘sulc’, ‘vaavg’], where corresponding values are Surface namedtuples containing filepaths for the left (L) and right (R) hemisphere files in GIFTI format.
- Return type:
- Other Parameters:
force (bool, optional) – If True, will overwrite existing dataset. Default: False
data_dir (str, optional) – Path to use as data directory. If not specified, will check for environmental variable ‘NNT_DATA’; if that is not set, will use ~/nnt-data instead. Default: None
verbose (int, optional) – Modifies verbosity of download, where higher numbers mean more updates. Default: 1
Notes
This function fetches curated fsLR surfaces from the neuromaps package (see neuromaps.datasets.fetch_fslr). All files are provided in GIFTI format (.gii). The fsLR template is the HCP standard mesh used for group analyses and cross-subject alignment.
The returned files include:
- midthickness: Midthickness surface geometry (.surf.gii), halfway
between white and pial surfaces; often preferred for data mapping.
- inflated: Inflated surface geometry (.surf.gii) for improved
visualization of sulci and gyri.
- veryinflated: Very inflated surface geometry (.surf.gii) providing
additional smoothing; not available for ‘fslr4k’/’fslr8k’.
- sphere: Spherical surface geometry (.surf.gii) used for surface-based
registration and applying parcellations.
- medial: Medial wall mask (.label.gii) indicating vertices to exclude
from analyses (vertices with no cortex).
- sulc: Sulcal depth map (.shape.gii) providing sulcal/gyral patterns
on the midthickness surface.
- vaavg: Vertex area map (.shape.gii) representing the average vertex
area on the midthickness surface.
The vertex density varies by version: fslr4k (≈4k vertices), fslr8k (≈8k), fslr32k (≈32k), and fslr164k (≈164k) per hemisphere.
Example directory tree:
~/nnt-data/tpl-fslr_curated ├── fslr164k │ ├── README.md │ ├── tpl-fsLR_den-164k_hemi-L_desc-nomedialwall_dparc.label.gii │ ├── tpl-fsLR_den-164k_hemi-L_desc-sulc_midthickness.shape.gii │ ├── tpl-fsLR_den-164k_hemi-L_desc-vaavg_midthickness.shape.gii │ ├── tpl-fsLR_den-164k_hemi-L_inflated.surf.gii │ ├── tpl-fsLR_den-164k_hemi-L_midthickness.surf.gii │ ├── tpl-fsLR_den-164k_hemi-L_sphere.surf.gii │ ├── tpl-fsLR_den-164k_hemi-L_veryinflated.surf.gii │ ├── tpl-fsLR_den-164k_hemi-R_desc-nomedialwall_dparc.label.gii │ ├── tpl-fsLR_den-164k_hemi-R_desc-sulc_midthickness.shape.gii │ ├── tpl-fsLR_den-164k_hemi-R_desc-vaavg_midthickness.shape.gii │ ├── tpl-fsLR_den-164k_hemi-R_inflated.surf.gii │ ├── tpl-fsLR_den-164k_hemi-R_midthickness.surf.gii │ ├── tpl-fsLR_den-164k_hemi-R_sphere.surf.gii │ ├── tpl-fsLR_den-164k_hemi-R_veryinflated.surf.gii │ ├── tpl-fsLR_space-fsaverage_den-164k_hemi-L_sphere.surf.gii │ └── tpl-fsLR_space-fsaverage_den-164k_hemi-R_sphere.surf.gii ├── fslr32k │ ├── README.md │ ├── tpl-fsLR_den-32k_hemi-L_desc-nomedialwall_dparc.label.gii │ ├── tpl-fsLR_den-32k_hemi-L_desc-sulc_midthickness.shape.gii │ ├── tpl-fsLR_den-32k_hemi-L_desc-vaavg_midthickness.shape.gii │ ├── tpl-fsLR_den-32k_hemi-L_inflated.surf.gii │ ├── tpl-fsLR_den-32k_hemi-L_midthickness.surf.gii │ ├── tpl-fsLR_den-32k_hemi-L_sphere.surf.gii │ ├── tpl-fsLR_den-32k_hemi-L_veryinflated.surf.gii │ ├── tpl-fsLR_den-32k_hemi-R_desc-nomedialwall_dparc.label.gii │ ├── tpl-fsLR_den-32k_hemi-R_desc-sulc_midthickness.shape.gii │ ├── tpl-fsLR_den-32k_hemi-R_desc-vaavg_midthickness.shape.gii │ ├── tpl-fsLR_den-32k_hemi-R_inflated.surf.gii │ ├── tpl-fsLR_den-32k_hemi-R_midthickness.surf.gii │ ├── tpl-fsLR_den-32k_hemi-R_sphere.surf.gii │ ├── tpl-fsLR_den-32k_hemi-R_veryinflated.surf.gii │ ├── tpl-fsLR_space-fsaverage_den-32k_hemi-L_sphere.surf.gii │ └── tpl-fsLR_space-fsaverage_den-32k_hemi-R_sphere.surf.gii ├── fslr4k │ ├── tpl-fsLR_den-4k_hemi-L_desc-nomedialwall_dparc.label.gii │ ├── tpl-fsLR_den-4k_hemi-L_desc-sulc_midthickness.shape.gii │ ├── tpl-fsLR_den-4k_hemi-L_desc-vaavg_midthickness.shape.gii │ ├── tpl-fsLR_den-4k_hemi-L_inflated.surf.gii │ ├── tpl-fsLR_den-4k_hemi-L_midthickness.surf.gii │ ├── tpl-fsLR_den-4k_hemi-L_sphere.surf.gii │ ├── tpl-fsLR_den-4k_hemi-R_desc-nomedialwall_dparc.label.gii │ ├── tpl-fsLR_den-4k_hemi-R_desc-sulc_midthickness.shape.gii │ ├── tpl-fsLR_den-4k_hemi-R_desc-vaavg_midthickness.shape.gii │ ├── tpl-fsLR_den-4k_hemi-R_inflated.surf.gii │ ├── tpl-fsLR_den-4k_hemi-R_midthickness.surf.gii │ ├── tpl-fsLR_den-4k_hemi-R_sphere.surf.gii │ ├── tpl-fsLR_space-fsaverage_den-4k_hemi-L_sphere.surf.gii │ └── tpl-fsLR_space-fsaverage_den-4k_hemi-R_sphere.surf.gii └── fslr8k ├── tpl-fsLR_den-8k_hemi-L_desc-nomedialwall_dparc.label.gii ├── tpl-fsLR_den-8k_hemi-L_desc-sulc_midthickness.shape.gii ├── tpl-fsLR_den-8k_hemi-L_desc-vaavg_midthickness.shape.gii ├── tpl-fsLR_den-8k_hemi-L_inflated.surf.gii ├── tpl-fsLR_den-8k_hemi-L_midthickness.surf.gii ├── tpl-fsLR_den-8k_hemi-L_sphere.surf.gii ├── tpl-fsLR_den-8k_hemi-R_desc-nomedialwall_dparc.label.gii ├── tpl-fsLR_den-8k_hemi-R_desc-sulc_midthickness.shape.gii ├── tpl-fsLR_den-8k_hemi-R_desc-vaavg_midthickness.shape.gii ├── tpl-fsLR_den-8k_hemi-R_inflated.surf.gii ├── tpl-fsLR_den-8k_hemi-R_midthickness.surf.gii ├── tpl-fsLR_den-8k_hemi-R_sphere.surf.gii ├── tpl-fsLR_space-fsaverage_den-8k_hemi-L_sphere.surf.gii └── tpl-fsLR_space-fsaverage_den-8k_hemi-R_sphere.surf.gii 4 directories, 62 filesExamples
Load the fsLR curated template surfaces:
>>> surfaces = fetch_fslr_curated(version='fslr32k') >>> surfaces.keys() dict_keys(['midthickness', 'inflated', 'veryinflated', 'sphere', 'medial', 'sulc', 'vaavg'])
Access the midthickness surface GIFTI files:
>>> surfaces.midthickness Surface(L=PosixPath('~/nnt-data/tpl-fslr_curated/fslr32k/tpl-fsLR_den-32k_hemi-L_midthickness.surf.gii'), R=PosixPath('~/nnt-data/tpl-fslr_curated/fslr32k/tpl-fsLR_den-32k_hemi-R_midthickness.surf.gii'))
Load the left midthickness surface with nibabel:
>>> import nibabel as nib >>> gii = nib.load(surfaces.midthickness.L) >>> vertices = gii.agg_data('pointset') >>> faces = gii.agg_data('triangle') >>> print(vertices.shape, faces.shape) (32492, 3) (64980, 3)
Load and examine the sulcal depth data:
>>> sulc_left = nib.load(surfaces.sulc.L) >>> sulc_data = sulc_left.agg_data() >>> float(sulc_data.min()), float(sulc_data.max()) (-1.6234848499298096, 1.1611071825027466)
References