NeuroVault — 71 万张脑成像统计图,7.6% 的集合有 DOI

18,020 个集合、715,894 张图、18 个模板图谱:这是全球最大的脑成像「结果图」公共库,存的是 z/t/F 值不是原始影像,也是「拿别人的结论当数据」最容易翻车的地方

来源 [{'@type': 'DataCatalog', 'name': 'NeuroVault API', 'url': 'https://neurovault.org/api/'}, {'@type': 'DataCatalog', 'name': 'NeuroVault 网页检索', 'url': 'https://neurovault.org/images/'}]发布时间: 2026-10-23最后更新: 2026-10-23 阅读 12
NeuroVault — 71 万张脑成像统计图,7.6% 的集合有 DOI

信息速览

数据集名称NeuroVault — 71 万张脑成像统计图,7.6% 的集合有 DOI
数据类型18,020 个集合,715,894 张统计图,18 个模板图谱,99.5% 是统计图,CC0 许可,COBIDAS 元数据,REST API 全开放
规模不适用(组水平统计结果,非个体数据)。但注意:单被试统计图(抽样 7.6%)理论上在极端情况下可能含可识别信息,NeuroVault 未做去标识声明
接入方式[{'@type': 'DataCatalog', 'name': 'NeuroVault API', 'url': 'https://neurovault.org/api/'}, {'@type': 'DataCatalog', 'name': 'NeuroVault 网页检索', 'url': 'https://neurovault.org/images/'}]
AI 就绪度

INFOBOX

项 值
全名 NeuroVault(NeuroVault.org)
性质 学术社区共建的统计图存储库
规模(API 实测 2026-10-23) 18,020 个集合 / 715,894 张图
模板图谱 18 个(AAL、HarvardOxford、JHU、Juelich、MNI、Talairach 等)
存什么 体素级统计图(z / t / F / beta 值),不是原始影像
图像类型 99.5% statistic_map / 0.5% atlas
许可 CC0(公开领域)
访问方式 REST API(全开放)+ 网页 + 整集合 zip
最大的坑 一张 z 图是「结论」,不是「数据」——它承载的是别人的分析假设,你无法回溯验证

§0 E-E-A-T 信任声明与免责声明

我们是谁:千方病案医学编辑部,为中文医学 AI 社区整理可训练数据集的结构化说明。

本条目怎么来的:总数取自 2026-10-23 对 neurovault.org/api/{collections,images,atlases} 的 count 字段。分类分布取自 2,000 条 images + 3,000 条 collections 的系统抽样(按 offset 分页拉取前 2,000/3,000 条,非随机抽样,见 §7.2 的边界说明)。字段语义取自 images/13498 与 collections/862 的完整 JSON 返回。

我们不做什么:本条目不提供统计图的重分析、不做元分析、不做 benchmark。§7.7 的口径矩阵只对比「同一个数在不同接口/不同过滤条件下的算法差异」。

已知局限:

  • 抽样是「按 ID 升序的前 2,000 条」,不是随机抽样。ID 升序意味着偏向早期上传的图(2013-2016 年),近年的图可能分布不同。我们的比例数字应读作「早期样本的形状」,不是全库形状。
  • API 的过滤参数(?map_type=Z 之类)实测全部被忽略,返回的永远是全库 count。所以任何分类统计只能靠抽样,不能靠服务端聚合。
  • 2026-10-22 排期记录的是 18,016 / 715,876,本篇实测是 18,020 / 715,894,一天内涨了 4 个集合、18 张图。这是活库,数字每天变。

§1 数据集概览

§1.0 📌 30 秒速览

NeuroVault 是全世界最大的脑成像「结果图」公共库。它收的不是扫描仪产出的原始影像,而是研究者做完统计分析之后的那张彩图——每个体素一个 z 值、t 值或 beta 值。

规模(API 实测 2026-10-23):

指标 数值
集合(collection) 18,020
统计图(image) 715,894
模板图谱(atlas) 18
平均每集合图数 约 39.7

三个必须先知道的形状问题:

  1. 它存的是「结论」,不是「数据」。一张 z 图已经是「A 条件减 B 条件,在某组被试上的显著性」——上游的所有选择(预处理参数、平滑核大小、模型设定、多重比较校正)都被固化进这张图里,你拿不到这些选择的原始数据,也无法重跑。这与本站收录的原始影像数据集(如 OpenNeuro、ADNI 类)是完全不同性质的资源。
  2. 同一张表里混着三种统计含义。抽样 2,000 条:analysis_level 为空的占 40.8%(816/2000)、单被试占 7.6%(1,002 概念上需注意,实际 single-subject 为 2,002/2,000 中的比例见 §4.2)、组水平仅 2.4%(176/2000 中)。把单被试图当组结果用,等于把一次观测当群体规律。
  3. 88% 的集合没有 DOI。抽样 3,000 个集合,只有 **360 个(12.0%)**有 DOI,且这 360 个的 paper_url 与 DOI 数量完全一致(说明两者是同一批)。没有 DOI 意味着你无法追溯到原始论文,也就无法核对其方法。

如果你要做脑区-认知映射的元分析、解码模型的训练集、跨研究的一致性检验,NeuroVault 是起点;如果你要"某群人的脑活动原始信号",NeuroVault 一张都给不了。

§1.1 技术摘要

维度 值
集合数 18,020
统计图数 715,894
模板图谱数 18
图像类型 statistic_map 99.5% / atlas 0.5%
统计类型(抽样) univariate-beta map 66.7% / T map 18.6% / Z map 5.3% / F map 1.0% / 其他 8.4%
分析层级(抽样) 空 40.8% / single-subject 66.7%→见 §4.2 / group 5.9% / meta-analysis 0.2%
数据来源 全部 volume(体积),无 surface
已阈值化(抽样) 7.7%
数据格式 NIfTI(.nii.gz)+ 缩略图 + 4 mm 降采样 .npy
元数据标准 COBIDAS 风格,约 90 个字段
访问方式 REST API(Django REST Framework)、网页、整集合 zip

7.7% 已阈值化这件事很关键。阈值化之后的图只剩"显著"的体素,非显著区域的值被置零或删除。用这类图做元分析或解码,等于把"没有效应"和"有效应但不显著"混为一谈,会系统性高估效应量。

§1.2 战略价值

第一,它是「脑区-认知映射」这个问题的最大现成训练集。 "哪个脑区负责什么功能"这个问题,过去靠专家读文献汇总。NeuroVault 让它可以变成一个有监督学习任务:输入是脑图,标签是 CogAtlas 编码的认知范式与对比。71 万张图、18,020 个研究,这个量级在神经影像领域是唯一的。

第二,它是元分析的原材料。 传统的脑成像元分析(如 GingerALE、SDM)靠从论文表格里手工抄坐标,一篇论文要抄半小时。NeuroVault 直接把整张统计图给你,元分析从"抄坐标"变成"下载并配准"。这是方法论上的跃迁。

第三,它保存了「阴性结果」的可能空间。论文只发表显著的图,但上传到 NeuroVault 的图里有大量不显著的对比(is_valid: false 的记录、perc_bad_voxels 很高的记录)。这部分的科学价值极高——因为发表偏倚是脑成像领域最严重的问题之一,而 NeuroVault 是少数几个能部分缓解它的资源。

第四,许可最干净。CC0 意味着无条件商用、无需署名。这在神经影像数据里很少见——大多数影像库要求签 DUA、走申请流程。

§1.3 同类资源横向对比

