尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

ADNI数据获取与格式转换实操:从账号申请到DICOM转NIfTI

ADNI数据获取与格式转换实操:从账号申请到DICOM转NIfTI ADNI 是我用过的最规范、但也最让新手头疼的公开影像数据库之一。很多人第一次接触它光是在官网注册和申请授权这一步就被卡住等终于能登录 IDA 系统了又面对满屏的检索条件不知所措。这篇文章我会把整个流程从头拆开讲清楚——从账号申请、授权审核、检索筛选到真正把 DICOM 数据下载到本地、转成可分析的 NIfTI 格式全程按我自己的实操习惯来写尽量把每个环节的坑都指出来。ADNIAlzheimer‘s Disease Neuroimaging Initiative阿尔茨海默病神经影像学计划是一个连续运行近二十年的纵向多中心影像研究项目覆盖 MRI、PET、认知量表、生物标志物和基因数据。对于做脑影像分析、机器学习辅助诊断、阿尔茨海默病早期预测的研究人员和学生来说它几乎是绕不开的公共数据来源。和很多数据网站不同ADNI 的资源不是注册就能随便下必须提交研究用途申请审核通过后才能访问受控数据。所以我会从最基础的账号注册开始手把手带你走完一遍。1. 下载前的准备账号、授权与目录认识1.1 ADNI 到底有什么数据值不值得花时间申请很多人在第一步就犹豫ADNI 的数据申请流程有点繁琐到底值不值得折腾我的判断是非常值得特别是对于刚进入神经影像领域的研究者。ADNI 的数据有几个其他数据库比不了的优势。第一是纵向追踪属性。受试者不是只扫描一次而是每隔 6 个月或 12 个月就做一次认知测试、血液检查、MRI 和 PET 采集持续多年跟踪病情变化。也就是说你不仅能做横断面的组间比较还能做疾病进展预测、时间序列建模这类纵向分析。第二是高度标准化。ADNI 对采集协议、扫描仪型号、后处理流程都有统一规范数据从不同中心汇总到 LONI 后经过了严格的质量控制。这意味着拿到的数据干净程度很高你不需要花大量时间处理采集参数不一致的问题。第三是配套数据丰富。每一次影像扫描都关联着 MMSE、CDR-SB、ADAS-Cog、脑脊液生物标志物、基因分型等额外信息。做多模态融合分析的话一个数据库就能满足几乎所有数据需求。ADNI 目前已经发展到 ADNI4 阶段前面还有 ADNI1、ADNI2、ADNIGO、ADNI3。不同阶段的数据在采集协议上有差异申请时建议明确指定需要用哪个阶段这会影响后续下载时的检索策略。我记得 ADNI1 和 ADNI2 之间有部分受试者是重叠随访的这也是它作为长期队列项目的特点之一。1.2 账号注册与授权申请这里最容易被卡住别急ADNI 的访问权限分两层。第一层是公共数据比如部分汇总统计结果、部分文档注册账号后就能查看。第二层是受控数据包括原始影像 DICOM 文件、详细临床量表、生物标志物数据必须单独申请授权。账号注册本身不难在 ADNI 官网首页点击 Login再进入 Sign Up 填写基础信息就行。有几点需要注意填写的单位邮箱经常是审核的关键。我用 Gmail 或 QQ 邮箱注册过一次后来收到邮件要求补充机构信息重新用学校邮箱登录后审核才通过。所以建议直接用机构邮箱注册避免后续麻烦。注册完成后登录进去找到 Data Access 或者 My Profile 相关的申请入口填写数据使用申请。这个申请一般需要提供研究课题名称和简短摘要需要的数据类型比如 baseline 3D T1 MRI、FDG-PET、MMSE 临床评分等预期的分析方法比如 FreeSurfer 皮层厚度分析、体积测量、机器学习分类等若有合作机构需要列出单位信息。这里有个经验用途说明别写得太笼统。如果你只写“研究阿尔茨海默病”审核员可能觉得信息不足退回让你补充。最好具体到数据类型和分析方案比如“使用 ADNI1 baseline 3D T1 加权 MRI 与 MMSE 评分结合 FreeSurfer 提取的灰质体积与皮层厚度构建随机森林模型用于 MCI 向 AD 转化的预测研究”。写清楚之后审稿通过率会高很多。学生单独申请时部分情况下需要导师或项目负责人作为课题联系人或者提供一份导师签名的确认。这一点不同时期可能略有差异官网上会有明确说明按流程走就好。审核周期通常是一到三周快的时候三到五个工作日慢的话遇到欧美假期可能要拖一个月。我第二次申请时赶上 12 月从提交到通过用了将近四周那段时间是圣诞假期几乎是半休假状态。时间紧的话尽量避开这段。1.3 认识 IDA 系统与数据目录结构授权通过后你会获得 IDAImage Data Archive系统的访问权限。IDA 是 LONI 团队开发的影像数据管理平台ADNI 的所有原始影像数据都在这个系统里。界面风格相对传统但没有必要因为它不够现代就低估它检索功能其实相当强大。IDA 左侧通常有筛选条件面板数据列表按行展示。比较常用的筛选维度包括Series Type区分 MRI、PET、其他Sequence / Protocol选择具体的扫描序列比如 3D T1、FLAIR、DTIVisit选择 baseline 或者第几次随访ProjectADNI1、ADNI2、ADNI3、ADNIGO 等不同阶段Data TypeOriginal 或者 Processed。ADNI 的数据大体分成几个板块MRI 影像、PET 影像、临床评估数据、生物标志物数据、基因数据、汇总统计表。下载前建议先想清楚你真正需要什么。有时候你只是想要一个指标比如某个脑区的体积值那根本不需要下载原始影像直接从汇总表导出 CSV 就行。只有做影像处理本身比如跑 FreeSurfer、CAT12、SPM 这些流程才需要下载 DICOM 原始数据。2. 检索与筛选只下载你真正需要的序列2.1 Image Collection 页面的核心操作逻辑登录 IDA 后默认进入的是 Image Collection 页面。初次见面可能会觉得信息量很大但其实只需要掌握几个关键操作就能搞定绝大部分检索任务。第一步在搜索或者筛选区域设置 Condition。一般我会先限制 Series Type 为 MRI然后在 Sequence 里选择具体序列。如果你需要的是 T1 结构像就选类似“T1”、“MP-RAGE”、“3D T1”这样的序列名如果需要 FLAIR 就选 FLAIR。注意不同采集协议下序列命名可能有差异但大多能在序列描述中看出来。第二步设置 Project 和 Visit。默认会显示所有项目数据量巨大且来源混杂。建议先想清楚这个实验用到哪个阶段的受试者是否需要基线数据还是全部随访数据。ADNI1 和 ADNI2 的采集标准不完全相同混在一起分析时需要注意批次效应。第三步在结果列表中检查具体的序列描述、采集日期、访问编号。同一个受试者在同一随访期里可能存在多次扫描这是常见情况需要自己判断哪一条是完整的结构像。经验是优先选择质量控制状态为 Pass 的记录ADNI 对多数影像做过质控标记。检索结果支持多选和加入列表。勾选需要的扫描记录然后点击 Add to List 加入下载列表。之后可以在右侧或顶部的 List 菜单里看到当前选择了多少项确认无误后再执行下载。2.2 MRI 结构像的筛选与常见误区做形态学分析最常用的是 3D T1 加权结构像。在 ADNI 里这类序列通常表现为 MPRAGE、3D T1、T1W 3D 等。筛选时我会按下面的流程操作Series Type 选 MRISequence 选 T1如果选项特别细可以先用关键词搜索 MPRAGE在搜索结果的 Image Description 列确认序列类型和质量根据实验设计确定访问时间范围加入列表前把重要的元信息导出或者截图留档。有一个细节经常被忽略下载前的筛选结果最好能导出一份 CSV 或者表格留底。因为 IDA 里的记录非常多如果你下载了 50 个受试者的数据但没有记录每个编号对应哪个压缩包后期核对会非常费劲。我一般会在加入列表之前就先把检索记录保存下来包括 Subject ID、Visit、序列描述、Image UID、文件格式等字段这样下载完成之后可以按图索骥准确知道每个文件是什么内容。有一些新手容易犯的错把所有数据都下载下来包括不一定需要的 DTI、fMRI、ASL 等序列。这样做的后果是磁盘占用膨胀数据管理成本变高分析时反而更容易串数据。建议在最初就限定课题需要的序列范围ADNI 的数据量那么大没必要给自己添堵。2.3 临床评估与影像数据的交叉索引ADNI 的系统里临床数据和影像数据是分开管理的。你下载了影像 DICOM并不代表对应受试者的 MMSE、CDR、诊断标签会自动出现需要另外去下载临床表格。通常的做法是在 ADNI 官网的 Data 菜单下找到 Clinical Data 汇总表下载 CSV 或者 Excel 版本。这些表格中包含 Subject ID、Visit Code、诊断分组、认知评分、生物标志物结果等字段。拿到影像数据之后用 Subject ID 和 Visit Code 做关联就能把影像编号和临床指标对应起来。一个常见的坑临床表格的数据版本之间会有差异尤其是诊断状态这种变量在后续随访中可能会发生变化。比如某位受试者在 baseline 时被标记为 MCI后续随访时可能进展为 AD。你下载表格的时候要看清楚数据版本发布日期建议在记录表格版本的同时也备注一下下载日期。我就是这样做的避免几个月后问自己“这份表是什么时候下载的”。3. 实操流程从加入列表到拿到 DICOM 文件的完整步骤3.1 将筛选结果加入下载列表并选择下载格式确认筛选条件无误后勾选需要的扫描项点击加入列表。此时页面右上角或下方通常会出现一个 List 的入口点进去能看到当前选中的记录数量。在下载列表界面需要注意几个关键选项输出格式默认可选 DICOM、NIfTI 或 JPEG 缩略图。拿到手之后还需要自己转换所以直接选 DICOM 是最稳妥的文件打包方式可以选择将多个扫描合并打包成一个压缩文件也可以分开。如果数据量很大建议分开每个文件不要太大下载更灵活下载方式IDA 提供两种主要方式一种是图形界面直接下载另一种是生成下载脚本配合命令行工具。如果下载量少、网络稳定可以直接浏览器下载如果数量大建议生成 wget 脚本在服务器上跑。3.2 浏览器直接下载的操作细节浏览器下载适合数据量不大、单次几十到一两百个扫描的场景。进入下载列表后点击生成下载链接浏览器会自动弹出文件下载。这个文件通常是一个压缩包里面包含当前批次的所有 DICOM 文件。操作时注意这样几点不要随意关掉下载页面或中断任务浏览器在长时间下载时如果遇到网络切换很容易造成会话失效下载大文件时最好把 IE/Edge 的下载管理器保持在前台有些浏览器在后台运行时会自动暂停大文件下载下载完成后先看下压缩包大小是否和页面预计大小接近如果明显偏小有可能是下载不完整需要重新下载。浏览器下载的缺点是断点续传不方便中途断了很难恢复。所以我个人只在数量少的时候用浏览器下载数据量一大还是老老实实用服务器脚本下载。3.3 使用 wget 脚本在服务器上下载如果你在实验室有服务器推荐用 IDA 生成的 wget 下载脚本。具体做法是在下载列表页选择生成脚本Generate Download Script将生成的脚本内容保存为 download.sh 文件在服务器终端里执行示例chmod x download.sh ./download.sh如果脚本里是一串带 token 的链接也可以提取出来用一个通用的下载命令批量执行。wget 支持断点续传即使中途断了重新执行时加上参数就能续传。wget -c -i download_links.txt需要特别注意的是IDA 生成的下载链接有时效性通常有效期是几天过期后链接就失效了只能重新生成。所以拿到脚本后尽快启动下载不要拖到链接失效。我记得有一次生成脚本后赶上出差一周后回来发现链接早就不能用了又重新回页面生成了一次白白耽误了几天。3.4 下载速度慢怎么办很多人在 ADNI 数据下载时遇到同一个问题速度很慢几十 GB 的数据要下好几天。这确实是个现实问题。LONI 服务器架设在国外国内访问速度不算快。实验需要的文件多时建议在服务器上挂后台任务跑不要占用个人电脑参与其他工作。如果一台服务器太慢可以考虑同时开多个 wget 任务把下载列表拆成多份并行下载。需要注意不要拆得太碎避免任务过多导致服务器拒绝服务。我一般会拆成三到五份每个任务负责一部分链接。另外一个技巧是调整连接参数利用断点续传减少重传的浪费。下载过程中如果某个文件一直失败可以在日志里记录下来最后统一重新下载。不要因为一两个文件失败就把整个任务重来一遍那样太浪费时间了。3.5 下载完成后的完整性检查拿到压缩包后第一件事不是解压跑分析而是做完整性检查。这里我的建议是检查压缩包大小和页面显示的是否一致解压时留意是否有 CRC 校验错误解压后统计 DICOM 文件数量和页面显示的是否一致用 DICOM 浏览工具打开几张图像确认不是损坏文件初步查看 Series Description 是否和下载前检索的一致。这些检查步骤看起来繁琐但能避免很多后续问题。我就遇到过一次比较尴尬的情况因为压缩包不完整跑 FreeSurfer 跑到一半报错最后排查了半小时才发现是数据没下全。4. DICOM 到 NIfTI 的转换与数据组织4.1 为什么要转成 NIfTI以及工具选择DICOM 是医学影像的通用格式但大多数神经影像分析工具更习惯使用 NIfTI 格式。所以下载完数据后的标准操作是转换格式。常用的转换工具有 dcm2niix、MRIcron 内置的 dcm2nii、dcm2niigui 等。其中 dcm2niix 是使用最广泛的命令行工具转化速度快命名清晰还能自动生成配套的 JSON 文件记录采集参数。转换的基本命令是dcm2niix -o ./output_dir ./dicom_dir-o 指定输出目录后面是输入 DICOM 文件夹路径。默认情况下dcm2niix 会自动组织输出文件和 JSON 文件。如果你需要压缩输出可以加参数dcm2niix -z y -o ./output_dir ./dicom_dir-z y 表示输出 .nii.gz 压缩格式能大幅节省磁盘空间而且绝大多数分析流程都支持 gz 格式。4.2 批量转换的组织策略如果下载了多个受试者手动一个一个转显然不现实。我的习惯是先把所有 DICOM 按受试者编号分好目录然后在每个受试者目录下执行转换输出到统一的分析目录。可以写一个简单的 Shell 循环脚本实现for subject_dir in /data/dicom/002_S_0295 /data/dicom/003_S_0312; do subject_name$(basename $subject_dir) mkdir -p /data/nifti/$subject_name dcm2niix -z y -o /data/nifti/$subject_name $subject_dir done这只是一个示例实际工作中目录数量和命名规则会不一样但思路是一样的严格控制每个受试者输入输出路径不要把所有文件堆在一个目录里。4.3 数据管理脑影像项目的文件组织规范影像数据项目最怕的是文件管理混乱。我自己在跑一个纵向数据集时吃了不少管理不善的亏。现在我的目录结构通常长这样/raw/dicom存放原始 DICOM按受试者/访问时间组织此目录只读/raw/tables存放临床表格、诊断标签、下载记录/derivatives/preprocessed存放预处理中间结果/derivatives/analysis存放最终统计分析和模型输出/docs存放数据申请记录、协议说明、Shell 脚本、Python 处理脚本。这样做的好处是原始数据、中间结果、最终结果严格分离任何一步出现问题能快速找到源头。更重要的是当你想在论文里写清楚“使用了哪些数据、如何处理”这套目录就是最好的追溯依据。ADNI 数据本身是按受试者、访问编号、序列编号组织的下载下来的 DICOM 文件夹里大量文件是数字命名可读性比较差。为了后续分析方便建议在一个汇总表里记录每个受试者 ID、下载日期、DICOM 数量、转换后的文件名、对应临床诊断等字段。这个表做一次后面会节省大量排查时间。5. 常见问题与排障实录都是我踩过的坑5.1 授权审核迟迟不通过怎么办申请提交之后如果两周还没动静可以尝试在 ADNI 官网上查找联系邮箱礼貌询问申请状态。通常会有工作人员回复。需要说明的是询问时最好附上申请编号或注册邮箱方便对方定位。一个常见误以为“被拒”的情况是系统提示需要补充材料但通知邮件被邮箱过滤到垃圾箱里了。所以提交申请后的那段时间记得每天瞥一眼垃圾箱。我自己就遇到过这种情况一封补充材料的通知躺了十天没注意。5.2 搜索结果为空或数据异常筛选条件过多时检索结果可能为空。这时候不要慌逐步放宽条件先取消 Visit 限制再取消 Project 限制看看数据是否存在。ADNI 数据虽然多但不是每一个受试者每一次随访都完成了所有序列扫描。如果确实找不到可以考虑换一个阶段的数据或者在临床表格里查一下这个受试者是否在项目中。另一种情况是找到的记录显示“没有影像文件”或者下载时提示文件缺失。这通常意味着数据上传不完整或者正在更新中。这时候可以联系 ADNI 数据支持团队他们一般会帮你确认数据状态。5.3 下载的 DICOM 解压后无法查看压缩包下载完整但解压后发现部分文件无法打开或者浏览时提示“缺失文件”。这种情况通常是网络传输导致文件损坏特别是大文件下载不完整。可以先重新下载一次该压缩包对比大小如果仍然失败再检查服务器是否有同时大量下载导致的丢包。还有一种情况是 DICOM 文件本身没问题但浏览软件不识别某种厂商的私有标签。这时不妨换一个工具打开比如 ITK-SNAP、MRIcron、RadiAnt 等不同工具对 DICOM 的兼容性有差异。5.4 下载后的影像方向、位置异常怎么办偶尔会在分析前检查时发现成像方向不对或者图像出现了偏置。这里重点区分两种情况如果是 DICOM 转 NIfTI 后方向错误往往是转换参数问题检查 dcm2niix 的输出日志再做调整如果是原始 DICOM 本身就有问题建议先查看影像描述和质控标记有时需要弃用这条记录重新找替代的扫描。ADNI 数据大多数经过标准化处理但仍存在少部分因扫描协变量引起的异常质量控制是避免下游分析失败的关键一步。5.5 表格数据里的 Subject ID 对不上很多人在下载临床表格后发现Subject ID 和影像文件夹里的编号对不上。实际上 ADNI 的系统里常用两种表示方式一种是像 002_S_0295 这样的完整格式另一种是纯数字编号两种都指向同一个受试者。处理关联时最好先做好 Subject ID 映射表把这个转换逻辑写进预处理脚本里避免后期每次写代码都要重新映射。另外一部分 ADNI 早期数据的 Subject ID 格式和后续阶段略有不同关联表格前先确认两个数据的 ID 风格是否统一。6. 从下载到科研协作一些额外建议6.1 团队之间如何共享 ADNI 数据ADNI 数据授权协议通常规定不能随意将原始数据共享给未获授权的第三方。如果有合作者需要使用数据建议让对方也走一遍申请流程而不是直接拷贝 DICOM 文件过去。这样既符合数据使用规范也能保证后续沟通中双方对数据版本有共同认知。如果只是共享分析结果、特征表格、脚本通常不受严格限制但论文里和代码仓库中要注明数据来源和 ADNI 授权编号。养成标注数据来源的习惯对团队长期交流很有价值。6.2 多模态数据下载PET 与临床表格的配套获取如果你不只做 MRI还需要 PET 数据下载流程基本类似。筛选时在 Series Type 里切换到 PET然后选择具体的示踪剂类型比如 FDG、Amyloid 或 Tau 示踪剂。不同示踪剂对应的代谢或沉积指标不同在检索时看序列描述就能区分。PET 数据同样以 DICOM 格式提供下载需要配套的临床信息比如标准化摄取值SUVr在 ADNI 的表格里也有汇总但要注意不同图像处理流程算出来的 SUVr 会有差异引用时要注明来源版本。6.3 把 ADNI 下载做成可复现的流程记录如果你打算在论文里写出可复现的数据获取步骤建议把每一步做成日志记录什么时间申请、什么时候下载了哪些受试者、数据版本是哪一批、使用什么工具转换、用了什么参数。听起来像做实验记录但对于影像研究来说这套记录会让审稿人更容易相信你的结果也方便自己回查。我每次下载 ADNI 数据都会顺手生成一个 README 文档内容包含ADNI 阶段、协议描述、数据范围、下载日期、文件数量、转换命令。这篇 README 不只是自己看也是给合作者和后续接手的人看的省去很多口头交接的麻烦。6.4 数据量大时的存储规划与备份策略ADNI 项目数据量动辄几十 GB 甚至上百 GB存储规划很重要。不要把所有东西都扔在系统盘里建议单独分一块数据盘或者网络存储用于存放原始 DICOM 和处理后的数据。如果条件允许对原始下载的压缩包做一次备份放在成本和稳定性都合适的存储上。这样即使处理中间出了事故也能随时回到原始数据重跑流程。对于小团队来说一块移动硬盘加上 NAS 可能就够用了。6.5 关于 ADNI 使用心得的一点思考做了这么多脑影像项目后我最大的体会是数据的获取只是第一步组织和管理才是决定效率的关键。ADNI 的数据质量已经很好了但若没有良好的本地文件管理和追溯逻辑数据再规范也会被用得一塌糊涂。与其等下载完数据才想怎么整理不如在申请数据之前就把目录结构、命名规范、日志模板提前设计好。现在大部分实验室都有公共服务器设置好一套稳定的数据下载、转换和归档流程整个团队都会受益。说到底ADNI 不只是给了一个免费的数据源更是一堂“如何科学地管理科研数据”的实践课。
返回列表