非小细胞肺癌放化疗 FDG-PET 双时点影像集(ACRIN 6668)

ACRIN 6668 / RTOG 0235 的 TCIA 影像子集:242 例局部晚期非小细胞肺癌患者放化疗前与治疗后的全身 FDG-PET,七个模态混合存放,配 75%/25% 两份临床表,CC BY 3.0 公开直链

来源 https://www.cancerimagingarchive.net/collection/acrin-nsclc-fdg-pet/发布时间: 2026-10-29最后更新: 2026-10-29 阅读 8
非小细胞肺癌放化疗 FDG-PET 双时点影像集(ACRIN 6668)

信息速览

数据集名称非小细胞肺癌放化疗 FDG-PET 双时点影像集(ACRIN 6668)
数据类型原始数据,影像数据,临床随访,人工采集
规模242 例(TCIA 收录口径);试验口径为 250 人入组,226 人有可评估治疗前 PET,其中 173 人另有可评估治疗后 PET,构成主终点分析队列
接入方式https://www.cancerimagingarchive.net/collection/acrin-nsclc-fdg-pet/
AI 就绪度

ACRIN-NSCLC-FDG-PET 是美国放射影像网络(ACRIN)6668 号试验的影像子集,托管在 TCIA 上。试验的全名是「局部晚期非小细胞肺癌的 PET 治疗前后评估」,与放射治疗肿瘤学组(RTOG)的 0235 号协议联合执行,注册号 NCT00083083。二百余名不能手术的 III 期非小细胞肺癌患者在接受根治性同步放化疗之前做一次全身 FDG-PET,其中一部分人在治疗结束后再做一次,两次扫描用的是同一台机器。这个集合就是这批扫描的 DICOM 原始文件,外加两份按 75%/25% 拆开的临床表格。

它之所以值得单独成篇,不是因为图像多——四十九万余张在今天的影像集合里算不上大——而是因为它把「同一个人的治疗前与治疗后」这件事做成了结构:两个时间点、同一台扫描仪、同一个前瞻性协议、同一套随访。绝大多数公开 PET 集合是横断面的,一名患者一次扫描,标签是「有病灶」或「没有」;这里的时间轴是写进协议里的,不是事后拼接的。

需要先说清边界。它是试验的影像子集,不是试验的全部:入组 250 人,本集合收录 242 人,而论文做预后分析只用了 173 人。它不含勾画、不含算好的 SUV、不含生存终点字段——生存数据在临床表与试验档案里,影像在 DICOM 里,两者靠受试者编号相连。下文先给一屏速览,再按结构、口径、获取、边界逐层拆开。一屏速览见下表。

维度 内容
官方名 ACRIN-NSCLC-FDG-PET,副题「Positron Emission Tomography Pre- and Post-treatment Assessment for Locally Advanced Nonsmall Cell Lung Carcinoma」
试验编号 ACRIN 6668 / RTOG 0235,注册号 NCT00083083
执行机构 ACRIN(影像与质控)与 RTOG(放疗与随访)联合;后分别并入 ECOG-ACRIN 与 NRG Oncology
托管方 The Cancer Imaging Archive(TCIA),另有 IDC 云镜像
规模 242 位受试者 / 950 个检查 / 3,377 个序列 / 497,367 张图像 / 145.5 GB
模态 PT、CT、NM、MR、CR、DX、SC 七种,PT 与 CT 为主体
时间点 治疗前一次全身 PET;治疗后约十四周复查一次,同机
临床表 两份 XLS+ZIP,file set 1 为 75% 随机样本(269.81 kb),file set 2 为 25%(255.12 kb)
数据类别 Demographic、Diagnosis、Follow-Up、Measurement、Treatment 五类
许可 CC BY 3.0,影像与临床表均公开直链,非申请制
版本 V1(2018-12-31)193 例 / V2(2020-02-11)242 例,现行 V2
数据引用 Kinahan 等,2019,Version 2,DOI 10.7937/tcia.2019.30ilqfcl
主论文 Machtay 等,J Clin Oncol 2013;31(30):3823-3830,DOI 10.1200/JCO.2012.47.5947
明确不含 肿瘤勾画、算好的 SUV/MTV、生存终点原始记录、基因与病理切片、剂量分布
库内姊妹 hnpet-fdg(ACRIN 6685 头颈)、ct-colonography(ACRIN 6664 结肠)

§1 它是什么:一份把影像与表格分开放的试验遗产

1.1 一个试验,两个数据库

ACRIN 6668 的数据从产生那天起就分在两处。影像由各中心上传到 ACRIN 的 DICOM 库,临床表单由各中心提交纸质或电子病例报告表、人工录入 ACRIN 的临床试验管理系统,再由 NCI 资助的布朗统计中心剥离身份信息、按表单导出成一张张结构化表。影像与表格从来没有装在同一个文件里,靠受试者编号对齐。

TCIA 承接的是前者。它把 DICOM 整理成 collection 发布,同时把统计中心导出的表格也一并挂上,于是今天下载的人拿到的是「影像包 + 两个表格包」。但两者的粒度不同:影像是逐次检查、逐序列、逐张的;表格是按表单分表的,一张表管一群人,行是受试者,列是表单条目。

这种「分开放」不是疏漏,而是那代多中心试验的通行做法。影像走影像的质控链,表格走统计的质控链,两条链在分析阶段才汇合。代价是使用者必须自己做连接:DICOM 里的 PatientID 与表格里的受试者编号不是同一个字符串体系,需要一次映射。

1.2 三种问法,三种答案

面对同一个集合,「有多大」这个问题有三种问法,答案各不相同,混用是这一篇里最容易犯的错。

问法 答案 口径
试验招了多少人 250 人 37 家机构在 2005 年 6 月至 2009 年 5 月间入组
有多少人的影像进了 TCIA 242 人 收录口径,含部分主终点队列之外的人
论文拿多少人做预后分析 173 人 同时具备可评估治疗前与治疗后 PET 的人

再往下还有一层:226 人是「入组 250 人中排除 16 名不合格、8 名无可评估治疗前 PET」之后的可评估人数。这四个人数各有出处,各自成立,但只有 173 是主终点队列。写方法学时如果只写「242 例」,审稿人会问为什么与论文对不上;只写「173 例」,又与下载到手的文件夹数量对不上。

1.3 你的处境,它能帮什么

你的处境 它能帮你什么 你要自己补什么
想研究治疗前后代谢变化与预后的关系 提供同机、同协议、固定间隔的双时间点影像 SUV、MTV、纹理等特征全部自己算;终点自己从表格拼
想验证一个 PET 定量流程的可重复性 242 例真实的多中心、多机型数据,含不同厂家的重建参数 机型与重建核的清单要从 DICOM 头里自己抽
想给基础模型找带纵向结构的胸部 PET 语料 提供「同一人两次扫描」的配对,规模适中、许可干净 无分割、无病灶框,弱监督标签要自己造
想做多模态影像-临床联合建模 影像 + 五类临床字段 + 随访,链条完整 两处编号需映射;缺失情况自己盘
想复现 Machtay 2013 的结论 数据基础在,能重算 SUV 类参数 论文的统计模型与切点选择需照原文重建
想找现成的肿瘤分割基准 给不了,TCIA 侧没有 SEG 转 IDC 上的第三方标注或其他分割集