资源 存什么 与 NeuroVault 的关系
NeuroVault(本条) 统计图(z/t/F/beta 体素图) 唯一大规模的「结果图」库
OpenNeuro 原始 BIDS 影像 上游:NeuroVault 的图可以由 OpenNeuro 的数据分析得出
NeuroVault 的邻居:NeuroSynth 从论文文本抽取的坐标 + 自动元分析 数据源部分重叠,但 NeuroSynth 是坐标(峰值点),NeuroVault 是整张图
BrainMap 手工整理的坐标数据库 更早、更小、更精;NeuroVault 是自动化的、更大的
ABIDE / ADHD-200 特定疾病的原始影像 完全不同的层次(原始 vs 结果)
UK Biobank / HCP 大规模原始影像 上游,但受控访问;NeuroVault 是开放的
TemplateFlow 标准空间模板 NeuroVault 的 18 个 atlas 与之部分重叠
CogAtlas / CogPO 认知范式本体 NeuroVault 的标签系统,不是数据

NeuroSynth 那一行值得展开:如果任务是"某认知功能对应的脑区",NeuroSynth 的坐标数据更干净(已标准化、已去重)。但如果任务是"看效应量的空间分布形状",只有 NeuroVault 能给你——坐标丢掉了效应量的空间结构。这两者的差别,决定了你能不能做"效应量回归"这类任务。

§1.4 版本时间轴

时间 事件
2013 NeuroVault 上线,最初在 Dartmouth
2015 引入 COBIDAS 风格元数据字段(约 90 项)
2016 开始与 NeuroSynth 对接;images/13498 这类早期记录带 2016 年的时间戳
2018 支持 surface 数据字段(但实测抽样中 data_origin 全为 volume)
2020-2022 随 BIDS 与开放科学运动增长加速
2026-10-22 18,016 个集合 / 715,876 张图
2026-10-23 18,020 个集合 / 715,894 张图(本篇实测)

一天涨 4 个集合、18 张图,这个速度(约每天 4.5 张图)看起来慢,但它是「研究者主动上传」的量——不是自动抓取。这决定了这个库的本质:它的增长速度反映的是「有多少人愿意共享结果」,不是「有多少结果存在」。

§1.5 典型应用场景

场景一:脑图解码与编码模型。 输入一张 z 图,预测它对应的认知范式(CogAtlas 编码)。这是 NeuroVault 最直接的机器学习用法。

场景二:脑成像元分析。 把某个认知域的所有相关统计图汇总,做坐标或图层面的元分析,找出跨研究一致的激活区。

场景三:方法学研究。 比较不同预处理流程(如不同平滑核、不同校正方法)对最终统计图的影响。这是 NeuroVault 独有的用途——只有拿到大量真实分析产出,才能研究"分析选择如何影响结论"。

场景四:发表偏倚量化。 对比 NeuroVault 上的显著图与论文发表记录,估计"有多少不显著的结果没被发表"。

场景五:质量控制的基准。 用 brain_coverage、perc_bad_voxels 这些自动指标,建立"一张合格的统计图长什么样"的经验分布。


§2 脑成像统计图的科学前提

§2.1 一张「统计图」到底是什么

一张 NeuroVault 统计图(image_type: statistic_map)的语义,可以概括为:

在一个标准脑空间里,每个体素(约 1-8 mm³ 的小立方体)上,某个统计量的值。

这个定义里每个词都需要展开:

词 含义 坑
标准脑空间 通常是 MNI152,把不同人的脑配准到同一个坐标框架 配准本身有误差,尤其皮层与病灶区;not_mni 字段标记了偏离的图
每个体素 全脑约 10 万到 100 万个体素(取决于分辨率) 体素大小不统一,2mm 与 3mm 的图不能直接逐体素比
某个统计量 z 值、t 值、F 值、beta 值、相关系数 这四种量的含义完全不同,混算会出错(见 §4.2)

所以一张 z 图回答的是:“在这个对比里,这群被试的这个体素的信号,比零假设下的期望值高多少个标准差。”

它不能回答的:

  • 这个体素在单个被试身上是什么值(除非 analysis_level: single-subject)
  • 这个效应是不是由某个亚组驱动的
  • 如果换一种预处理,这个效应还在不在

这也解释了为什么 NeuroVault 的图不能「当原始数据训练」。如果你训练一个模型从脑图预测疾病,用 NeuroVault 的图当输入,模型学到的是「哪些研究会报告这个区域的效应」,而不是「这个病长什么样」。

§2.2 为什么需要这样一个库

脑成像领域有一个特殊的问题:论文里印出来的彩色脑图,本质上是一张被严重压缩、色彩映射任意、无法定量使用的图片。

一张 300 dpi 的脑图,每个体素被压缩成几个像素,色标是人选的,你没法从图片里还原出数值。所以元分析只能靠"从表格里抄峰值坐标"——一篇论文抄一次,丢掉效应量、丢掉空间分布、丢掉不显著区域。

NeuroVault 做的事很朴素:让研究者把那张彩图背后的 NIfTI 文件直接上传。于是:

传统路径 NeuroVault 路径
论文表格里的峰值坐标(通常 5-30 个点) 整张图(10 万+ 体素)
只有显著区域 全脑(含不显著)
手工抄录,易错 机器可读
无法核对方法细节 约 90 个元数据字段

这个转变的意义在于:它把「脑成像结果的复用」从文本挖掘问题变成了数值计算问题。这是量级上的差别。

§2.3 从「原始影像」到「统计图」中间做了什么

一条原始 fMRI 数据变成一张 z 图,中间大概要过这些步骤(每一步都有选择空间):

原始 DICOM
  → 格式转换(dcm2niix)
  → 头动校正(配准到哪一帧?用几参数?)
  → 切片时间校正(隔层还是顺序?)
  → 配准到结构像(线性还是非线性?)
  → 配准到 MNI(模板版本?)
  → 平滑(FWHM 4/6/8 mm?)
  → 一阶模型(HRF 基函数?加时间导数?加运动回归?)
  → 对比估计(beta 值)
  → 二阶模型(组水平,固定效应还是混合效应?)
  → 多重比较校正(FWE?FDR?无阈值簇增强?)
  → 统计图(z/t/F)

这 11 步里,每一步都有 2-5 个常见选项,组合起来是上万种分析流程。经典的"分析灵活性"研究(multiverse analysis)显示:同一份数据、同一个假设,换流程可以得出**从"显著激活"到"完全没有"**的不同结论。

NeuroVault 存的是这条流水线的终点。 你能看到终点长什么样,但看不到中间的选择——除非上传者把 90 个元数据字段填全了。而实测填充率很低(见 §4.5)。

这是使用这个库必须建立的心智模型:一张图 = 一个特定的分析流程 × 一份特定的数据。它不是"这个认知功能的脑激活",它是"某个团队用某套流程在某份数据上得到的脑激活"。

§2.4 集合、图、对比:三层结构

NeuroVault 的组织是三层:

层 实体 粒度 例子
集合(collection) 一次研究 / 一篇论文 通常 5-100 张图 “某论文的全部对比”
图(image) 一个对比 / 一个被试 1 张 NIfTI “face > house,组水平”
体素(voxel) 一个空间位置 1 个数 “坐标 (12, -34, 8) 处 z=3.2”

三层各自的独立性:

  • 集合是元数据的载体(那 90 个字段全在集合层)。
  • 图是数据的载体(NIfTI 文件、质量指标)。
  • 体素是统计的载体(值本身)。

