Note
Go to the end to download the full example code.
Download NeuroStore coordinates
NeuroStore is the maintained, continuously-updated database of neuroimaging coordinates behind Neurosynth Compose, and it is where new NiMARE analyses should get their coordinate data.
NeuroStore publishes periodic snapshots of the whole database as
studyset releases: archives of
parquet tables that load straight into a Studyset
(see Loading Studysets from parquet for the file layout). fetch_neurostore()
downloads, checksums, and extracts one of those releases for you.
Note
Reading the parquet tables requires pyarrow, which NiMARE ships as an extra:
pip install nimare[parquet]
Warning
fetch_neurosynth() (see Neurosynth and NeuroQuery) downloads a frozen
snapshot of Neurosynth, whose coordinates were extracted in 2018. It is deprecated and will be
removed in NiMARE 1.0.0. Keep using it only to reproduce published Neurosynth analyses, or to
get the Neurosynth term annotations that NiMARE’s Neurosynth-based decoders need.
For information about where these files will be downloaded to on your machine, see Fetching resources from the internet.
Start with the necessary imports
import os
from nimare.extract import fetch_neurostore, fetch_neurostore_releases
See which releases are available
NeuroStore publishes dated releases (one per month) plus a rolling nightly build.
Each entry reports when it was built and how much data it holds.
for release in fetch_neurostore_releases():
print(
f"{release['version']:>10} ({release['release_type']}): "
f"{release['study_count']} studies, built {release['built_at']}"
)
Download the most recent release
version="latest" (the default) takes the most recent dated release. Pass
version="nightly" for the rolling build, or an explicit version such as
version="2026-09" to pin an analysis to a specific snapshot.
The release is cached on disk, so re-running this is cheap; pass overwrite=True
to force a fresh download.
out_dir = os.path.abspath("../example_data/")
os.makedirs(out_dir, exist_ok=True)
studyset = fetch_neurostore(data_dir=out_dir)
print(studyset)
print(f"Studyset ID: {studyset.id}")
print(f"Number of studies: {len(studyset.study_ids)}")
print(f"Number of analyses: {len(studyset.ids)}")
Inspect the coordinates
The Studyset exposes the standard table views, so the release is ready for filtering, annotation, and meta-analysis.
print(studyset.coordinates.head())
Keep the extracted files instead
return_type="files" skips loading and returns the path to the extracted parquet
directory, which can be loaded later with Studyset(path).
release_dir = fetch_neurostore(data_dir=out_dir, return_type="files")
print(release_dir)
print(sorted(os.listdir(release_dir)))
Download a single studyset instead of the whole database
To fetch one curated studyset (for example, one assembled in Neurosynth Compose)
rather than a full release, use fetch_neurostore_studyset() with the
studyset’s NeuroStore ID.