1.4 不适合谁:五条边界

第一,不适合把 242 当成完整试验队列的人。试验入组 250 人,16 人不合格、8 人无可评估治疗前 PET,242 是影像收录数,不是分析数。任何以「试验共有 242 例」开头的表述都会在方法学上站不住。

第二,不适合需要逐病灶标注的人。这个集合没有肿瘤轮廓、没有病灶框、没有疗效判读结论。它是一个「原始影像 + 表格随访」的组合,不是标注集。做分割、检测、疗效预测,第一步都是自己造标签。

第三,不适合需要完整双时间点的人。173 人有可评估的治疗后 PET,其余人只有治疗前。按人随机划分训练集与测试集时,双时间点的子集与单时间点的子集不能混着当同一任务。

第四,不适合需要绝对日期的人。所有 DICOM 日期都被伪置为 1960 年 1 月 1 日,真实日期不可恢复,能用的只有偏移天数。做时间序列分析可以,做与外部数据按日期对齐不行。

第五,不适合需要分子信息的模型。集合里没有 EGFR、ALK 等驱动基因状态,没有 PD-L1 表达,也没有病理切片。III 期肺癌的现代研究几乎都要谈这些,这里一条都没有。

1.5 一句话判断

如果你要的是一批「同一个人放疗前后各一次」的原始 PET,且能接受自己从零算特征、自己拼终点、自己造标注,这个集合的结构与许可都合适;如果你要的是一张可以直接喂进模型的「影像 + 标签」表,它离那一步还差一整个特征工程。

1.6 与横断面 PET 集合的结构差异

公开的 PET 数据大多是横断面的:一名患者一次扫描,配一个诊断标签或一个分期。这种数据适合做分类与检测,因为每张图都是独立样本,行与行之间不共享任何信息。它的局限也在这里——模型学到的是「什么样的图看起来像恶性」,学不到「同一病灶在治疗之后变成了什么样」。

双时间点数据改变了样本之间的依赖关系。同一个人两次扫描构成一对,这一对必须整体进训练集或整体进测试集,否则同一个个体的信息会跨越划分边界,测试分数会被高估。这不是理论上的谨慎,而是这类数据最常见的泄漏源:按检查随机划分看起来毫无问题,实际上把同一个人的治疗前放进了训练集、治疗后放进了测试集。

这个集合的 173 个双时间点受试者,正好构成 173 对样本。按人划分是唯一正确的做法,按检查划分是错的。这一点在后面讲数据划分时会再提一次,因为它比任何模型选择都更能决定结论的真假。

§2 数据构成:242 例、七个模态、两个时间点

2.1 规模与体量

官方页面上给出的是四件套:242 位受试者、950 个检查、三千三百余个序列、四十九万余张图像,合计 145.5 GB。四个数字之间不是简单相乘,因为一次检查下的序列数差别很大——全身 PET 加上同期 CT 与定位片,一次检查十几个序列是常态,而个别检查只有寥寥数个。

算一下就明白这个集合的平均形态:950 个检查分给 242 人,人均约四次检查;四十九万余张图分给 950 个检查,每个检查约五百余张。这个密度提示多数检查是「全身 PET + 低剂量 CT + 定位片」的小组合,而不是大层厚的诊断 CT。

体量与图像数的比例也值得记一笔:145.5 GB 分摊到四十九万余张,每张平均不到 0.3 MB。这说明主体是被压缩过的 PET 与低剂量 CT,而不是高分辨率薄层 CT。

2.2 七个模态各自是什么

官方列的模态是 PT、CT、NM、MR、CR、DX、SC 七种。前两种是主体,后五种是零散混入,性质完全不同,混在一起统计会得出错误的印象。

模态 全称 在这个集合里的角色
PT Positron Emission Tomography 核心。全身 FDG-PET 的发射数据,两个时间点都由它承载
CT Computed Tomography 核心。与 PET 同机采集,用于衰减校正与解剖定位,多为低剂量
NM Nuclear Medicine 零散。少数早期或非标准采集的核医学图像
MR Magnetic Resonance 零散。多为脑部或骨的分期检查
CR Computed Radiography 零散。胸片一类的平片
DX Digital Radiography 零散。数字化平片
SC Secondary Capture 零散。屏幕截图型图像,多为剂量报告或扫描仪导出的示意图

把 CR、DX 这类平片算进「PET 数据集」是不准确的。它们的来源是分期过程:患者在入组前后做过胸片、做过脑 MR,这些检查被一并上传进 ACRIN 的影像库,随影像包一起发布。对做 PET 定量的人来说,这些序列是噪音,取数时应按 Modality 过滤。

SC 这一类还有一段小插曲。官方页面注明,2025 年 10 月 16 日有四个序列的模态从 SC 改为 OT,理由是更符合 DICOM 规范。也就是说,官方列表里的 SC 是一个历史遗留标签,实际检索时这四个序列已经不在 SC 之下。这类细节不影响使用,但会让「按模态统计序列数」的结果随抓取时间变化。

2.3 两个时间点是怎么定的

治疗前那次扫描是入组条件之一:在开始放化疗之前完成,且必须在 ACRIN 认证的扫描仪上做。治疗后那次不是人人都有,协议规定在放疗结束后约十四周进行,且不早于辅助化疗结束后四周,允许的窗口是治疗结束后十二到十六周。更关键的一条是「同一台扫描仪」——复查必须用与治疗前相同的机器,这一条把跨机型的系统偏差压到了最低。

这条设计带来的直接后果是:凡是两个时间点齐全的受试者,其前后两次扫描在机型、重建算法、采集时长上都可比。对做代谢变化量(ΔSUV 一类)的研究,这比样本量重要得多。反过来说,只有单时间点的那些受试者,其影像不能拿来算变化量,只能进横断面分析。

时间点在数据里不是靠日期识别的。所有检查的 DICOM 日期都被伪置为 1960 年 1 月 1 日,真实间隔以「距基准日的天数」写入标签 (0012,0050)。治疗前的检查该值为 0,治疗后的检查是一个正数,通常在数十到一百多天之间。识别时间点最稳妥的办法就是读这个标签,其次才是看同一受试者两次检查的先后与序列构成。

2.4 一条记录的解剖

取一名受试者,它在磁盘上的样子大致如下。层级是受试者 → 检查 → 序列 → 图像,同一个检查下的 PT 与 CT 共享 StudyInstanceUID,靠 SeriesInstanceUID 区分。

#-- 目录层级与关键 DICOM 标签(值为示意,非真实病例)
ACRIN-NSCLC-FDG-PET/
  <PatientID>/
    <StudyInstanceUID_1>/            #-- 治疗前
      <SeriesInstanceUID_a>/         #-- PT,全身发射数据
        IMG0001.dcm  ...
      <SeriesInstanceUID_b>/         #-- CT,同机低剂量,用于衰减校正
      <SeriesInstanceUID_c>/         #-- 定位片
    <StudyInstanceUID_2>/            #-- 治疗后,约十四周后
      <SeriesInstanceUID_d>/         #-- PT
      <SeriesInstanceUID_e>/         #-- CT

