This page is a reference documentation. It only explains the function signature, and not how to use it. Please refer to the user guide for the big picture.


nilearn.datasets.fetch_atlas_schaefer_2018(n_rois=400, yeo_networks=7, resolution_mm=1, data_dir=None, base_url=None, resume=True, verbose=1)[source]#

Download and return file names for the Schaefer 2018 parcellation.

New in version 0.5.1.

This function returns a Deterministic atlas, and the provided images are in MNI152 space.

For more information on this dataset, see Schaefer 2018 parcellation[1], Schaefer et al.[2], and Thomas Yeo et al.[3].

n_rois{100, 200, 300, 400, 500, 600, 700, 800, 900, 1000}, default=400

Number of regions of interest.

yeo_networks{7, 17}, default=7

ROI annotation according to yeo networks.

resolution_mm{1, 2}, default=1mm

Spatial resolution of atlas image in mm.

data_dirpathlib.Path or str, optional

Path where data should be downloaded. By default, files are downloaded in a nilearn_data folder in the home directory of the user. See also nilearn.datasets.utils.get_data_dirs.

base_urlstr, optional

Base URL of files to download (None results in default base_url).

resumebool, default=True

Whether to resume download of a partly-downloaded file.

verboseint, default=1

Verbosity level (0 means no message).


Dictionary-like object, contains:

  • ‘maps’: str, path to nifti file containing the 3D Nifti1Image (its shape is (182, 218, 182)). The values are consecutive integers between 0 and n_rois which can be interpreted as indices in the list of labels.

  • ‘labels’: numpy.ndarray of str, array containing the ROI labels including Yeo-network annotation.


    The list of labels does not contain ‘Background’ by default. To have proper indexing, you should either manually add ‘Background’ to the list of labels:

    # Prepend background label
    data.labels = np.insert(data.labels, 0, "Background")

    Or be careful that the indexing should be offset by one:

    # Get region ID of label '7Networks_LH_Vis_3' when
    # 'Background' was not added to the list of labels:
    # idx should be equal to 3:
    idx = np.where(data.labels == b"7Networks_LH_Vis_3")[0] + 1
  • ‘description’: str, short description of the atlas and some references.


Release v0.14.3 of the Schaefer 2018 parcellation is used by default. Versions prior to v0.14.3 are known to contain erroneous region label names. For more details, see # noqa: E501

Licence: MIT.