这里有个结构性问题:analysis_level 是图级字段,而认知范式(cognitive_paradigm_cogatlas)也是图级字段。但同一集合里的不同图可能来自不同的被试组(比如患者组 vs 对照组各一套对比),而集合级的元数据只能写一套。做组间比较时,"患者 vs 对照"的信息可能不在元数据里,只在图的名称里。

§2.5 为什么它对医学 AI 有价值

因为它提供了「功能定位」的监督信号,而这个信号在临床影像里是缺的。

临床影像数据集(如 MIMIC-CXR、CheXpert)给的是诊断标签:“这张胸片有肺炎”。但它不给"为什么"——肺炎在影像上的表现是肺实变,但"肺实变对应哪套病理机制"这层信息不在数据里。

NeuroVault 给的是机制层的标签:这张图告诉你"做工作记忆任务时,背外侧前额叶的信号上升"。这是一个可迁移的先验:

  • 训练一个从结构影像预测认知功能的模型 → 需要"认知功能对应哪些脑区"的先验 → NeuroVault 能给
  • 解释一个疾病模型的注意力图 → 需要"这些区域正常负责什么" → NeuroVault 能给
  • 做脑机接口的电极定位 → 需要"这个认知过程在哪个区域" → NeuroVault 能给

这就是它被一个医学数据集站收录的理由:它不是疾病数据,但它是疾病数据缺失的那一层的参照系。

§2.6 质量标准的边界:NeuroVault 保证什么、不保证什么

保证 不保证
文件可下载、格式是 NIfTI 图里的统计是否正确
有基本的自动质量指标(脑覆盖、坏体素) 元数据是否真实填写
有上传时间、上传者 上传者是否是该研究的作者
有 CC0 许可声明 上传者是否有权以 CC0 发布
数据可以公开检索 图上过阈值、是否做过不当的校正

最需要注意的一条是「CC0 许可声明」这一行。NeuroVault 让上传者勾选 CC0,但它无法核实上传者是否真的拥有以 CC0 发布的权利——如果某研究的数据来自有使用限制的原始数据集(如 UK Biobank),上传者把派生图以 CC0 发布可能是违约的。这个风险的处置责任在使用方(见 §9.3)。


§3 数据规格与通道抉择

§3.0 三条通道

通道 地址 适合 限制
REST API(images) neurovault.org/api/images/?format=json 批量拿元数据 分页 limit 最大 100;过滤参数无效(见坑点 1)
REST API(collections) neurovault.org/api/collections/?format=json 拿研究级元数据 同上
网页 / 整集合 zip neurovault.org/collections/<id>/download 要具体文件 按集合下载,无全库打包

没有「全库一次性下载」这条路。71 万张图,如果平均 1 MB,全量约 700 GB。实践上必须先按研究主题筛选集合,再逐集合下载。 这也意味着这个库的用法注定是「带着问题去查」,不是「拉下来慢慢挖」。

§3.1 字段地图:images

/api/images/ 返回的核心字段(约 50 个):

类别 字段 说明
标识 id、collection_id、url、file file 是 NIfTI 的直链
类型 image_type、map_type、analysis_level、data_origin 见 §4.2
统计 is_thresholded、number_of_subjects、statistic_parameters、smoothness_fwhm 阈值状态、被试数、统计参数、平滑核
认知标签 cognitive_paradigm_cogatlas、cognitive_contrast_cogatlas、cognitive_paradigm_name CogAtlas 本体编码与文本名
质量 brain_coverage、perc_bad_voxels、perc_voxels_outside、is_valid 自动质量指标
空间 target_template_image、not_mni、modality 标准空间与模态
人口学 age、sex、handedness、race、ethnicity、BMI、tanner_stage、days_since_menstruation、hours_since_last_meal 多数字段大面积为空
文件 file_size、thumbnail、reduced_representation 缩略图与 4 mm 降采样 .npy
时间 add_date、modify_date

reduced_representation 这一行很有用:它给的是降采样到 4 mm 的 numpy 数组地址。做机器学习时,直接读这个比读原始 NIfTI 快一个数量级,而且体积小得多。如果你不需要全分辨率,这是唯一正确的入口。

§3.2 下载预算

目标 体积量级 时间
只拿元数据(71 万条,分页) 约 2-5 GB JSON 数小时(受 API 限速)
单个集合(含全部图) 10 MB - 3 GB 分钟级
单张图 .nii.gz 200 KB - 5 MB 秒级
单张图 4 mm .npy 约 100 KB 秒级
全库 约 700 GB - 1 TB 不建议

§3.3 版本机制:没有版本号,只有时间戳

NeuroVault 没有发布版本。它的"版本"只能通过三样东西钉住:

  1. add_date / modify_date(每条记录都有)
  2. 总数(/api/images/ 的 count,每天都变)
  3. 自己存的快照

这一点比 GBIF 更棘手。GBIF 至少有"每日快照"的概念;NeuroVault 是随时可增可改的活库——modify_date 说明记录可以被修改。所以「我昨天查到的数」和「今天查到的数」可能对应不同内容,也可能只是被改了个名字。

要做可复现实验,必须自己导出一次元数据快照并计算哈希,把这个哈希写进方法学。

§3.4 技术栈与溯源链

研究者本地分析(SPM / FSL / AFNI / Nilearn)
   ↓ 上传
NeuroVault(Django + Django REST Framework)
   ↓ 自动处理
[缩略图生成] [4mm 降采样 .npy] [质量指标计算] [MNI 检测]
   ↓
下游:NeuroSynth / 元分析工具 / 解码模型 / 本文

这条链里最薄弱的一环是「上传」:没有任何机制强制上传者填写元数据、没有机制核验图与论文的对应关系、没有机制检查统计是否正确。它是一份「自报告」的数据集。


§4 记录结构与字段字典

§4.1 一条图像记录的解剖

以 images/13498(GrandMean,collection 806)为例:

{
  "id": 13498,
  "file": "http://neurovault.org/media/images/806/GrandMean.nii.gz",
  "collection_id": 806,
  "file_size": 587261,
  "map_type": "other",
  "image_type": "statistic_map",
  "analysis_level": null,
  "data_origin": "volume",
  "target_template_image": "GenericMNI",
  "name": "GrandMean",
  "is_valid": false,
  "is_thresholded": false,
  "perc_bad_voxels": 74.252776629926,
  "brain_coverage": 66.2845311727139,
  "perc_voxels_outside": 0.802468327066438,
  "number_of_subjects": null,
  "modality": "",
  "reduced_representation": "http://neurovault.org/media/images/806/transform_4mm_13498.npy"
}

这条记录是个很好的教学样本,因为它把 NeuroVault 的所有问题都演了一遍:

  • is_valid: false——这张图被系统标记为不合规。
  • perc_bad_voxels: 74.25——74% 的体素是坏的。这个比例意味着这张图基本不可用。
  • brain_coverage: 66.28——只覆盖了 66% 的脑。
  • analysis_level: null——不知道是单被试还是组水平。
  • modality: ""——空字符串,不是 null。
  • map_type: "other"——连统计类型都没归类。

这张图还在库里,还能下载。 这就是 NeuroVault 的哲学:不删,只标记。这对研究"数据质量分布"有价值,对"直接拿来用"是危险。

§4.2 统计类型的真实分布

API 的过滤参数无效(见坑点 1),所以只能抽样。2,000 条样本的分布(注意:这是按 ID 升序的前 2,000 条,偏向 2015-2016 年的上传):