#-- 读头可见的关键字段
PatientID                    = "ACRIN-6668-XXXX"
Modality                     = "PT"
StudyInstanceUID             = "1.3.6.1.4.1..."
SeriesInstanceUID            = "1.3.6.1.4.1..."
StudyDate                    = "19600101"      #-- 全部伪置
ClinicalTrialTimePointID     = "0"             #-- 偏移天数,治疗前为 0
ClinicalTrialSponsorName     = "ACRIN"

这条结构里最容易被忽略的是第三层与第四层之间的比例。一个受试者的两个检查下各有若干序列,其中只有一个 PT 序列是真正的发射数据,其余是 CT、定位片、以及扫描仪附带生成的图像。任何「按序列计数」的统计都会把定位片算进去,因此序列数不能直接当作「检查次数」的代理。

2.5 临床表:为什么拆成两份

临床数据以两份 XLS 加 ZIP 的形式发布,file set 1 是 75% 的随机样本(269.81 kb),file set 2 是 25%(255.12 kb)。官方写明,这 25% 当初是被留出来的,用于测试或验证在 75% 样本上训练出的算法。

这是一份有年代感的设计。它假定使用者的工作流是「在多数样本上建模、在少数样本上验证」,因而把队列预先切开、分别打包。对今天的使用者,这个假设未必成立:交叉验证、按中心划分、按时间划分都比固定的 75/25 更常见。但文件是按这个设计发的,合并两份才是完整队列,只取一份会得到一个残缺的样本。

两份表的内部结构相同,都是一张表单一个工作表或一个文件:人口学、诊断、治疗、随访、测量各不相同。官方页面另外给了一套读取路径的说明:先看表单目录,确定要哪张表;再查数据字典,找到该表元素的变量名与取值编码;最后到对应表里取列。数据字典给出的是「表单号 + 元素号 + 描述 + 类型 + 编码-文本对照」,比如 1 = 否、2 = 是,1 = 基线、2 = 治疗后。

这里有一处需要留意的表述落差。下载区的表格写的是「XLS and ZIP」,而页面正文在描述临床数据流时讲的是「每张表单一个 CSV」,并提到随附表单说明文件与数据字典。两种说法指向同一批数据,但文件形态的描述并不完全一致。取数时以实际下载到的压缩包内容为准,不要预设一定是 CSV 或一定是 XLS。

2.6 版本:从 193 例到 242 例

TCIA 上这个 collection 有两个版本,差别主要在收录范围。

版本 更新时间 受试者 检查 序列 图像 体量
V1 2018-12-31 193 828 2,981 436,165 127.75 GB
V2 2020-02-11 242 950 3,377 497,367 145.5 GB

V2 比 V1 多了 49 名受试者、122 个检查,图像增加六万余张,体量增加约 18 GB。文件的更新说明只写了收录扩充,没有说明新增的这批人是补录、还是此前因技术原因未通过质控而暂缓发布。这一点在使用时应当留意:如果一项分析基于 V1 完成,换到 V2 后样本集会变化,结果不可直接对比。

版本号在引用时必须写清。TCIA 的 Data Citation 明确带「Version 2」字样,引用格式里省掉版本,等于放弃了对样本集的界定。

2.7 磁盘上的形态与三条取数后果

TCIA 的发布形态有两种,取决于用哪条路径:用 Data Retriever 下载会得到一个按受试者组织、受试者目录下按检查、检查目录下按序列展开的目录树,每个序列目录里是逐张的 DICOM 文件;用 manifest 文件下载则只取清单里列出的序列,目录结构相同但内容不全。两种形态的差别看似只是多少,实际影响三件事。

第一是计数的含义。目录树里一个序列目录对应一个 SeriesInstanceUID,与页面上的序列数一一对应;但「目录数」不等于「检查数」,因为一次检查下有多个序列。用 ls 数目录得到的永远是序列数,不是检查数。

第二是去重的必要。同一个检查下常有多个重建版本的 CT,它们共享 StudyInstanceUID,只有 SeriesInstanceUID 不同。按检查做统计时若不先按 StudyInstanceUID 去重,会把同一次扫描算成好几次。

第三是过滤的时机。全量下载后再按模态删文件,磁盘峰值要达到 145.5 GB;先取清单、过滤、再下载,峰值可以压到原量的几分之一。对一个只有两百多例的集合,这个差别不算致命,但对反复试验流程的团队,每次重下都是时间成本。

这套目录结构没有任何官方索引文件配套——没有一份「受试者-检查-模态」的对照表随包发布。想要,就得自己从 DICOM 头扫一遍生成。这也是为什么前面给出的第一段代码是扫描头而不是读像素:先建索引,再谈分析。

§3 它要回答的临床问题

3.1 放化疗之后的预后判断,缺一把尺子

局部晚期非小细胞肺癌的标准治疗是根治性同步放化疗,不做手术。治疗结束后,临床上的判断依据主要是影像上的肿瘤缩小程度与后续随访,但这两者都不灵敏:放疗后的纤维化与炎症会让 CT 上的残留阴影难以解释,而代谢信息在理论上能区分「残存的活肿瘤」与「治疗后的瘢痕」。

FDG-PET 的摄取强度是一个连续量,理论上比「缩小与否」的二分判断携带更多信息。问题在于,单中心研究给出的阈值彼此矛盾,有的说某个 SUV 切点以上预后差,有的说没有差别。要判定这把尺子能不能用,需要前瞻、多中心、统一扫描协议、统一随访的数据。这就是 ACRIN 6668 立项的理由。

3.2 主终点与它的结论形态

试验的主终点是治疗前与治疗后 PET 上的代谢参数与生存的关系。TCIA 页面转述的结论是:治疗后肿瘤的 SUV 越高,生存越差,但不存在一个可以常规用于临床的明确切点;后续分析发现治疗前代谢肿瘤体积越大,总生存越差;另外一些二次分析找到了可能有预测价值的纹理特征。

这个结论的形态值得注意。它不是「某个阈值可以分层」,而是「关联成立、切点不成立」。对做模型的人,这意味着两件事:一是这个数据集适合做连续风险建模,不适合做二分分类;二是任何在 173 例上拟合出的切点,都很可能是过拟合的产物,需要一个外部队列验证。

3.3 影像标记的三代

用 PET 预测肺癌预后,方法上大致经过三代,这个集合恰好横跨三代所需的原始数据。

第一代是 SUV 类指标,取肿瘤内的最大值或峰值。优点是算法统一、可比性好;缺点是对噪声与感兴趣区勾画敏感,且只用了分布的一个点。

第二代是体积类指标,把代谢活跃区整体框出来算体积或总糖酵解量。它需要勾画,因此对分割方法的依赖极强,也正因如此,不同研究的结论分歧很大。

第三代是纹理与形状特征,把病灶内部的异质性量化。它需要更稳定的分割与更大的样本,也最容易过拟合。

这个集合提供的是原始图像,三代指标都得自己算。官方不发行算好的数值,也不发行勾画。这不是遗漏,而是那代试验的惯例:影像库只管图像,测量由各研究组自己做,因此同一个 collection 在不同论文里会得出不同的 SUV 数值,差异来自重建、勾画与体素化方式,而不是数据本身。

3.4 一个试验,两个编号

ACRIN 6668 与 RTOG 0235 是同一个试验的两个编号。ACRIN 一侧负责影像采集与影像质控,RTOG 一侧负责放疗方案与临床随访,两边联合执行,患者只入组一次。文献里两种写法都出现过,规范写法是并列。

