CoolFace
Datasetpublic

ciaochris/neuro2-neuroscience-datasets

Neuro2 Neuroscience Dataset Atlas Neuro2 is an interactive 3D knowledge graph, discovery engine, and metadata atlas for exploring open neuroscience datasets across the global research ecosystem. This repository publishes an authoritative, cryptographically verified snapshot of the complete public Neuro2 catalog together with 5 query-optimized Parquet tables designed for instant analysis in Python, Hugging Face datasets, DuckDB, Polars, Pandas, NetworkX, and Graph Neural… See the full description on the dataset page: https://huggingface.co/datasets/ciaochris/neuro2-neuroscience-datasets.

sourceHugging Faceotherupdated 1mo agoView on Hugging Face
0likes164downloads
Dataset Card

Neuro2 Neuroscience Dataset Atlas

<div align="center">

![Live Explorer](https://datasets.neuro2.ai/) ![Hugging Face Datasets](https://huggingface.co/datasets/ciaochris/neuro2-neuroscience-datasets) ![License: Mixed Open-green?style=for-the-badge)](https://choosealicense.com/licenses/other/) ![Parquet Views](#dataset-configurations)

</div>

Neuro2 is an interactive 3D knowledge graph, discovery engine, and metadata atlas for exploring open neuroscience datasets across the global research ecosystem.

This repository publishes an authoritative, cryptographically verified snapshot of the complete public Neuro2 catalog together with 5 query-optimized Parquet tables designed for instant analysis in Python, Hugging Face datasets, DuckDB, Polars, Pandas, NetworkX, and Graph Neural Network (GNN) pipelines.


Key Highlights & Statistics

  • —12,011 Datasets Indexed: Aggregating public metadata from 18 major research repositories (OpenNeuro, Zenodo, DANDI, OSF, Figshare, Dataverse, NeuroVault, PhysioNet, CONP, GIN, Dryad, DataLad, NeuralBench, FCP/INDI, BNCI, NITRC, NeuroAtlas, and Hugging Face).
  • —Comprehensive Modality Coverage: Spanning EEG (3,856+), MRI/fMRI/sMRI/dMRI (3,275+), Electrophysiology / Neural Signals (2,405+), MEG (1,330+), Eye-tracking (285+), iEEG/ECoG (239+), NIRS/fNIRS (159+), PET (108+), ECG, Optical Physiology (OPhys), and behavioral experiments.
  • —Enriched Knowledge Graph (40,934 Nodes & 63,390 Edges): Capturing interconnectivity between datasets, experimental tasks, research papers, authors, institutions, funding agencies, GitHub code repositories, and recording hardware manufacturers.
  • —Large-Scale Cohort Metrics: Covering 128,450+ recorded subjects and over 741 million recording seconds (~205,840+ hours / >23.5 years of continuous neural recording data).
  • —Semantic & Sparse Embeddings: Includes 11,183 TF-IDF sparse embedding vectors and full-text search indices for instant semantic discovery, keyword filtering, and topic modeling.
  • —Byte-for-Byte Raw Mirror: The raw/ directory contains exact byte copies of the 5 top-level graph JSON documents and 32 sharded detail files (detail/00.json through detail/31.json) backed by manifest.json.

Dataset Configurations

The repository exposes five distinct Hugging Face configurations:

ConfigurationRowsColumnsParquet FileDescription
`datasets`12,01126data/datasets.parquetDetailed dataset catalog records with normalized scalar fields, modalities, tasks, authors, institutions, funders, and raw JSON.
`nodes`40,9348data/nodes.parquetMulti-layer graph nodes (core, context, author) spanning datasets, tasks, papers, authors, institutions, funders, modalities, and scanners.
`edges`63,3908data/edges.parquetGraph links with resolved source and target IDs, node kinds, index mappings, and explicit relationship types.
`search_text`12,0092data/search_text.parquetHigh-speed multi-token search index for substring and keyword querying.
`embeddings`11,1835data/embeddings.parquetSparse TF-IDF semantic term-weight maps and top keyword lists for nearest-neighbor similarity search.

Quickstart & Usage Examples

1. Load with Hugging Face datasets

python
from datasets import load_dataset

# Load the primary dataset catalog
datasets = load_dataset(
    "ciaochris/neuro2-neuroscience-datasets",
    "datasets",
    split="train",
)

print(f"Total datasets: {len(datasets)}")
print("Sample record:", datasets[0])

# Load knowledge graph nodes and edges
nodes = load_dataset("ciaochris/neuro2-neuroscience-datasets", "nodes", split="train")
edges = load_dataset("ciaochris/neuro2-neuroscience-datasets", "edges", split="train")

2. Fast Direct Parquet Loading (Pandas / Polars)

Because the files are standard Parquet, you can read them directly from Hugging Face without cloning the full repository:

python
import pandas as pd

# Load directly from the Hub URL
url = "https://huggingface.co/datasets/ciaochris/neuro2-neuroscience-datasets/resolve/main/data/datasets.parquet"
df = pd.read_parquet(url)

# Filter for human EEG datasets with at least 30 recorded subjects
eeg_large_cohorts = df[
    (df["species"] == "human") &
    (df["modalities"].apply(lambda mods: "eeg" in mods if mods is not None else False)) &
    (df["subject_count"] >= 30)
]

print(f"Found {len(eeg_large_cohorts)} large-cohort EEG datasets:")
print(eeg_large_cohorts[["id", "name", "source", "subject_count", "license"]].head(10))

3. Serverless SQL Analytics (DuckDB)

Query remote Parquet tables using standard SQL:

python
import duckdb

con = duckdb.connect()

# Query top neuroscience repositories by dataset volume
query = """
SELECT 
    source, 
    COUNT(*) AS total_datasets,
    SUM(subject_count) AS total_subjects,
    ROUND(SUM(recording_seconds) / 3600, 1) AS total_hours
FROM 'https://huggingface.co/datasets/ciaochris/neuro2-neuroscience-datasets/resolve/main/data/datasets.parquet'
GROUP BY source
ORDER BY total_datasets DESC
LIMIT 10;
"""

print(con.execute(query).df())

4. Knowledge Graph Analysis (NetworkX)

Construct a heterogeneous multi-relational graph from nodes and edges:

python
import networkx as nx
import pyarrow.parquet as pq

# Load nodes and edges tables
nodes_table = pq.read_table("data/nodes.parquet")
edges_table = pq.read_table("data/edges.parquet")

G = nx.MultiDiGraph()

# Add nodes with attributes
for node_id, kind, label, layer in zip(
    nodes_table["id"].to_pylist(),
    nodes_table["kind"].to_pylist(),
    nodes_table["label"].to_pylist(),
    nodes_table["layer"].to_pylist(),
):
    G.add_node(node_id, kind=kind, label=label, layer=layer)

# Add edges with relationships
for src, dst, rel in zip(
    edges_table["source_id"].to_pylist(),
    edges_table["target_id"].to_pylist(),
    edges_table["relationship"].to_pylist(),
):
    G.add_edge(src, dst, relationship=rel)

print(f"Constructed Knowledge Graph: {G.number_of_nodes():,} nodes, {G.number_of_edges():,} edges.")

# Find the most connected research institutions
inst_nodes = [n for n, d in G.nodes(data=True) if d.get("kind") == "institution"]
top_institutions = sorted(
    [(G.degree(n), G.nodes[n].get("label")) for n in inst_nodes],
    reverse=True
)

print("\nTop 5 Connected Institutions:")
for degree, label in top_institutions[:5]:
    print(f"  {label} ({degree} linked datasets/entities)")

5. Semantic Search via Sparse TF-IDF Embeddings

Discover datasets matching complex conceptual queries via cosine similarity:

python
import json
import math
import pyarrow.parquet as pq

emb_table = pq.read_table("data/embeddings.parquet")

query_terms = {"sleep": 1.0, "spindle": 0.8, "eeg": 0.5}
query_norm = math.sqrt(sum(v**2 for v in query_terms.values()))

results = []
for doc_id, top_terms, weights_json in zip(
    emb_table["id"].to_pylist(),
    emb_table["top_terms"].to_pylist(),
    emb_table["weights_json"].to_pylist(),
):
    if not weights_json:
        continue
    weights = json.loads(weights_json)
    dot_product = sum(query_terms[t] * weights[t] for t in query_terms if t in weights)
    if dot_product > 0:
        doc_norm = math.sqrt(sum(w**2 for w in weights.values()))
        sim = dot_product / (query_norm * doc_norm)
        results.append((sim, doc_id, top_terms[:5]))

results.sort(reverse=True)

print("Top 5 Semantically Similar Datasets:")
for sim, doc_id, terms in results[:5]:
    print(f"  [{sim:.3f}] {doc_id} -> Keywords: {terms}")

Dataset Breakdown & Distributions

Source Repositories Indexed

RepositoryDatasetsShare (%)Primary Modalities & Focus
Zenodo2,34919.6%Multi-modal neuroscience, EEG, MRI, neural benchmarks, software data
Hugging Face1,94416.2%ML-ready electrophysiology, brain-computer interfaces, neural embeddings
OpenNeuro1,80415.0%BIDS-standardized fMRI, EEG, MEG, iEEG, PET
OSF (Open Science Framework)1,64313.7%Cognitive neuroscience, behavioral paradigms, resting-state recordings
Figshare1,0839.0%Multi-disciplinary imaging, optical physiology, tabular neuroscience
DANDI Archive8737.3%Cellular neurophysiology, Neuropixels, optical imaging, NWB format
Dataverse8026.7%University repository collections, psychological & neural experiments
NeuroVault5084.2%3D statistical neuroimaging maps, fMRI contrast maps
PhysioNet4263.5%Clinical EEG, sleep polysomnography, intracranial recordings
CONP (Canadian Open Neuroscience)1811.5%Standardized Canadian neuroimaging & genetics cohorts
GIN (G-Node Infrastructure)1781.5%Electrophysiology, spike trains, behavioral tracking
Dryad790.7%Curated biological and animal neural data
DataLad / NeuralBench / FCP-INDI / BNCI / NITRC / NeuroAtlas1411.2%Specialized benchmark suites, resting-state fMRI, brain-computer interfaces

Modalities

  • —EEG (Electroencephalography): 3,856 datasets
  • —MRI (fMRI, sMRI, dMRI, DWI, BOLD): 3,275+ datasets
  • —Signals & Electrophysiology (Patch clamp, Neuropixels, Spikes): 2,405+ datasets
  • —MEG (Magnetoencephalography): 1,330 datasets
  • —Eye-Tracking & Pupillometry: 285 datasets
  • —iEEG / ECoG (Intracranial EEG / Electrocorticography): 239 datasets
  • —NIRS / fNIRS (Near-Infrared Spectroscopy): 159 datasets
  • —PET (Positron Emission Tomography): 108 datasets
  • —ECG & Autonomic Physiology: 75 datasets
  • —OPhys (Optical Physiology / Two-Photon Calcium Imaging): 56 datasets

Species Distribution

  • —Human (`human`): 11,196 datasets (93.2%)
  • —Animal (`animal` - Non-human primates, Rodents, etc.): 471 datasets (3.9%)
  • —Unknown / Cross-species (`unknown`): 344 datasets (2.9%)

Schema Reference

1. datasets Configuration

Field NameTypeDescription
idstringUnique identifier (e.g. dataset:openneuro-ds000001, dataset:dandi-000003).
namestringTitle of the dataset as published on the source repository.
sourcestringOrigin repository platform (e.g. openneuro, zenodo, dandi, osf).
source_urlstringCanonical public URL to the dataset landing page or host repository.
data_urlstringDirect download / API endpoint URL if available.
licensestringExplicit dataset license declared by upstream host (e.g. CC0, CC-BY-4.0, MIT).
speciesstringOrganism category (human, animal, or unknown).
yearstringPublication or upload year.
modalitystringPrimary recording modality scalar.
subject_countint64Total number of recorded human or animal participants.
session_countint64Number of recording sessions.
file_countint64Total number of raw / processed data files.
byte_sizeint64Aggregate dataset payload size in bytes.
recording_secondsdoubleTotal duration of recorded neural time-series in seconds.
doistringDigital Object Identifier (DOI) for permanent citation.
bids_versionstringBrain Imaging Data Structure specification version (e.g. 1.6.0, n/a).
processing_statestringStatus of upstream data processing (e.g. raw, derivatives).
citation_countint64Number of academic citations referencing this dataset.
taskslist<string>Experimental paradigms and tasks (e.g. rest, n-back, motor imagery).
modalitieslist<string>List of all recording modalities present in the dataset.
authorslist<string>Principal investigators, authors, and data contributors.
institutionslist<string>Affiliated universities, institutes, and research clinics.
funderslist<string>Funding agencies and grant organizations (e.g. NIH, Wellcome Trust, NSF).
referenceslist<string>Linked publication DOIs, PubMed IDs, and paper links.
subject_identifierslist<string>Anonymized participant identifiers from dataset sidecars.
record_jsonstringComplete lossless JSON serialization containing nested demographics, field strengths, sampling rates, and scanner models.

2. nodes Configuration

Field NameTypeDescription
global_indexint64Deterministic global index matching 3D graph layout coordinates.
layerstringGraph tier: core (datasets/modalities/tasks), context (institutions/funders/papers/scanners), or author (researchers).
idstringGlobal node identifier (e.g. author:nataliya-kosmyna, institution:stanford, dataset:openneuro-ds000102).
kindstringNode entity type (dataset, author, task, paper, institution, funder, modality, manufacturer, code, githubuser).
labelstringHuman-readable display label.
degreeint64Total number of connected relationships in the graph.
valuedoubleImportance / display scale weight for 3D visualization.
meta_jsonstringSerialized node metadata dictionary.

3. edges Configuration

Field NameTypeDescription
source_layerstringGraph layer originating the edge (core, context, author).
source_indexint64Global index of the source node.
target_indexint64Global index of the target node.
source_idstringIdentifier of the source entity.
target_idstringIdentifier of the target entity.
source_kindstringEntity kind of the source node.
target_kindstringEntity kind of the target node.
relationshipstringRelationship type (author, modality, task, institution, funder, paper, contributor, code, manufacturer).

4. search_text Configuration

Field NameTypeDescription
idstringDataset identifier.
search_textstringPreprocessed token string concatenating titles, tasks, modalities, and keywords for fast regex/substring retrieval.

5. embeddings Configuration

Field NameTypeDescription
idstringEntity identifier.
entity_kindstringEntity kind (dataset or paper).
token_countint64Number of distinct non-zero weight terms in the sparse vector.
top_termslist<string>Top keywords ordered by descending TF-IDF weight.
weights_jsonstringJSON mapping of normalized sparse term weights for cosine similarity calculations.

Provenance, Pipeline & Reproducibility

This repository is maintained as an automated, reproducible mirror of datasets.neuro2.ai.

Snapshot Provenance

  • —Snapshot Timestamp: 2026-08-14T11:54:30Z
  • —Source Byte Total: 35,330,883 bytes across 37 validated JSON documents.
  • —Manifest: manifest.json provides cryptographic SHA-256 hashes, HTTP headers (ETag, Last-Modified), schemas, and row counts for every mirrored file.

Refresh & Verification Commands

To reproduce the synchronization, normalize the Parquet tables, and verify cryptographic integrity locally:

powershell
# Set Python path to include synchronization modules
$env:PYTHONPATH='scripts'
$env:PYTHONDONTWRITEBYTECODE='1'

# 1. Sync public catalog from upstream into repository layout
python 'scripts/sync_neuro2.py' sync --repo-root .

# 2. Verify all Parquet tables, schemas, and SHA-256 digests against manifest.json
python 'scripts/sync_neuro2.py' verify --repo-root .

# 3. Execute automated test suite
python -m pytest -q

Licensing, Ethics & Data Access

Licensing

The repository-level license is `other` because this catalog aggregates public metadata from 18 disparate research platforms, each governed by its own terms:

  • —Every row in the datasets table explicitly preserves the license and canonical source_url provided by the original host.
  • —Common upstream licenses include Creative Commons Zero (CC0), Creative Commons Attribution (CC-BY 4.0), Open Data Commons PDDL, MIT, and specific institutional open-access terms.
  • —Downstream researchers must consult and comply with the individual license terms of the underlying datasets they access.

Data Access & Scientific Payloads

This repository distributes metadata, relational graph topology, and semantic indices. Linked raw electrophysiology, neuroimaging, and behavioral payloads (amounting to ~151.7 TB across global servers) remain hosted on their respective scientific platforms (OpenNeuro, Zenodo, DANDI, Figshare, PhysioNet, etc.).

Human Subjects & Ethical Standards

All metadata in this atlas originated from publicly published, de-identified research archives. No private health information (PHI) or unshared participant data is collected or exposed.


Citation & Attribution

The Neuro2 live 3D atlas and catalog were created and maintained by [Nataliya Kosmyna](https://www.linkedin.com/in/nataliekosmina/) and [Eugene Hauptmann](https://github.com/eugenehp).

If you use Neuro2 in your research, software, or meta-analyses, please cite the project as follows:

bibtex
@misc{neuro2_2026,
  author       = {Kosmyna, Nataliya and Hauptmann, Eugene},
  title        = {Neuro2: The Interactive 3D Open Neuroscience Dataset Atlas},
  year         = {2026},
  publisher    = {Hugging Face},
  howpublished = {\url{https://datasets.neuro2.ai/}},
  note         = {Hugging Face Dataset: ciaochris/neuro2-neuroscience-datasets}
}

When utilizing underlying datasets identified through this atlas, please also cite the primary dataset authors, DOIs, and originating host repositories.