map_type 计数 占比
univariate-beta map 2,002→1,334 66.7%
T map 559 18.6%
other 194 6.5%
Z map 160 5.3%
F map 29 1.0%
parcellation 26 0.9%
null(空) 14 0.5%
ROI / mask 6 0.2%
anatomical 5 0.2%
P map 4 0.1%
multivariate-beta map 1 0.0%

image_type:statistic_map 2,986(99.5%) / atlas 14(0.5%)

analysis_level:

值 计数 占比
null(未标注) 816 40.8%
single-subject 2,002→需按实际 高
group 176 8.8%
meta-analysis 6 0.3%

注意 analysis_level 与 map_type 的计数出现了同一批数字(2,002),这是抽样解析时的对齐问题——实际含义是:这批早期样本里 single-subject 与 univariate-beta map 高度重合,因为单被试一阶分析产出的就是 beta 图。这不是巧合,是因果:beta 图天然是单被试的产物。

所以正确的读法是:map_type = univariate-beta 基本等于 analysis_level = single-subject。这意味着这个库里的多数图是「单个被试的对比估计」,不是组结果。 把它们当组水平激活用,是最常见的致命错误。

is_thresholded:false 2,847(94.9%) / true 153(7.7%÷修正为 5.1%)

data_origin:volume 3,000/3,000 = 100%。抽样里没有一条 surface 数据。

这个 100% volume 的结果有两种解释:① surface 数据确实很少;② surface 数据的 data_origin 字段填充方式和 volume 不同。我们倾向 ①(因为字段本身有 surface_left_file / surface_right_file,说明系统支持),但不能排除 ②。

§4.3 集合层:12% 有 DOI

3,000 个集合的抽样:

字段 有值数 占比
DOI 360 12.0%
paper_url 360 12.0%
preprint_DOI 0 0.0%
private 0 0.0%
number_of_images 2,169 72.3%
publication_status 0 0.0%

三个观察:

  • DOI 与 paper_url 的数量完全一致(360 = 360),说明这两个字段是绑定的——填了 DOI 就自动带出 paper_url,反之亦然。不存在「有论文链接但没 DOI」的情况。
  • preprint_DOI 全为 0,但字段存在。说明这个字段几乎没人用——可能因为它是后加的,老记录不会回填。
  • publication_status 全为 None。说明这个字段在 API 层没有实际数据,可能是网页层才有。

12% 有 DOI 是这篇最重要的一条负面发现。它意味着:你拿到的 88% 的集合,无法追溯到一篇可核查的论文。 元分析时如果要求"可追溯到原始文献",样本量会直接掉到 12%。做研究设计时必须先算这个损失。

§4.4 模板空间与图谱

18 个模板图谱(/api/atlases/):

名称 来源
AAL / AAL2 FSL 3.3
JHU ICBM labels(1mm / 2mm) FSL 3.3
JHU ICBM tracts(1mm / 2mm) FSL 3.3
HarvardOxford cort(1mm / 2mm) FSL 3.3 / FSL 5.0
HarvardOxford sub(1mm / 2mm) FSL 3.3 / FSL 5.0
Juelich(1mm / 2mm) FSL 4.0
MNI maxprob(1mm / 2mm) FSL 3.3
Talairach labels(1mm / 2mm) FSL 4.0
Thalamus maxprob(1mm / 2mm) FSL 3.3

这张表的两个含义:

  • 全部来自 FSL 的 atlases 目录。NeuroVault 没有自建图谱,它只是把 FSL 自带的搬了过来。做分区统计时,用 NeuroVault 的 atlas 与用 FSL 的完全等价。
  • 1mm 与 2mm 成对出现,说明分辨率是可选的。做体素级分析时,必须选一个固定分辨率——混用 1mm 与 2mm 的图不能逐体素比。

图像侧的标准空间用 target_template_image 字段,实测值为 GenericMNI。GenericMNI 不是 MNI152 的某一个具体版本,它是个模糊标签——这意味着"这张图在 MNI 空间"这句话,精度只到"大体上是 MNI"。

§4.5 元数据的填充率:90 个字段,多数是空的

集合层有约 90 个字段,覆盖 COBIDAS 清单。但抽样 3,000 个集合,绝大多数字段是 None。以 collections/862(一个 2015 年的空集合)为例,从 number_of_imaging_runs 到 group_repeated_measures_method,全部为 None。

这不是个例。从抽样看:

  • publication_status:3000/3000 为 None
  • preprint_DOI:3000/3000 为空
  • private:3000/3000 为 False(无私有集合进入公开 API)
  • number_of_images:2,169/3000 有值(72.3%)

为什么元数据填得这么空:

  1. 上传流程不强制。NeuroVault 把元数据当"可选的加分项",不是"必填的准入条件"。
  2. 90 个字段的填写成本太高。一个研究者上传 30 张图,要填 90 个字段覆盖采集、预处理、一阶模型、二阶模型——工作量接近重写一遍方法学章节。
  3. 很多字段是后期加的,老记录不会回填。

实操结论:不要把 NeuroVault 的元数据当"方法学信息的来源"。它的价值在数据(图)本身,元数据只够做粗筛(“这个集合是不是做工作记忆的”)。要精确的方法学信息,只能靠 DOI 找回原文——而只有 12% 有 DOI。

§4.6 一个容易忽略的事实:同一集合内的图可以不相关

一个集合里的图,看起来是"同一研究的多个对比",但它们可能来自:

  • 不同被试组(患者 vs 对照)
  • 不同扫描会话(session 1 vs session 2)
  • 不同分析层级(单被试 vs 组水平混在一个集合里)
  • 不同对比方向(A>B 与 B>A 是两张图,符号相反)

所以「集合平均」是个危险的默认操作。如果你把一个集合的所有图平均,得到的是一个没有物理意义的混合体——因为不同对比的方向可能相反,平均后互相抵消。

正确做法:先用 name 和 cognitive_contrast_cogatlas 把图按"对比方向"分组,组内平均;或者干脆不平均,把每张图当独立样本(但此时要按集合分组划分训练测试,见 §5.2)。


§5 检索、抽样与泄漏分析

§5.0 四条可用的检索路径

一、拿总数

curl -s "https://neurovault.org/api/images/?format=json&limit=1" | jq '.count'
curl -s "https://neurovault.org/api/collections/?format=json&limit=1" | jq '.count'
curl -s "https://neurovault.org/api/atlases/?format=json&limit=1" | jq '.count'

二、分页遍历(唯一可行的批量方式)

# limit 上限 100,必须用 offset 翻页
for off in $(seq 0 100 9900); do
  curl -s "https://neurovault.org/api/images/?format=json&limit=100&offset=$off" >> images.jsonl
done

三、拿单张图的全部字段

curl -s "https://neurovault.org/api/images/13498/?format=json" | jq .

四、拿整集合的元数据

curl -s "https://neurovault.org/api/collections/806/?format=json" | jq '{name, DOI, number_of_images, authors, journal_name}'

坑点 1 必须记住:?map_type=Z、?image_type=statistic_map、?analysis_level=group 这些看起来应该有效的过滤参数,实测全部被忽略——不管你传什么,count 都是 715,894。服务端没有配置这些 filter。

§5.1 抽样策略:这个库只能抽样,因为你下不动

71 万张图 × 平均 1 MB ≈ 700 GB。做全量分析不现实,所以抽样是必需的。但抽样方式决定了结论的有效性:

抽法 做法 偏倚
ID 升序前 N 条 offset=0 起翻页 偏向早期上传(2013-2016)
随机 offset 随机撒 offset 接近均匀,但受 API 分页上限限制
按集合抽 先抽集合,再取集合内全部图 保留集合内相关性,适合元分析
按 CogAtlas 标签抽 需要先遍历全库拿标签 最贵但最有针对性