理解这一点对读论文有帮助:影像相关的质控细节写在 ACRIN 一侧的文件里,放疗剂量与靶区规定写在 RTOG 一侧的协议里,而生存随访的组织归 RTOG。想弄清某个字段的来源,先看它属于哪一侧。

3.5 为什么是局部晚期,而不是早期或晚期

人群的选择决定了这份数据的可用边界,值得单独说一句。早期非小细胞肺癌的首选是手术,术前的 PET 主要承担分期职能,扫描一次即可,没有「治疗后复查」的临床必要;广泛转移期的治疗以全身药物为主,局部放疗不是主角,代谢变化会被系统性治疗掩盖。

局部晚期恰好是两头都不占的中间地带:不能手术、以放疗为局部手段、以化疗为全身手段、疗效判断依赖影像。这个位置使「治疗前一次、治疗后一次」成为临床常规动作,而不是研究附加项。数据之所以能有双时间点结构,根源在临床路径,不在数据集设计。

这一点对使用者有实际含义:这套数据的分布不能外推到早期筛查人群,也不能外推到晚期姑息人群。它的每一条结论都锚定在「接受了根治性同步放化疗的 III 期患者」这个前提上。

§4 口径:试验设计与数据结构的对应关系

4.1 入组漏斗的五个数

把几个人数按时间顺序排开,能看清这个集合在试验中的位置。

环节 人数 说明
入组 250 37 家机构,2005-06 至 2009-05
排除不合格 −16 入组后判定不符合条件
排除无可评估治疗前 PET −8 影像缺失或质量不达标
可评估治疗前 PET 226 后续分析的基础人群
其中另有可评估治疗后 PET 173 主终点分析队列
TCIA 收录 242 影像收录口径,与上面几项不完全嵌套

最后一行与前面几行不构成严格的子集关系。242 是「最初入组患者中影像可用者的数量」,官方原文的表述是「最初入组的患者中有 242 人的数据可在 TCIA 获取」。这意味着可能存在「影像在 TCIA、但未进入 226 人可评估集」的个案,也可能有「进入 226 人、但影像未发布」的个案。做严格分析时,应以临床表里的入组与合格标记为准,而不是以文件夹数量为准。

4.2 治疗与随访的时间轴

治疗是同步放化疗,不做手术,允许在放疗后加巩固化疗。随访至少两年或至死亡,按常规临床实践执行。协议允许但不强制做方案外的 PET。

把时间轴画出来,各段的长度大致是:入组后先做治疗前 PET,随即开始同步放化疗,放疗结束后若有巩固化疗则先完成,再等至少四周,然后在放疗结束后的第十二到十六周之间做治疗后 PET,此后进入为期两年以上的随访。

这条时间轴决定了几件事。其一,治疗后 PET 距放疗结束约三个月,此时放射性炎症已部分消退但未完全消失,读片时需要考虑治疗相关摄取的干扰。其二,两次扫描之间的间隔不是固定值,而是一个区间,因此「治疗前后变化量」这个变量本身带有时间抖动。其三,随访两年是最低要求,实际随访长度因人而异,做时间-事件分析时必须用随访字段而不是用「两年」这个常数。

4.3 影像质控落在哪一层

多中心 PET 最大的敌人是机型与重建参数的差异。这个试验在两处做了约束:治疗前扫描必须用 ACRIN 认证的扫描仪,治疗后扫描必须与治疗前同机。前者保证了入组影像的基本可比性,后者保证了个体内前后对比的可比性。

但约束只到「机器」这一层。重建算法、迭代次数、滤波、体素大小的具体设置,各中心仍可能不同,而这些参数对 SUV 的影响是实质性的。DICOM 头里能读出部分重建信息,但不是全部。做定量分析前,从头部把这些字段抽出来看一眼,是必要的一步。

4.4 为什么影像数远大于分析数

950 个检查对应 173 人的主终点队列,比例明显偏高。原因有三:一是 242 人的收录基数本就大于 173;二是每人可能不止两次检查,方案外 PET 虽不强制但确有发生;三是同一个时间点下,不同序列(PT、CT、定位片、重建版本)都被单独计数。

因此「950 个检查」不能理解为「950 次临床扫描」。它是 DICOM 层面的检查对象数,含重复采集与派生检查。做样本量估算时,用受试者数;做存储规划时,用体量与图像数。

§5 怎么拿到:许可、路径与引用

5.1 CC BY 3.0 意味着什么

这个集合的许可是 CC BY 3.0,影像与两份临床表都是。这在 ACRIN 系列里属于最宽松的一档:不需要提交申请,不需要签数据使用协议,不需要伦理审批的二次确认,页面上的下载链接直接可用。

宽松不等于无义务。TCIA 的数据使用政策要求在使用者成果中附上 Data Citation 并带 DOI,同时不得尝试重新识别受试者。CC BY 3.0 本身要求署名、标明是否修改、不得暗示原作者为你背书。对影像数据,还有一条行业共识:即便去标识,也不应把图像用于重新识别的尝试。

这一点与同系列的另外两个集合形成对照:ACRIN 6685(头颈)的影像是 NIH 受控数据,需按政策申请;ACRIN 6664(结肠)的影像与息肉表是 CC BY 3.0、部分临床表是 CC BY 4.0。三个集合许可不同,混用时必须逐个确认,不能按「ACRIN 系列」一概而论。

5.2 三条取数路径

路径 适合的人 代价 备注
TCIA Data Retriever 要完整下载或用命令行批量取 需安装客户端,145.5 GB 全量下载 官方推荐的下载方式,可用 collection 名或 manifest 文件
网页检索与按序列下载 只要几十个病例做探索 手点,效率低 适合核对手头 manifest 是否完整
IDC 云入口 要在云端做分析、不想落盘 需熟悉 IDC 的表结构与 BigQuery 接口 同一批影像的另一份索引,适合做 cohort 筛选

三条路径背后是同一批文件。IDC 的价值在于它把这批 DICOM 重新索引成了可查询的表,能按模态、按序列描述筛选;TCIA 的价值在于它是源头,版本与统计口径以它为准。

5.3 取数时的三个具体动作

第一步,按 collection 名筛。TCIA 上的集合名是 ACRIN-NSCLC-FDG-PET,注意是全大写的连字符串,与 FLT 版本的另一套试验无关——搜索时容易撞上名称相近的集合,认准这个名字与 DOI 就不会错。

第二步,按模态过滤。全量下载会把 CR、DX、MR、NM、SC 一起拉下来,对 PET 定量毫无用处,却占了相当比例的体量与时间。

第三步,按时间点分组。用 (0012,0050) 的值把检查分成基线组与复查组,缺复查的受试者单独成组。这一步不做,后面的配对分析会全错。

5.4 引用怎么写

引用分三层,缺一层都会削弱可复现性。

第一层是数据引用,这是 TCIA 强制要求的:Kinahan P、Muzi M、Bialecki B、Herman B、Coombs L,2019 年,《Data from the ACRIN 6668 Trial NSCLC-FDG-PET (Version 2)》,The Cancer Imaging Archive,DOI 10.7937/tcia.2019.30ilqfcl。版本号与 DOI 都不能省。