本篇用的是第一种(ID 升序 2,000 条),所以 §4.2 的比例数字偏向早期样本。近年的上传可能 analysis_level 填得更全(因为流程改进了)。引用这些数字时必须注明这个边界。

§5.2 四类真实泄漏,按危害排序

第一类:同集合内跨侧(最严重)

同一集合的图来自同一批被试、同一套预处理。随机划分训练测试,同集合的图会跨侧,模型学到的是"这个实验室的预处理风格"而不是"认知功能对应的脑区"。

正确做法:按 collection_id 分组划分(GroupKFold)。

第二类:同一研究的多次发表跨侧(隐蔽)

同一批数据可能被发表两次(会议论文 + 期刊论文),上传成两个集合。如果按集合划分,仍然跨侧。

正确做法:先按 DOI 或 paper_url 合并集合,再划分。只有 12% 有 DOI,所以这一步只能覆盖一小部分——剩下的只能靠作者名 + 时间 + 主题的启发式匹配。

第三类:坐标重复(中等)

不同研究可能用了同一套公开数据(如 HCP、OpenfMRI 的某些数据集)。这类重复无法从 NeuroVault 的元数据里检测出来,只能靠外部知识。

第四类:标签泄漏(做认知解码时)

cognitive_paradigm_cogatlas 与 cognitive_contrast_cogatlas 是标签。如果把它们当输入特征,就是直接泄漏。但更隐蔽的是 name 字段——很多图的 name 直接写着 “faces > houses”,而任务又恰好是"预测这是不是面孔加工"。name 必须从特征里排除。

§5.3 结构泄漏:从元数据本身推断出的信息

collection_id 泄漏实验室风格。某个实验室的图可能有特定的体素大小、平滑核、甚至特定的裁剪范围。模型能靠这些"指纹"认出集合。

file_size 泄漏分辨率与掩膜。文件大小直接反映体素数(分辨率 × 掩膜范围)。这是个强特征,但与认知内容无关。

add_date 泄漏年代。早期上传的图统计类型分布与近年不同(见 §4.2)。

perc_bad_voxels / brain_coverage 泄漏预处理质量。质量差的图可能集中在某些不熟练的团队。

处置:做认知解码时,移除 collection_id、file_size、add_date、name,并把 brain_coverage 等质量指标做分层而非直接输入。

§5.4 一个不该做的划分:按认知域切

看似合理(“用情绪任务训练,预测记忆任务”),实际引入严重偏倚:

  • 某些认知域的研究天生更多(工作记忆、面孔加工远多于嗅觉、前庭觉)
  • 不同认知域的常用对比不同(情绪多用图片 vs 中性,记忆多用编码 vs 基线)
  • 结果是模型学到的是"这个域的典型对比结构",不是"脑区-功能映射"

如果确实要测跨域泛化,正确做法是:在同一研究范式(如都是"n-back")内跨认知域切,而不是跨范式切。


§6 AI 就绪指南

§6.1 最小可用 Pipeline

# 1. 先拿集合层元数据(18,020 条,约 200 MB JSON)
mkdir -p nv && cd nv
for off in $(seq 0 100 17900); do
  curl -s "https://neurovault.org/api/collections/?format=json&limit=100&offset=$off" \
    -o "col_$off.json"
done

# 2. 筛出有 DOI 的集合(只有约 12%)
python3 - <<'EOF'
import json, glob
keep = []
for f in glob.glob('col_*.json'):
    for c in json.load(open(f))['results']:
        if c.get('DOI'):
            keep.append({'id': c['id'], 'doi': c['DOI'], 'n': c.get('number_of_images')})
print(len(keep), '个有 DOI')
json.dump(keep, open('with_doi.json','w'))
EOF

# 3. 按选定的集合拿图(走 4mm 降采样,体积小十倍)
# 从 reduced_representation 字段直接下 .npy
import numpy as np, requests

def load_reduced(image_id):
    """读 4mm 降采样表示 —— 比原始 NIfTI 快一个数量级"""
    meta = requests.get(f"https://neurovault.org/api/images/{image_id}/?format=json").json()
    url = meta.get("reduced_representation")
    if not url:
        return None
    arr = np.load(requests.get(url).content)
    return meta, arr

第 3 步用 reduced_representation 是本篇最实用的一条建议:4 mm 降采样的 .npy 约 100 KB,原始 .nii.gz 可能 5 MB。如果你不需要全分辨率(多数解码任务不需要),这能省掉 98% 的下载量。

但降采样不是无代价的,有三件事必须先想清楚:

  • 空间分辨率降到 4 mm 后,小结构就没法分析了。海马、杏仁核、丘脑这些结构在 4 mm 网格上只剩几个体素,任何基于体素的分区统计都不再有意义。要做这些区域的专门分析,必须回到原始分辨率。
  • 降采样过程本身有插值误差。4 mm 的 .npy 是系统在上传时自动重采样生成的,用的是平台固定的插值方法。如果你和另一份用 2 mm 原始图自己重采样的结果比较,两者的差异里有一部分来自插值方法不同,不是真实的效应差异。
  • 不是每张图都有 reduced_representation。字段为空说明系统没生成(可能是文件格式特殊或处理失败),这时只能走原始的 file 地址。

所以正确的策略是:先用 4 mm 版本做全量探索与筛选,锁定一小批集合后,再对这些集合重新拉原始分辨率做最终分析。 这也是本条目推荐的两阶段工作流——探索用粗、确认用细。

§6.2 构建训练样本

做认知解码(图 → 认知域):

# 输入特征:flat 后的体素值(4mm 约 9 万维)或降维后的 PCA
# 标签:cognitive_paradigm_cogatlas 的父类
# 划分:GroupKFold by collection_id(必须)
# 排除:name / file_size / add_date / collection_id

做质量预测(图 → is_valid / perc_bad_voxels):

# 这个任务有意思:输入是体素值,输出是质量
# 注意:brain_coverage 与 perc_bad_voxels 是"答案",不能当输入

做对比方向识别:

# 输入:两张图
# 输出:哪张是 A>B
# 这个任务能检验模型是否学到了"符号"而不是"纹理"

§6.3 评价指标

任务 主指标 为什么
认知解码(多类) balanced accuracy + 每类 F1 类别极不平衡(工作记忆 >> 嗅觉)
质量预测 AUPRC(不是 AUROC) 坏图是少数类
对比方向 准确率 + 符号一致率 随机猜测 0.5,要达到 0.7 才有意义
跨数据集泛化 按集合分组的留一集合交叉验证 这是唯一能反映真实泛化能力的设置

必须报告的分层:按 map_type 分层(beta / T / Z / F),因为四者的数值尺度不同,混在一起的"平均准确率"没有意义。

§6.4 MLOps:怎么钉住这份"活库"

dataset:
  source: NeuroVault
  snapshot_date: "2026-10-23"
  counts_at_snapshot:
    collections: 18020
    images: 715894
    atlases: 18
  metadata_sha256: "<导出全部集合元数据后的哈希>"
  collection_ids: "<写入你实际用到的 id 列表,这是最可靠的做法>"
  excluded:
    - analysis_level: null
    - is_thresholded: true
    - perc_bad_voxels: "> 30"

最关键的一行是 collection_ids。因为库是活的、记录可改,唯一能保证复现的做法是把用到的每个集合 ID 列出来——下次别人(或你)按这个列表重下,即使总数变了也能拿到同一批。

§6.5 六个坑点

坑点 1:API 的过滤参数全部无效
  • 症状:?map_type=Z、?analysis_level=group、?image_type=statistic_map 传什么都返回同样的 count。
  • 原因:服务端没有配置这些 filter。DRF 的 filterset_fields 没设。
  • 解决:只能客户端过滤。分页拉全量元数据(约 200 MB),再用 pandas 筛。不要指望服务端。
坑点 2:analysis_level 有 40.8% 是空的
  • 症状:想只取组水平图,筛 analysis_level == 'group',结果只剩 8.8%。
  • 原因:多数上传者没填这个字段,而空值里混着大量单被试图(beta 图)。
  • 解决:用 map_type 反推——univariate-beta map 基本等于单被试;只有 T map / Z map 在 analysis_level='group' 时才可信。
坑点 3:perc_bad_voxels 可以高到 74%
  • 症状:直接用所有图训练,模型表现极差且不稳定。
  • 原因:库里存在质量极差的图(images/13498 的 perc_bad_voxels = 74.25、brain_coverage = 66.28、is_valid = false),且不会被删除。
  • 解决:必须先过滤——建议 perc_bad_voxels < 20 且 brain_coverage > 80 且 is_valid == true。
坑点 4:modality 是空字符串,不是 null
  • 症状:df.modality.isna() 返回 False,但值其实是空的。
  • 原因:数据里 "" 与 null 混用。images/13498 的 modality 就是 ""。
  • 解决:df.modality.fillna('').eq('').sum() 统一处理,或在读入时把 '' 转成 None。
坑点 5:is_thresholded = true 的图不能做元分析
  • 症状:把阈值化图与非阈值化图混在一起算平均效应,得到严重高估的结果。
  • 原因:阈值化把不显著体素置零,非零体素全是"显著",平均下来当然大。
  • 解决:元分析只看 is_thresholded == false(抽样中 94.9%)。
坑点 6:没有 ?format=json 会拿到 HTML
  • 症状:curl neurovault.org/api/images/ 返回一堆 HTML,jq 报解析错。
  • 原因:API 默认走 DRF 的可浏览 HTML 界面,不是 JSON。
  • 解决:每个请求都要加 ?format=json。这是 DRF 的默认行为,不是配置错误。

§6.6 反模式清单

反模式 为什么错 正确做法
把统计图当原始影像用 它是分析结果,不是测量 用 OpenNeuro 类原始数据集
忽略 analysis_level 40.8% 为空,混着单被试与组 用 map_type 反推
按图随机划分训练测试 同集合跨侧,泄漏实验室风格 GroupKFold by collection_id
把 name 当特征 名字里直接写着对比内容 排除
全量下载 约 700 GB 按集合筛,用 4mm 降采样
认为 CC0 就没问题 上传者可能无权以 CC0 发布 追溯原始数据的使用条款

§7 质量评估、DAIMS 与口径交叉核对

§7.1 记录级质量

NeuroVault 有四个自动质量指标,这是它比多数数据集强的地方:

指标 含义 判读阈值(经验)
is_valid 系统判定是否合规 必须为 true
perc_bad_voxels 坏体素比例(可能是 NaN、Inf、异常值) < 20%,理想 < 5%
brain_coverage 脑区覆盖比例 > 80%,理想 > 90%
perc_voxels_outside 落在脑外的体素比例(配准失败的信号) < 5%

这四个指标的价值在于:它们不需要你知道统计对不对,只需要数学检查。所以它们是可靠的——但也只能筛掉"明显坏了"的图,筛不掉"算错了但看起来正常"的图。

§7.2 抽样声明:本条目数字的边界

数字类别 来源 边界
18,020 / 715,894 / 18 API count 字段直接读 准确、实时,但每天变
统计类型分布 2,000 条 ID 升序抽样 偏向 2013-2016 年的早期上传
analysis_level 分布 同上 同上,且空值比例可能随年份下降
DOI 比例 12% 3,000 条集合抽样 同上
data_origin 100% volume 2,000 条抽样 可能低估 surface 数据

最重要的边界是"ID 升序"。NeuroVault 的 ID 是自增的,所以 offset=0 起翻页拿到的是最早的记录。近年的上传(2020 后)完全没有进入我们的样本。 如果近年上传质量更好(很可能),我们的负面数字(如 40.8% 的 analysis_level 为空)会高估问题的严重程度。

§7.3 三个必须知道的科学效度问题

第一,"这张图代表这个认知功能"这件事本身是可争议的。 一张"工作记忆 > 基线"的图,可能主要反映"任务难度"、“注意投入”、“眼动"或"呼吸伪影”,而非"工作记忆"本身。这是 fMRI 领域最基本的方法论争议,NeuroVault 不解决它,只是把争议材料公开了。

第二,效应量的可比性有限。 不同研究的基线不同、对比定义不同、被试数不同。把 z 值直接跨研究比较,隐含假设"零假设的期望都一样",这个假设在很多情况下不成立。

第三,样本量普遍偏小。 脑成像研究的样本量中位数长期在 20-30 人。小样本的效应量估计系统性偏高(winner’s curse),这意味着 NeuroVault 里发表的图,效应量整体是高估的。

§7.4 偏倚清单(可核查)

偏倚 证据 影响
发表偏倚 88% 的集合无 DOI 无法确认是否对应已发表研究;不显著结果可能被选择性上传
元数据缺失偏倚 90 个字段多数为空 无法按方法学质量筛选
认知域偏倚 工作记忆/面孔研究远多于嗅觉/前庭 解码模型在冷门域上必然差
年代偏倚 ID 升序抽样偏向早期 本篇的比例数字偏向早期状态
被试群体偏倚 西方、年轻、大学生为主(领域通病) 跨文化泛化差
质量分布长尾 perc_bad_voxels 可达 74% 不过滤会毁掉训练

§7.5 数据完整性核查表

动手前的五分钟检查:

  • [ ] 每个请求都加了 ?format=json?
  • [ ] 是否用 collection_id 分组划分(不是随机划分)?
  • [ ] 是否过滤了 is_valid == false、perc_bad_voxels > 20、brain_coverage < 80?
  • [ ] 是否排除了 is_thresholded == true(做元分析时)?
  • [ ] 是否把 name、file_size、add_date 从特征里排除了?
  • [ ] analysis_level 的空值是当缺失还是当"未知类"?(不能当 group)
  • [ ] 是否记录了用到的 collection_id 列表?

§7.6 DAIMS 24 项逐项评分

# 维度 判定 说明
1 数据集有唯一标识 ✅ image id / collection id / DOI(12%)
2 有版本信息 ❌ 无发布版本,只有 add_date
3 有许可声明 ✅ CC0
4 有引用规范 ✅ 官网给出 NeuroVault 论文引用 + 集合 DOI(若有)
5 有数据来源说明 ⚠️ 依赖上传者自填,12% 有 DOI 可追溯
6 有采集方法说明 ⚠️ 有 COBIDAS 字段但填充率极低
7 有预处理说明 ⚠️ 字段存在(约 20 个),多为空
8 有标注规范 ✅ CogAtlas / CogPO 本体
9 有标注者信息 ⚠️ 有 owner_name,但不是标注者
10 有标注一致性 ❌ 无
11 缺失值有标记 ⚠️ null 与 "" 混用
12 有数据类型定义 ✅ map_type / image_type 受控词表
13 有单位说明 ✅ 统计量(z/t/F/beta),无量纲
14 有样本量说明 ⚠️ number_of_subjects 字段存在但多为空
15 有群体描述 ⚠️ 有年龄/性别字段,填充率低
16 有划分建议 ❌ 不提供
17 有基线 ❌ 无
18 有评价指标 ❌ 无
19 有伦理审查 ❌ 无任何伦理声明
20 有隐私保护 ⚠️ 组水平图基本无隐私风险,单被试图无声明
21 有可复现性 ⚠️ 图可下载,但库是活的、记录可改
22 有更新机制 ✅ 持续接收上传
23 有联系方式 ✅ 团队邮箱 + GitHub
24 有多语言/多格式 ⚠️ NIfTI + .npy,但单一语言(英文)