第二层是临床论文:Machtay M 等,《Prediction of Survival by [18F]Fluorodeoxyglucose Positron Emission Tomography in Patients With Locally Advanced NSCLC Undergoing Definitive Chemoradiation Therapy: Results of the ACRIN 6668/RTOG 0235 Trial》,J Clin Oncol 2013 年第 31 卷第 30 期 3823 至 3830 页,DOI 10.1200/JCO.2012.47.5947。凡涉及试验设计、终点定义、随访规则的陈述,出处都应指向这篇。

第三层是注册信息:NCT00083083。凡涉及入排标准与方案偏离,注册记录与 ACRIN 协议页是最终依据。

5.5 与受控集合的一处实操差别

同系列的头颈集合需要走申请流程,从提交到拿到数据有一段等待;这个集合不需要。对赶进度的项目,这个差别很实际:可以当天就开始探索性分析,不必先等审批。代价是没有任何使用登记,也就无法从 TCIA 一侧知道有多少团队在用同一批数据——这一点在判断「某结论是否已被反复验证」时是一个盲区。

5.6 下载与存储的实际规划

145.5 GB 是一个不算大也不算小的量。放在本地工作站上,解压后的目录会比压缩包更大,因为 DICOM 是逐文件存储,小文件多,块开销显著。规划磁盘时按两倍体量留余量是稳妥做法。

若只想做 PET 定量,实际需要的部分远小于全量:PT 序列是核心,同期 CT 用于解剖参照与衰减校正的核对,其余五个模态可以完全略过。按模态白名单取数,能把下载量压到原量的一部分,具体比例取决于该集合里非 PET 序列的占比,而这个占比从清单里一算便知。

若只做临床层面的分析,连影像都可以不下。两份临床表合计不到一兆,几分钟就能拿到,够做队列描述、时间-事件分析与样本量估算。这是一种被低估的用法:先用表格判断这个队列是否适合自己的问题,再决定要不要下载影像。

§6 取数代码:从 collection 名到配对表

6.1 先列清单,再决定下多少

不建议一上来就下 145.5 GB。先取 series 清单,看清模态与序列构成,再决定过滤条件。

#-- 列出 collection 的 series 清单,先看模态构成再决定下载范围
from tcia_utils import nbia

series = nbia.getSeries(collection="ACRIN-NSCLC-FDG-PET")
print("series 总数:", len(series))

#-- 按模态统计,确认 PT 与 CT 占多少
from collections import Counter
print(Counter(s.get("Modality") for s in series).most_common())

清单拿到手之后,通常会发现 PT 序列的数量远小于总数。只下 PT 与同期 CT,能把数据量压到原来的几分之一。

6.2 从 DICOM 头还原两个时间点

时间点靠 (0012,0050) 判断,这个标签里存的是距基准日的偏移天数,基线为 0。

#-- 从本地已下载的 DICOM 头里还原每人的时间点结构
import glob
import pydicom
from collections import defaultdict

studies = defaultdict(set)
for path in glob.glob("ACRIN-NSCLC-FDG-PET/**/*.dcm", recursive=True):
    ds = pydicom.dcmread(path, stop_before_pixels=True)
    tp = getattr(ds, "ClinicalTrialTimePointID", "")
    key = (ds.PatientID, str(ds.StudyInstanceUID))
    studies[key].add((tp, ds.Modality))

paired, single = 0, 0
for (pid, uid), items in studies.items():
    days = {int(t) for t, m in items if str(t).isdigit() and m == "PT"}
    if 0 in days and any(d > 0 for d in days):
        paired += 1
    else:
        single += 1

print("双时间点:", paired, "单时间点:", single)

这段代码只读头,不读像素,几百 GB 的集合在几分钟内就能跑完。跑完得到的两个数,是后续所有分析的分组依据。

6.3 把临床表拼进来

两份表都要读,读进来先并集,再做受试者编号映射。

#-- 合并两份临床表,得到完整队列
import pandas as pd

set1 = pd.read_excel("file_set_1.xls", sheet_name=None)   #-- 75% 随机样本
set2 = pd.read_excel("file_set_2.xls", sheet_name=None)   #-- 25% 随机样本

print("file set 1 工作表:", list(set1.keys()))
print("file set 2 工作表:", list(set2.keys()))

#-- 同结构的工作表纵向拼接,不同结构的各自保留
merged = {}
for name in set(set1) | set(set2):
    parts = [d[name] for d in (set1, set2) if name in d]
    merged[name] = pd.concat(parts, ignore_index=True)

print({k: v.shape for k, v in merged.items()})

拼接之后要做的第一件事是查重:两份文件集理论上不相交,但下载或解压出错时会重复。按受试者编号去重,再统计人数,与 242 对一下,对不上就说明有一份没读全。

§7 质量与已知问题

7.0 读这一节前的一个前置校正

评估这个集合时,最容易犯的错是拿「标注数据集」的标准来量它:问它有没有分割、有没有标签、能不能直接算指标。这些维度上它必然不及格,因为它的定位从一开始就不是标注集,而是「一个前瞻性试验留下的原始影像与随访表」。

正确的框架是另外四条:影像是否可比(同机、同协议、同质控)、结构与试验设计是否对得上(人数口径能否解释)、终点是否可得(表格能否支撑时间-事件分析)、许可是否允许直接使用。按这四条看,它的表现与按「标注完备度」看完全不同。下面每一处扣分,都应读作「它的定位带来的取舍」,而不是「它没做好」。

7.1 五维评分

维度 分数 依据
规模 3 / 5 242 例在公开 PET 集合里属中等;双时间点的 173 例是稀缺部分
一致性 4 / 5 同机复查与统一协议是硬约束;扣分在重建参数未完全标准化
可用性 5 / 5 CC BY 3.0 直链,三条取数路径,无需申请
可追溯性 4 / 5 有 Data Citation、版本号、试验注册号与协议页;扣分在逐例排除原因未公开
注释质量 1 / 5 无分割、无病灶框、无疗效判读,影像侧注释为零
临床配套 4 / 5 五类字段覆盖人口学、诊断、治疗、随访、测量;扣分在双文件集拆分与格式描述不一

7.2 DAIMS 视角下的四条线

DAIMS 线 表现
数据获取与处理 上传走 TRIAD、匿名化与日期伪置有明确规则、统计中心统一导出,链条完整
数据建模 影像用 DICOM 原生模型,临床用「一表单一张表」,两者无共享主键,需外部映射
数据溯源 版本号 + DOI + 注册号 + 协议页,粒度到版本而非逐例
数据使用与治理 CC BY 3.0 明确,署名义务明确,无使用登记

四条线里最弱的是建模:影像与临床没有共享主键,是这套数据结构里最实际的摩擦点。它意味着任何端到端流程的第一步都是一次手工映射,而这次映射没有官方对照表。

7.3 可枚举的偏差与缺口

第一,模态构成偏差。七个模态混放,非 PET 模态零散分布,按文件数或按序列数统计会严重高估「PET 数据量」。

第二,时间点不完整。只有 173 人双时间点齐全,其余为单时间点。任何「人均两次扫描」的假设都不成立。

第三,缺失原因不可追。入组 250 人到收录 242 人之间的差额、226 人到 173 人之间的差额,官方只给总数,未给逐例原因。做敏感性分析时无法据此判断缺失是否随机。

第四,重建参数不全。机型可读,扫描仪认证可查,但重建核、迭代次数、滤波设置并非在所有序列里都能读到,跨中心的可比性只能部分验证。

第五,时间信息粗糙。日期全部伪置,只有偏移天数;随访字段的时间精度受表单设计限制,做精细的时间-事件模型时需要接受这个粒度。

第六,临床表的形态描述有落差。下载区写 XLS 与 ZIP,正文描述的是每表单一个 CSV,实际文件需以解压结果为准。

第七,无分割。这是最直接的一条:任何以病灶为单位的分析,第一步都是自己勾画或调用外部模型,而勾画质量直接决定结论。

7.4 外部印证

角度 证据 结论
学术使用强度 页面显示六千余次浏览、二十余次引用 在专科 PET 集合里属常用,但远不及大型筛查集
云端可得性 IDC 收录同一批影像 说明数据结构经得起二次索引,不是孤本
第三方标注 IDC 上另有 Zenodo 社区发布的第三方分割结果 分割需求存在,但不属本集合原始内容
结论可复现性 主论文的关联结论已被后续 MTV 与纹理分析延伸 数据基础足以支撑二次分析
长期可用性 2019 年首发、2020 年更新,此后维持 停更风险低,但也不会再有大规模扩充

7.5 一个具体的失败模式

把这个集合用错,最常见的方式不是算错 SUV,而是在划分数据时出错。设想一个团队要训练「预测治疗后代谢缓解」的模型:他们把 950 个检查按 8:2 随机分成训练与测试,训练集里既有某人的治疗前,也有他的治疗后,测试集里同样如此。

结果会出现一种典型的高分:模型在测试集上的准确率明显高于预期,且在外部数据上立刻崩塌。原因不是模型强,而是它学到了「这个人长什么样」——同一个人的两次扫描在体型、体位、肠道气体分布、重建噪声上高度相似,模型可以靠这些与疗效无关的线索把两次扫描配上对。

正确的做法只有一条:按受试者划分。173 个双时间点受试者整体进训练或整体进测试,单时间点的受试者另作一组,不与配对组混。这条规则写起来只有一句话,违反它的论文却不少见,而这个错误无法从结果里看出来——分数只会偏高,不会报错。

第二个失败模式是跨版本混用。V1 与 V2 的样本集合不同,若训练用 V1、测试用 V2,重叠部分会泄漏;若两次实验各用一个版本,结果不可比。做长期项目时,把版本号写进实验配置,比事后追查省事得多。

§8 生态位与历史

8.1 时间线

时间 事件
2005-06 开始入组,37 家机构参与
2009-05 入组结束,共 250 人
2013-10 主论文发表于 J Clin Oncol,报告代谢参数与生存的关联
2018-12-31 TCIA 发布 V1,193 例
2019 发布 Data Citation,DOI 10.7937/tcia.2019.30ilqfcl
2020-02-11 V2 发布,扩充至 242 例,为现行版本
2025-10-16 四个序列的模态由 SC 改为 OT,以符合 DICOM 规范

从这条线能读出两件事。其一是时滞:试验 2009 年结束入组,影像 2018 年才系统发布,中间隔了九年。其二是维护的克制:2020 年之后只有模态标签的合规性修正,没有新增数据,也没有新增派生层。

8.2 ACRIN 三件套里的位置

库内已有两个同源集合,三者构成一组可以对照阅读的样本。

集合 试验 癌种 影像规模 许可 结构特征
本篇 ACRIN 6668 / RTOG 0235 局部晚期非小细胞肺癌 242 例,145.5 GB CC BY 3.0 双时间点,纵向
hnpet-fdg ACRIN 6685 头颈鳞癌 260 例,147.77 GB 影像受控,临床表 CC BY 4.0 影像 + 病理金标准 + 决策问卷
ct-colonography ACRIN 6664 结直肠肿瘤筛查 825 例,496.67 GB CC BY 3.0 / 4.0 分层 双体位 + 息肉描述表

三者规模相近而结构完全不同:6685 的价值在「影像改变了什么决策」,6664 的价值在「影像与光学结肠镜的逐例对照」,6668 的价值在「同一个人的前后两次」。把它们放在一起看,能看出 ACRIN 那代试验的数据遗产不是「图像多」,而是「每份数据都带着一个明确的临床问题」。

许可上的差别同样值得记住:6685 因为 PET 可重建人脸而走受控,6668 与 6664 走公开。同一体系内许可不同,说明许可是按风险逐案判定的,不是按系列统一发。

8.3 与库内其他肺癌影像集的分工

集合 与本文的关系 一句话区隔
lung-pet-ct-dx 同为肺部 PET/CT,任务不同 那边是诊断性读片与病灶描述,这边是治疗前后纵向随访
nsclc-radiomics / nsclc-radiogenomics 同为 NSCLC 影像组学 那两套是单时间点、带勾画的放射组学集,这边无勾画但有两个时间点
nlst 同为肺癌筛查影像 NLST 是万人级筛查 CT,这边是百人级治疗性 PET
autopet 系列 同为全身 PET 分割基准 那边专为病灶分割提供标注,这边不提供任何标注
head-neck-pet-ct 同为 PET/CT 结局集 癌种与机构不同,结构上都是「影像 + 随访」

一条实用的选型规则:要标注,去 autopet 或放射组学集;要纵向,来这里;要规模,去 NLST。三者不可互相替代。

8.4 它为何能持续

这个集合没有活跃的维护团队,也没有持续扩充的计划,却仍在被引用,原因不在维护,而在结构:它是少数几份「同一患者治疗前后、同机、前瞻协议」的公开 PET 数据。这种结构无法通过事后拼接获得——公开档案里带完整双时间点且扫描参数可比的数据极少,因此它的稀缺性不会随时间衰减。

另一层原因是许可。CC BY 3.0 加公开直链,把使用门槛降到了零,任何团队都可以当天开始,不必走审批。对教学方法、流程验证、基线对照这类「不需要大样本但需要真实数据」的用途,这一点比样本量更有价值。

8.5 作为方法学样本的价值

除了做研究,这个集合还有一层常被忽略的用途:它是一个「多中心试验的数据长什么样」的实物样本。翻一遍它,就能看到那代试验留下的几件典型痕迹。

其一是双文件集。把队列预先切成训练与验证两半,是机器学习进入临床试验设计初期的一种做法,今天已不流行,但它留下的文件形态会影响使用者。其二是日期伪置。全部日期压到同一天、用偏移天数替代,是隐私保护与时间分析之间的一种折中,代价是绝对时间不可恢复。其三是模态混入。上传端不做严格过滤,凡是与患者相关的影像都进了库,于是 PET 集合里出现了胸片与脑 MR。其四是口径分层。入组、合格、可评估、收录四个数并存,任何一个分析都必须先声明用哪个。

这四件事在新一代数据集中大多已被修正,但修正的代价是另一种失真:过度清洗后的数据集看起来干净,却丢掉了真实工作流的粗糙感。对于要设计新试验、或要写数据治理方案的人,看一份未经修饰的旧数据,比看十份整洁的新数据更有用。

§9 使用指引

9.1 三类角色的路径