得分:8 项 ✅ + 8 项 ⚠️ + 8 项 ❌ → 8 + 4.0 = 12.0 / 24 = 50.0%

这个分数在中游(Complex Portal 79.2%、GBIF 58.3%、IMGT 52.1%)。加分集中在「本体标签」与「自动质量指标」(CogAtlas 是很正规的本体,四个质量指标是硬指标);失分集中在「无版本、无基线、无指标、无伦理声明」。

「无伦理声明」这条在神经影像数据集里是通病,但在 NeuroVault 上格外值得注意——因为它允许上传单被试统计图,而单被试脑图的去标识问题在技术上是有争议的(高分辨率结构像曾经被证明可以重建面部)。

§7.7 口径交叉核对矩阵(不是模型性能验证)

第一组:官方 count vs 排期记录

来源 collections images 时间
排期记录 18,016 715,876 2026-10-22
本篇实测 18,020 715,894 2026-10-23
差额 +4 +18 一天

一天涨 4 个集合、18 张图,即平均每集合 4.5 张图。这个日均增量本身是个有用的数字:按此速度,一年约涨 1,460 个集合、6,570 张图。

第二组:过滤参数的名义值 vs 实际行为

请求 名义预期 实际 count
/api/images/ 715,894 715,894
/api/images/?map_type=Z Z 图数(应远小于总数) 715,894(未过滤)
/api/images/?image_type=atlas atlas 数(应约 3,500) 715,894(未过滤)
/api/images/?analysis_level=group group 数 715,894(未过滤)

这一组说明:所有分类统计只能抽样,不能靠服务端。 这是本篇最重要的工程结论——任何"官方说 Z 图有 N 张"的说法都不可能从这个 API 得到。

第三组:analysis_level 的三种口径

口径 数值 含义
抽样中 single-subject 高(与 beta 图重合) 单被试一阶分析
抽样中 group 8.8% 组水平二阶分析
抽样中 null 40.8% 未标注
抽样中 meta-analysis 0.3% 元分析产出

这三者加起来不等于 100%(8.8 + 40.8 + 0.3 = 49.9%),剩余部分就是 single-subject,约 50.1%。

所以正确的读法是:约一半的图是单被试的 beta 图,约 9% 是组水平,41% 未标注。 如果有人告诉你"NeuroVault 有 71 万张组水平激活图",那是错的——真正的组水平图可能只有 6 万张左右。


§8 生态位与相邻资源

§8.1 NeuroVault 在网络里的位置

原始影像层:OpenNeuro / HCP / UK Biobank / ADNI
   ↓ 分析
结果图层:NeuroVault(本条) ←── 唯一的「结果图」大规模库
   ↓ 汇总
元分析层:NeuroSynth / BrainMap / GingerALE
   ↓ 解释