核医学定量研究者的路径最短:只下 PT 与同期 CT,按 (0012,0050) 分出两个时间点,自己勾画或调用分割模型,算 SUV 类与体积类指标,再从临床表拼生存。关键动作是把重建参数抽出来做分层,否则跨中心的差异会被误读为生物学差异。

影像 AI 研究者的路径更重:需要先解决标签问题。这个集合没有病灶框,弱监督或多实例学习的标签只能从「治疗后 SUV 高 / 生存差」这类终点反推,而终点在表格里、不在图像里。建议先用 75% 的样本构建,把 25% 留出,尊重原始设计。

方法学与试验设计者的路径最轻:不必下影像,读临床表与协议页即可。这个集合的价值在于它提供了「一个真实的多中心 PET 试验在数据层面长什么样」的样本——两份文件集、日期伪置、模态混入、口径分层,这些都是在设计新试验时该预见的坑。

9.2 一条最短的可用流程

#-- 一、装客户端并取清单
pip3 install tcia-utils pydicom pandas openpyxl
python3.11 -c "from tcia_utils import nbia; s=nbia.getSeries(collection='ACRIN-NSCLC-FDG-PET'); print(len(s))"

#-- 二、按清单下载(建议先只取 PT 与 CT)
python3.11 -c "from tcia_utils import nbia; nbia.downloadSeries('series_manifest.tcia', format='tcia', dir='./data')"

#-- 三、核对下载完整性:目录数与清单条数应一致
find ./data -name '*.dcm' | wc -l
#-- 四、成表:一人一行,给出双时间点标记与两次检查的间隔
import glob
import pandas as pd
import pydicom

rows = []
for path in glob.glob("./data/**/*.dcm", recursive=True):
    ds = pydicom.dcmread(path, stop_before_pixels=True)
    rows.append({
        "patient": ds.PatientID,
        "study": str(ds.StudyInstanceUID),
        "modality": ds.Modality,
        "day": int(getattr(ds, "ClinicalTrialTimePointID", "0") or 0),
    })

df = pd.DataFrame(rows).drop_duplicates(["patient", "study", "modality"])
pt = df[df["modality"] == "PT"]

summary = pt.groupby("patient")["day"].agg(["min", "max", "count"])
summary["paired"] = (summary["min"] == 0) & (summary["max"] > 0)
print(summary["paired"].sum(), "人有双时间点")
summary.to_csv("timepoints.csv")

跑完之后会得到一张 timepoints.csv,一人一行,含最早与最晚的偏移天数、序列数与是否成对。这张表应当与 §6.2 的结果对得上,对不上说明下载有缺失。

9.3 写方法学时的最小信息集

用这个集合写论文,方法部分至少要交代六项,缺任何一项都难以复现:一是所用版本(V1 或 V2);二是纳入的受试者口径(242、226 还是 173);三是模态过滤规则;四是时间点判定依据;五是分割或感兴趣区的生成方式;六是临床表的合并方式与去重规则。

这六项里,第四与第五最容易被略过,也最容易导致结果不可比。特别是第五项:同一个病灶,用固定阈值勾画与用梯度法勾画,算出的体积能差出可观的比例,而这个差别会直接进入生存模型。

9.4 合规动作清单

下载前确认许可为 CC BY 3.0,使用时在成果中附 Data Citation 与 DOI,在数据可用性声明里写明版本号;不尝试重新识别;若对图像做过重采样、配准或裁剪,在方法里声明为修改。这四步做完,合规义务即履行完毕。

9.5 三种任务的推荐组合

最后给一张速查,把任务与最小配置对应起来,省去从头推演。

任务 最小数据配置 必须先做的处理 主要风险
治疗前后代谢变化分析 双时间点 PT + 临床表的随访字段 按人配对、按偏移天数确认时间点 单时间点样本误入配对组
预后模型(时间-事件) PT 特征 + 临床表结局 从表格重建事件与时间、核对删失定义 终点口径与论文不一致
影像基础模型的纵向语料 PT 与同期 CT,全量受试者 按人划分、统一体素间距 按检查划分造成泄漏

三行任务的共同点是:真正的难点都不在影像本身,而在把影像与表格接到一起,以及在划分时尊重「一个人的两次扫描属于同一个体」这条约束。影像处理是熟练工种,接表与划分才是决定结论成败的地方。

§10 AI 使用声明

项目 说明
本页 AI 参与程度 由 AI 助手依据 TCIA collection 页与论文著录信息起草,人工复核关键数字
数字来源层级 见附录 B,collection 页为一级,论文与注册页为二级
未核实项 新增 49 例在 V2 中的补录原因、非 PET 模态的逐例来源,均未在官方页面展开
版本信息 以 2026 年 10 月读取的 collection 页为准,现行版本为 2020-02-11 的 V2
已知不一致 临床表在下载区标为 XLS 与 ZIP,正文描述为每表单一个 CSV
适用边界 本文描述数据集本身的结构、规模与边界,不评价任何具体研究结论
更新机制 集合已进入低维护状态,本文不承诺随版本同步刷新

常见误读(避坑清单)

常见说法 实际 证据
「这是 ACRIN 6668 的 FLT 版本」 不是,这是 FDG 版本,collection 名为 acrin-nsclc-fdg-pet collection 页标题与 DOI 均指向 NSCLC-FDG-PET
「试验共 242 例」 242 是 TCIA 收录口径,试验入组 250 人,主终点队列 173 人 collection 页 Study Accrual 段逐段给出四个数
「人人都有治疗前后两次 PET」 只有 173 人两次都可评估 collection 页明写入组 226 人中 173 人另有可评估治疗后 PET
「下载要申请」 不需要,CC BY 3.0 公开直链 下载区三行均标 CC BY 3.0,无申请入口
「里面有肿瘤勾画」 没有,TCIA 侧无 SEG 与 RTSTRUCT 下载区未列任何分析结果文件,页面亦无标注说明
「七个模态说明数据很丰富」 五个是零散混入的分期与平片,主体只有 PT 与 CT 模态列表与序列构成,按 Modality 过滤后 PT 占比很小
「只下一份临床表就够了」 两份是 75%/25% 随机拆分,合并才是完整队列 collection 页明写 file set 1 为 75%、file set 2 为 25%
「DICOM 日期能用」 全部伪置为 1960-01-01,只能用偏移天数 collection 页 Date Offsets 段
「SUV 是现成的」 没有算好的 SUV,必须自己从像素算 集合只发影像与表格,不含派生测量文件
「它和 hnpet-fdg 许可一样」 不一样,头颈那套影像受控,这套公开 两个 collection 页的下载区许可行不同

FAQ

Q1:这个集合与 IDC 上的那份是同一批数据吗?

是。IDC 是本 collection 的云侧索引,影像相同,组织方式不同。做筛选与云端计算用 IDC 更方便,核对版本与许可仍以 TCIA 为准。

Q2:为什么有 950 个检查却只有 242 人?

因为检查是 DICOM 层面的对象,含重复采集、派生检查与方案外扫描。人均接近四次,明显多于协议规定的两次,差额来自上述几类。

Q3:单时间点的那些人还有用吗?

有用,但用途不同。他们可以进横断面分析、可以做影像特征与基线临床变量的关联,不能进治疗前后变化量的分析。混着用会污染配对设计。

Q4:模态里的 NM 是什么?

核医学图像的通用标签,可能是早期的平面显像或非标准采集。数量很少,对主体分析无实质影响,取数时过滤掉即可。

Q5:能不能拿它做外部验证集?

可以,但要先确认三件事:重建参数是否与训练集可比、时间点定义是否一致、终点计算方式是否相同。三件事有一件不同,验证结论就会失真。

Q6:2025 年那次模态改动影响什么?

只影响四个序列的标签,从 SC 改为 OT。影像内容不变。按 SC 过滤的脚本会漏掉这四个序列,改成按 Modality 白名单过滤即可。

术语表

术语 含义
FDG 氟代脱氧葡萄糖,PET 最常用的代谢示踪剂
PET/CT 正电子发射断层与 CT 同机采集,CT 用于衰减校正与定位
SUV 标准摄取值,组织摄取相对 injected dose 与体重的归一化量
SUVmax 感兴趣区内的最大 SUV,单点指标,对噪声敏感
SUVpeak 以最热体素为中心的小球平均,比 SUVmax 稳健
MTV 代谢肿瘤体积,超过阈值的高代谢区总体积
TLG 总糖酵解量,MTV 与平均 SUV 的乘积
双时间点 同一受试者在治疗前与治疗后各做一次扫描
根治性放化疗 以治愈为目标的同步放疗加化疗,不做手术
巩固化疗 放疗结束后追加的化疗疗程
偏移天数 距基准日的天数,替代真实日期以保护隐私
TRIAD ACRIN 当年使用的影像上传与匿名化软件
SEG DICOM 分割对象,用于存放像素级标注
RTSTRUCT DICOM 放疗结构集,用于存放勾画轮廓
IDC NCI 影像数据共享平台,提供云侧索引与查询
CC BY 3.0 署名即可使用的知识共享许可,允许商用与改编
DAIMS 数据档案与信息管理系统的评估框架,看采集、建模、溯源、治理四条线

附录 A:核心数字核对表

项 值 来源 层级
受试者 242 collection 页 一级
检查 950 collection 页 一级
序列 3,377 collection 页 一级
图像 497,367 collection 页 一级
体量 145.5 GB collection 页 一级
试验入组 250 collection 页 一级
可评估治疗前 PET 226 collection 页 一级
主终点队列 173 collection 页 一级
V1 受试者 193 collection 页版本表 一级
临床表 file set 1 75%,269.81 kb collection 页 一级
临床表 file set 2 25%,255.12 kb collection 页 一级
入组窗口 2005-06 至 2009-05 collection 页 一级
参与机构 37 家 collection 页 一级
治疗后 PET 窗口 治疗后 12 至 16 周 collection 页 一级
主论文卷期 31(30):3823-3830 论文著录 二级
注册号 NCT00083083 collection 页 一级

附录 B:数字的来源分层

一级:collection 页面。 受试者、检查、序列、图像、体量、版本对照、入组漏斗、时间点规则、临床表拆分比例、许可与 DOI,全部取自这一层,且在同一次读取中彼此一致。

二级:论文与注册记录。 主论文的卷期页码与 DOI、试验的注册号与方案要素取自论文著录与注册页。这些用于确认试验设计,不用于描述数据规模。

三级:未展开。 V2 新增 49 例的来源、非 PET 模态的逐例来由、逐例排除原因,官方页面均未展开,本文标注为未核实而不作推定。

附录 C:参考文献

  1. Kinahan P, Muzi M, Bialecki B, Herman B, Coombs L. Data from the ACRIN 6668 Trial NSCLC-FDG-PET (Version 2). The Cancer Imaging Archive, 2019. DOI 10.7937/tcia.2019.30ilqfcl.
  2. Machtay M, Duan F, Siegel BA, et al. Prediction of Survival by [18F]Fluorodeoxyglucose Positron Emission Tomography in Patients With Locally Advanced Non-Small-Cell Lung Cancer Undergoing Definitive Chemoradiation Therapy: Results of the ACRIN 6668/RTOG 0235 Trial. J Clin Oncol, 2013, 31(30): 3823-3830. DOI 10.1200/JCO.2012.47.5947.
  3. TCIA collection 页,ACRIN-NSCLC-FDG-PET,https://www.cancerimagingarchive.net/collection/acrin-nsclc-fdg-pet/ ,2026 年 10 月访问。
  4. ClinicalTrials.gov,NCT00083083,Positron Emission Tomography Pre- and Post-treatment Assessment for Locally Advanced Non-Small Cell Lung Carcinoma。
  5. ACRIN 6668 协议页,https://www.acrin.org/6668_protocol.aspx 。
  6. NCI Imaging Data Commons,同 collection 的云侧索引与第三方标注入口。

附录 D:如果只记五件事

第一,它是 ACRIN 6668 / RTOG 0235 的 TCIA 影像子集,242 例,双时间点,同机复查,CC BY 3.0 公开直链。

第二,影像与临床分开存放:生存与治疗字段在临床表里,不在 DICOM 里;两份表按 75%/25% 拆分,合并才是完整队列。

第三,人数有五个口径,最要紧的三个是入组 250、收录 242、主终点 173,写方法学必须说清用哪个。

第四,它不含勾画、不含算好的 SUV 与 MTV、不含基因与病理,做分割或特征工程要从零开始。

第五,它的稀缺性在纵向结构,不在规模;要标注去 autopet 类集合,要规模去筛查类集合,要纵向只能来这里。

编辑说明

本篇核验时间为 2026 年 10 月 29 日。核验方式为直接读取 TCIA 的 collection 页面,逐项比对受试者、检查、序列、图像、体量、模态、许可、版本表、入组漏斗与临床表拆分说明,并核对 Data Citation 与主论文的 DOI 及卷期页码。所有规模数字与许可条款以 collection 页为一级依据;论文数字仅用于确认试验设计与终点定义。

未覆盖的内容包括:V2 新增 49 例的具体来源、七个模态中非 PET 部分的逐例来由、250 人入组到 242 人收录之间的逐例排除原因、以及临床表内部字段的完整清单。前两项官方页面未展开,第三项只有总数,第四项需解压后逐表确认,本篇不代作推定。

页面在临床表的形态描述上存在一处落差:下载区标为 XLS 与 ZIP,正文的数据流说明描述的是每张表单一个 CSV。两种表述指向同一批数据,本篇并列记录而不裁决,取数以实际压缩包为准。


相关数据集导航

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

  • autopet — 共享标签:医学影像 / PET / CT / 肿瘤学
  • lung-pet-ct-dx — 共享标签:医学影像 / CT / 肿瘤学 / 肺癌
  • tcia — 共享标签:医学影像 / PET / CT / 肿瘤学
  • idc — 共享标签:医学影像 / PET / CT / 肿瘤学
  • head-neck-pet-ct — 共享标签:医学影像 / PET / CT / 肿瘤学
  • hnpet-fdg — 共享标签:医学影像 / PET / CT / 肿瘤学
  • nsclc-radiomics — 共享标签:医学影像 / CT / 肺癌
  • rider-lung-ct — 共享标签:医学影像 / CT / 肺癌
  • nlst — 共享标签:医学影像 / CT / 肿瘤学 / 肺癌
  • petwb-rep — 共享标签:医学影像 / PET / CT / 肿瘤学

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

返回 AI-Ready 数据集