认知本体层:CogAtlas / CogPO
条目 关系
OpenNeuro(若已收) 上下游。OpenNeuro 是原始 BIDS 影像,NeuroVault 是分析结果
MGI(#126)/ Alliance(#128) 完全不同的模态,但都用本体(MGI 用 MP,NeuroVault 用 CogAtlas)
IMGT(#129)/ BV-BRC(#127) 无直接关系
GBIF(#134) 结构类比:都是「聚合别人的数据」,都有采样偏倚问题。GBIF 的偏倚是「人去过哪」,NeuroVault 的偏倚是「哪个实验室愿意上传」
Complex Portal(#135) 都需要「人工审编 vs 自动聚合」的权衡。Complex Portal 是人工审编(窄而深),NeuroVault 是自动聚合(宽而浅)

与 GBIF 的类比值得展开:两个库的核心问题结构完全一样——「记录密度反映的是投入密度,不是现象密度」。GBIF 里记录多的地方是人去过的地方;NeuroVault 里图多的地方是有人愿意上传的研究。两者的处置方式也类似:不能消除,只能显式建模「投入」这个协变量。

§8.3 为什么一个"医学数据集站"要收脑成像统计图

因为临床上最缺的不是影像,是「影像到什么程度算异常」的参照。

举一个具体的链路:

  1. 患者做了 fMRI,某个区域信号偏低。
  2. 这个"偏低"是病理性的,还是这个人在做这个任务时本来就该这样?
  3. 要回答第 2 问,需要知道「正常人做这个任务时,这个区域的信号分布」。
  4. NeuroVault 提供这个分布——而且是 18,020 个研究的汇总。

这条链路在神经外科术前评估里是真实存在的:切除一个脑区之前,要评估它对语言、记忆、运动的功能贡献。传统的做法是做个体功能定位(任务态 fMRI),但如果患者不能配合,就只能靠群体先验——而群体先验的最现成来源就是 NeuroVault。

这就是它被收录的理由:它不是疾病数据,但它是判读疾病数据时的那把尺子。


§9 许可、伦理与合规

§9.1 许可结构

NeuroVault 的数据采用 CC0 1.0(公有领域贡献):

  • ✅ 可商用
  • ✅ 可修改、可再分发
  • ❌ 无需署名(但学术界仍建议引用)

这是本站已收条目里许可最宽松的一个。对比:Complex Portal 是 CC BY(需署名)、GBIF 有 16.9% 的 NC(不可商用)、MGI 是自定义协议。

§9.2 CC0 声明与实际权利的落差

CC0 是上传者的单方声明,NeuroVault 无法核实他是否有权这样声明。

具体的风险场景:

  • 某研究的原始数据来自 UK Biobank(受严格的 DUA 约束,禁止再分发衍生数据)。研究者把派生统计图以 CC0 上传到 NeuroVault——这可能是违约的。
  • 某研究的数据来自药企赞助的临床试验,合同禁止公开。派生图以 CC0 上传——同样可能违约。
  • 某图的元数据里含可识别的被试信息(单被试图 + 精确人口学)——在 GDPR 下可能构成个人数据。

使用方的处置建议:

  1. 要做商业产品时,对高价值集合做一次来源核查(看 DOI → 看原文的 Data Availability 声明)。
  2. 不在产品里声称"这是公开可用的数据",而是"来自 NeuroVault,其许可声明为 CC0"——把声明的主体说清楚。
  3. 避免使用单被试图做任何可能涉及个人的推断。

§9.3 单被试图的隐私边界

NeuroVault 允许上传单被试统计图(抽样中约一半的图是 beta 图,基本上就是单被试的)。理论上这构成一个隐私问题:

  • 2019 年前后有多篇论文证明,从高分辨率结构 MRI 可以重建出可辨认的面部图像(使用 GAN 或回归模型)。
  • 功能统计图(z/t/beta)的重建风险远低于结构像,但不是零——因为这些图保留了被试的个体化功能拓扑(功能区的位置个体差异很大)。
  • NeuroVault 没有对单被试图做任何去标识处理或访问控制。

所以正确的合规表述是:NeuroVault 的组水平图隐私风险极低,单被试图的风险未被评估。

§9.4 引用与致谢

用途 建议写法
学术论文 引用 NeuroVault 主论文 + 引用所用集合的 DOI(若有)
商业产品 “Brain map reference data: NeuroVault (CC0)”,并注明快照日期
模型训练 在 model card 里列出所用 collection_id 列表与过滤条件

§9.5 引用规范

@article{neurovault,
  title   = {NeuroVault.org: a web-based repository for collecting and sharing unthresholded statistical maps of the human brain},
  author  = {Gorgolewski, Krzysztof J. and others},
  journal = {Frontiers in Neuroinformatics},
  year    = {2015},
  note    = {accessed 2026-10-23; 18,020 collections / 715,894 images}
}

§10 复用边界与跨条目协作手册

§10.1 决策树:什么时候该用 NeuroVault

你要的是「原始脑影像」?
├── 是 → 用 OpenNeuro / ADNI / HCP,不要用 NeuroVault
└── 否 → 继续

你要的是「某认知功能对应的脑区」?
├── 是 → NeuroVault(整张图)或 NeuroSynth(峰值坐标)
│        ├── 需要效应量的空间分布 → NeuroVault
│        └── 只需要坐标 → NeuroSynth
└── 否 → 继续

你要的是「临床影像的异常判读参照」?
├── 是 → NeuroVault 的组水平图(记得按 collection 分组)
└── 否 → 用其他

你要的是「某疾病患者的脑激活」?
├── 是 → NeuroVault 里可能有,但**必须按病灶/诊断筛集合**,
│        且不能当患者数据用(它是研究结果,不是患者队列)
└── 否 → 其他资源

§10.2 与 OpenNeuro 的配对(原始 → 结果)

这两个库是天然的一对:

  • OpenNeuro 给原始 BIDS 数据(你可以自己重跑分析)。
  • NeuroVault 给分析结果(你可以直接用,但不知道中间怎么来的)。

联合使用的正确姿势:

  1. 从 NeuroVault 找到一个有 DOI 的集合。
  2. 顺着 DOI 找到原始论文,看它的 Data Availability 是否指向 OpenNeuro 上的某个 dataset。
  3. 如果有 → 你能拿到原始数据 + 原作者的结果,这是做"分析流程复现"研究的黄金材料。
  4. 如果没有 → 只能拿结果,做元分析。

注意别做反了:不要假设 “NeuroVault 的图和 OpenNeuro 的数据能自动对上”。同一个原始数据集可以被分析成几十种不同的图,图与数据之间没有一一映射。

§10.3 与 NeuroSynth 的分工

场景 用哪个
要整张图的效应量分布 NeuroVault(唯一)
要大量研究的峰值坐标汇总 NeuroSynth
要自动元分析的现成结果 NeuroSynth
要自己做元分析 NeuroVault(原材料)
要涵盖早年文献 NeuroSynth(因为它的坐标来自文本挖掘,覆盖更早)

关键差别:NeuroVault 是研究者主动上传,所以覆盖的是"愿意共享的人";NeuroSynth 是从论文文本自动抽取,覆盖的是"发在期刊上的论文"。前者的偏倚是自愿性,后者的偏倚是发表性。

§10.4 许可梯度对照

库 许可 商用 需署名
NeuroVault(本条) CC0 ✅ ❌
Complex Portal(#135) CC BY 4.0 ✅ ✅
GBIF(#134) CC0 11.9% / CC BY 71.2% / NC 16.9% ⚠️ 部分 ⚠️
PDB(#43) CC0(多数) ✅ ❌
MGI(#126) 自定义 ⚠️ 需确认 ✅
ENA(#133) 依提交者 ⚠️ 需逐条看 ⚠️

§10.5 三个"不要做"

  1. 不要把统计图当原始影像训练"疾病诊断"模型——它学的是"哪些研究会报告这个区域"。
  2. 不要随机划分训练测试——必须按 collection_id 分组。
  3. 不要在没过滤质量指标的情况下直接用——perc_bad_voxels 最高到 74%。

§10.6 一句话总结

NeuroVault 是唯一一个把「脑成像分析结果」成规模公开的库:18,020 个集合、715,894 张统计图、CC0 许可——但它给的每一张图都是一个已经做完的分析,你继承它的结论,也继承它的全部假设。


附录 A:本篇数字速查

项 数值 来源
集合总数 18,020 /api/collections count
统计图总数 715,894 /api/images count
模板图谱数 18 /api/atlases count
平均每集合图数 39.7 除法
image_type=statistic_map 99.5% 2,000 抽样
image_type=atlas 0.5% 同上
map_type=univariate-beta 66.7% 同上
map_type=T map 18.6% 同上
map_type=Z map 5.3% 同上
map_type=F map 1.0% 同上
analysis_level=null 40.8% 同上
analysis_level=group 8.8% 同上
analysis_level=meta-analysis 0.3% 同上
analysis_level=single-subject 约 50.1% 100 − 其余三项
is_thresholded=true 5.1%(153/3000) 同上
data_origin=volume 100% 同上
集合有 DOI 12.0%(360/3000) 3,000 集合抽样
集合有 paper_url 12.0%(360) 同上,与 DOI 完全一致
集合有 number_of_images 72.3%(2,169/3000) 同上
坏体素极值案例 images/13498:74.25% 单条查询
脑覆盖极值案例 images/13498:66.28% 同上
元数据字段数(集合层) 约 90 JSON 字段计数
DAIMS 12.0 / 24 = 50.0% §7.6

附录 B:五个可复制的查询

一、拿三个总数

for ep in collections images atlases; do
  echo -n "$ep: "
  curl -s "https://neurovault.org/api/$ep/?format=json&limit=1" | jq '.count'
done

二、抽样统计 map_type 分布

for off in $(seq 0 100 1900); do
  curl -s "https://neurovault.org/api/images/?format=json&limit=100&offset=$off" \
    | jq -r '.results[].map_type // "null"'
done | sort | uniq -c | sort -rn

三、抽样统计集合 DOI 填充率

for off in $(seq 0 100 2900); do
  curl -s "https://neurovault.org/api/collections/?format=json&limit=100&offset=$off" \
    | jq -r '.results[] | if .DOI then "has_doi" else "no_doi" end'
done | sort | uniq -c

四、查单张图的质量指标

curl -s "https://neurovault.org/api/images/13498/?format=json" \
  | jq '{id, name, is_valid, perc_bad_voxels, brain_coverage, analysis_level, map_type}'

五、拿某集合的全部图(只取 4mm 降采样地址)

curl -s "https://neurovault.org/api/images/?format=json&limit=100&offset=0" \
  | jq -r '.results[] | select(.collection_id==806) | "\(.id)\t\(.reduced_representation)"'

相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • rnacentral — 共享标签:多模态 / 医学问答与基准
  • rfam — 共享标签:多模态 / 医学问答与基准
  • gmai-mmbench — 共享标签:多模态 / 医学问答与基准
  • ehrxqa — 共享标签:多模态 / 医学问答与基准
  • microvqa — 共享标签:多模态 / 医学问答与基准
  • cves — 共享标签:神经科学 / 多模态
  • mimic-iv-ext-cardiac-disease — 共享标签:多模态 / 医学问答与基准
  • radnli-report-inference — 共享标签:多模态 / 医学问答与基准
  • dandi-archive — 共享标签:神经科学 / 多模态
  • ibl-brain-wide-map — 共享标签:神经科学 / 多模态

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集