信息速览
TCGA-UCEC 是癌症影像档案馆(TCIA)托管的子宫内膜癌影像集合,全称 The Cancer Genome Atlas Uterine Corpus Endometrial Carcinoma Collection,末尾四个字母是 TCGA 的项目编号,对应 Uterine Corpus Endometrial Carcinoma,即子宫体子宫内膜癌。集合页给出的规模是四组数字:六十五例患者、二百二十六次检查、九百一十二个序列、七万七千余幅图像,合计 37.85 GB,模态一栏写着 CT、PT、MR、CR 四类。这个集合本身不含分割掩膜,也不含临床、基因组与病理数据,后三者存放在基因组数据共享平台(GDC),两侧靠一串十二位的 TCGA 患者编号对齐。
它要补的缺口很具体。子宫内膜癌的分子分型、组织学分级、肌层浸润深度与淋巴结状态,在 GDC 上都有;这些指标对应的术前影像,在公开资源里几乎找不到第二份带同样配对关系的。要把「影像上看到的肌层浸润深度」和「病理报告里的浸润深度」放到同一个人身上比较,缺的从来不是影像,也不是病理,而是两者之间的身份桥。这个集合提供的就是这座桥,代价是规模小、模态杂、采集不统一。
使用它之前有两件事要先确认。第一,六十五是四类模态的合计,不是某一种模态的例数,分模态的数字要自己数;第二,它是历史归档,纳入的是各参与医院既有扫描里挑出来的片子,期相、层厚、对比剂方案都不统一。这两条决定了它适合做小样本的配对验证,不适合做需要严格对照的规模化训练。一屏速览见下表。
| 项 | 值 |
|---|---|
| 正式名称 | The Cancer Genome Atlas Uterine Corpus Endometrial Carcinoma Collection |
| 简称 | TCGA-UCEC |
| 托管方 | The Cancer Imaging Archive(TCIA),美国 NCI |
| 患者数 | 六十五例 |
| 检查数 | 二百二十六次 |
| 序列数 | 九百一十二个 |
| 图像数 | 七万七千余幅 |
| 体积 | 37.85 GB |
| 模态 | CT、PT、MR、CR(四类合计,未拆分) |
| 格式 | DICOM |
| 分割掩膜 | 无 |
| 组学、临床与病理 | GDC 同项目,五百六十例 |
| 对齐键 | TCGA 十二位患者 barcode |
| 当前版本 | v4,2020-05-29 |
| 状态 | Complete(不再补例) |
| 许可 | CC BY 3.0 |
| DOI | 10.7937/K9/TCIA.2016.GKJ0ZWAC |
§1 它是什么
1.1 名字拆开看:三个词与一个数字
TCGA-UCEC 这个名字可以拆成四段。TCGA 是研究计划的名字,The Cancer Genome Atlas,一个以「把癌症的表型与基因型连起来」为目标的联邦项目;UCEC 是癌种代号,指子宫体的子宫内膜癌,不含宫颈癌,也不含子宫肉瘤;Collection 是 TCIA 的计量单位,一个集合对应一个癌种、一批患者、一串版本;六十五是这一批患者的规模。
四段里最容易被跳过的是 Collection。它意味着这不是一个「设计出来」的研究队列,而是一个「收拢起来」的档案单元。研究队列有入组标准、有扫描协议、有随访计划;档案单元只有一条收录规则:这位患者在 TCGA 里做过分子测量,且他的术前影像还能被找到。理解这一层,后面所有的边界都是它的推论。
1.2 它与 GDC 的分工:一边是表型,一边是基因型
TCGA 计划把数据拆在两个平台上,拆法的逻辑是数据类型而不是病种。影像在 TCIA,因为影像是像素、是文件、是动辄几十 GB 的二进制;临床、基因组与数字病理在 GDC,因为它们按病例聚合、按文件分发、需要另一套访问控制。两边用同一个主键连通:TCIA 的 PatientID 就是 TCGA 的十二位患者 barcode,与 GDC 的 case submitter_id 逐字符相同。
这个分工带来一个直接后果:任何以这个集合为基础的研究,取数至少要走两个平台。影像一条链路,分子与病理另一条链路,中间靠自己写的脚本对齐。它不像某些整合好的资源那样开箱即用,但它换来的是每一层都能独立更新、独立授权、独立引用。
1.3 你的处境与它能帮到的事
下表左列写的是使用者的处境,不是集合的特性。左列对不上,说明它大概率帮不到你。
| 你的处境 | 它能帮你什么 |
|---|---|
| 想把术前影像上的肌层浸润深度与病理报告对照 | 提供同一批患者的术前影像与 GDC 病理字段,按 barcode 直接连 |
| 想验证某个影像特征与子宫内膜癌分子分型的关联 | 分子分型在 GDC,影像在这里,配对是结构性的而非事后匹配 |
| 需要一个带病理与组学标签的小样本外部验证集 | 可以,六十五例正好适合当验证侧,不适合当训练侧 |
| 想研究多模态影像在妇科肿瘤里的互补性 | 四类模态并存,但覆盖不均,只能做探索性分析 |
| 想做子宫内膜癌的分割或检测 | 没有掩膜、没有病灶框,标签要自建,规模也不够 |
| 想做大样本妇科影像预训练 | 规模太小、部位单一,应去找通用腹部或盆腔影像库 |
| 想研究治疗后反应或复发 | 只有术前基线,没有随访影像,做不了纵向建模 |
1.4 不适合谁:四条边界
如果你的需求是训练一个能直接跑的分割模型,它给不了标签。整个集合是纯净的 DICOM 归档,没有 SEG、没有 RTSTRUCT、没有 NIfTI 掩膜,也没有病灶编号。六十五例的规模也不足以从零训练三维骨干。这类任务应该去找带逐例勾画的挑战赛数据。
如果你的需求是覆盖 TCGA 子宫内膜癌全队列的分析,它给不了全景。它只有六十五例有影像的患者,而 GDC 上这个项目是五百六十例,覆盖率约一成。想做全量分子分析,直接去 GDC,不必经过 TCIA。
如果你的需求是干净的多中心对照研究,它给不了协议一致性。官方页面自己写明:为了达到入组目标,组织来自世界各地,因此影像在扫描仪模态、厂商与采集协议上极为异质,多数影像是常规诊疗的一部分,不是在受控研究或临床试验中采集的。任何依赖固定层厚或固定期相的特征提取都会在这里失效。
如果你的需求是子宫或内膜的通用影像语料,它给不了广度。六十五例、单一病种、四类模态混装,作为预训练语料规模太小;它的角色是微调与验证阶段那个「带分子标签的小而准」的集合。
1.5 在 TCGA 影像梯队里的位置
TCGA 在 TCIA 下有一批影像集合,规模差异很大。库内已收录的几支里,肾透明细胞癌是二百六十七例,肝细胞癌是九十七例,子宫内膜癌是六十五例。三支同属「实质脏器 + 术前影像 + 组学配对」的同一类型,规模却差出四倍以上。
这个排序有一个实际含义:越小的一支,越不适合当训练集,越适合当验证集。六十五例放到任何需要拟合参数的场景里都偏薄,但放到「检验一个已经训好的模型能否在妇科肿瘤上站住」的场景里刚刚好——样本小,跑一遍便宜;标签硬,结论可核;来源公开,别人能重复。把它放在梯队的末端,比硬把它推到前排更符合它的构造。
§2 数据构成与规格
2.1 四级结构:患者、检查、序列、图像
TCIA 的存储模型遵循 DICOM 信息模型,分四级。最上层是患者,标识是 PatientID;一位患者下可以有多次检查,每次检查对应一次就诊的影像;一次检查下挂若干序列,同一采集参数下的一组图像构成一个序列;序列下面是图像实例,每幅图对应一个 SOP Instance UID。集合页的四个数字正好对应这四级。
这四级之间的关系值得算一遍,因为比值本身就是信息。二百二十六次检查摊到六十五位患者,人均约三点五次,说明多数患者不止一次检查;九百一十二个序列摊到二百二十六次检查,每次约四个序列,与盆腔「平扫加增强加重建」的常规序列数相符;七万七千余幅图像摊到九百一十二个序列,每个序列约八十五幅,符合断层图像的层数规模。
| 层级 | DICOM 标识 | 集合内数量 | 换算关系 |
|---|---|---|---|
| 患者 | PatientID | 六十五 | 等于 TCGA 十二位 barcode |
| 检查 | StudyInstanceUID | 二百二十六 | 人均约三点五次 |
| 序列 | SeriesInstanceUID | 九百一十二 | 每次约四个 |
| 图像 | SOPInstanceUID | 七万七千余 | 每序列约八十五幅 |
人均三点五次检查这一条,是理解模态混杂的关键。一位患者之所以会有多次检查,最常见的原因是同期做了不同模态:一次腹盆腔增强 CT,一次盆腔增强 MR,或者一次全身 PET。这些检查各自成 Study,在 DICOM 里彼此独立,没有配准关系,也没有共同的坐标系。
2.2 四类模态与「六十五例不等于六十五例」
集合页的模态一栏是 CT、PT、MR、CR 四个词。四者的成像原理、解剖信息量与在子宫内膜癌诊疗中的角色完全不同,把它们并列写在同一个格子里,是这一页最容易被误读的地方。
| 模态 | 成像原理 | 在本集合中的一般角色 |
|---|---|---|
| CT | X 线断层 | 腹盆腔增强扫描,看淋巴结、远处转移与肌层受累的间接征象 |
| MR | 磁共振 | 盆腔软组织对比最好,是评估肌层浸润深度与宫颈受累的首选 |
| PT | 正电子发射断层 | 代谢成像,集合页未注明示踪剂与采集方案,通常用于分期 |
| CR | 计算机 X 线摄影 | 定位像或胸片一类的伴随检查,解剖信息量远低于断层图像 |
关键的一点是:这四个字母覆盖的是同一批六十五位患者的不同检查,不是四个各自六十五例的子集。官方页面只给四类合并后的总数,没有给出任何一类的例数。同一位患者可能既有 CT 又有 MR,也可能只有其中一种;因此按模态分别计数得到的四个数字,既不会相加等于六十五,也不互斥。
这条约束的实际后果是:任何写进论文的「本数据集包含 N 例 CT」都要有自己数出来的依据。凭集合页的六十五去填这个 N,是最常见也最难被自己发现的错误。
2.3 一条记录长什么样
下面是一次检查在一个序列目录下的形态。字段名取自 DICOM 标准定义,具体数值因站点与检查而异。
#-- 一次检查的 DICOM 头关键字段(字段名取自 PS3.3 / PS3.6)
PatientID = TCGA-XX-XXXX # 十二位,与 GDC 的 case submitter_id 相同
PatientName = TCGA-XX-XXXX # 常与 PatientID 同值,真实姓名不入库
StudyInstanceUID = 1.3.6.1.4.1.<站点>.… # 一次检查
StudyDate = 20040311 # 已整体平移,仅保留相对间隔
SeriesInstanceUID = 1.3.6.1.4.1.<站点>.…
SeriesDescription = PELVIS POST CONTRAST # 自由文本,各站点习惯不同,不可直接当期相标签
Modality = MR
BodyPartExamined = PELVIS
SliceThickness = 5.0 # 单位 mm,站点间差异明显
Manufacturer = <厂商名> # 多家厂商混合
MagneticFieldStrength= 1.5 # MR 才有;CT 无此字段
ContrastBolusAgent = <对比剂名> # 非增强检查该字段为空
逐项看。PatientID 是整条记录里最重要的一格,它是与 GDC 连通的唯一通道。StudyDate 已被平移,不能与临床表的真实日期相减,只能用于计算同一患者多次检查之间的间隔。SeriesDescription 是自由文本,同一种「增强后盆腔」在不同站点会被写成不同词组,把它当期相标签是这一类数据最常见的翻车点。SliceThickness 与厂商字段则直接解释了为什么这批影像无法按统一管线处理。
2.4 版本史:一次补例,一次只改表
集合自 2015 年首发以来经历四个版本。四个版本的改动性质完全不同,这一点比版本号本身更值得记住。
| 版本 | 日期 | 患者/检查/序列/图像 | 体积 | 主要动作 |
|---|---|---|---|---|
| v1 | 2015-05-29 | 58 / 216 / 836 / 71,674 | 35.57 GB | 首发 |
| v2 | 2016-01-05 | 58 / 216 / 836 / 71,674 | 35.57 GB | 从 GDC 重抽临床数据(TXT) |
| v3 | 2018-10-24 | 65 / 226 / 912 / 77,214 | 37.85 GB | 补入七例患者 |
| v4 | 2020-05-29 | 65 / 226 / 912 / 77,214 | 37.85 GB | 换用 GDC 最新电子表格,新增生物医学表 |
两次计数完全相同、体积也完全相同的是 v3 与 v4。也就是说,2020 年那次版本更新没有再动一张图像,改的只是附带的临床表格与新增的组学表。对使用者的含义很直接:手上如果有一份较早下载的影像包,它的图像与当前版本一致,差别只在随包的表格新旧。
v1 到 v3 则是实质性的扩量:患者从五十八涨到六十五,图像增加五千余幅,体积增加约 2.3 GB。这次扩量发生在 2018 年,此后集合被标为 Complete,意味着不再补例。
2.5 与 GDC 侧的字段对接
TCIA 侧只有影像和少量 DICOM 元数据,病人层面的信息全部在 GDC。对接的落点是 GDC 的 case 实体,其 submitter_id 就是十二位患者 barcode。
| TCIA 侧字段 | GDC 侧字段 | 对接方式 |
|---|---|---|
| PatientID | case.submitter_id | 十二位直接相等 |
| 无 | case.primary_site | 子宫体与子宫未特指两类 |
| 无 | diagnosis.primary_diagnosis | 组织学诊断,含内膜样癌、浆液性癌等 |
| 无 | diagnosis.ajcc_pathologic_stage | 分期字符串 |
| 无 | demographic.vital_status | 生存状态与天数 |
| 无 | 各 experimental_strategy 下的文件 | 按 case 关联到文件 |
对接时有一个细节必须注意:PatientID 是十二位,GDC 的样本 barcode 是十六位,等分样更长。用十六位去匹配 PatientID 会全部落空,这在第一次写脚本时几乎必然发生。
2.6 分子那一侧的厚度
影像只有六十五例,分子侧却是满的。GDC 项目摘要给出的病例数是五百六十,文件数三万三千余份,总体积约三百零二 TB。各数据类别的覆盖如下,数字为覆盖病例数,同一病例可计入多类。
| 数据类别 | 覆盖病例 | 在配对中的角色 |
|---|---|---|
| 临床 | 五百六十 | 分期、分级、生存、人口学 |
| 生物样本 | 五百六十 | 样本与等分样的层级关系 |
| 测序读段 | 五百五十九 | 原始读段,受控访问 |
| 简单核苷酸变异 | 五百五十九 | 点突变与 indel |
| 拷贝数变异 | 五百五十九 | 扩增与缺失 |
| 转录组 | 五百五十九 | 表达与融合 |
| DNA 甲基化 | 五百五十九 | 甲基化分型 |
| 体细胞结构变异 | 四百四十七 | 大片段重排 |
| 蛋白组 | 四百四十 | 反相蛋白阵列 |
| 结构变异 | 三百四十三 | 胚系结构变异 |
按实验策略看,基因分型阵列、甲基化阵列与 RNA 测序的覆盖都在五百五十上下,全外显子测序五百五十四,miRNA 测序五百五十,全基因组测序四百八十二,诊断切片五百零五,组织切片五百六十,反相蛋白阵列四百四十,染色质可及性测序只有十三例。
对做影像配对的人,这张表的意义不在于「多」,而在于「交集怎么算」。影像侧只有六十五人,分子侧的厚度再高,能进入联合分析的也只有这六十五人在各层的覆盖。真正决定样本量的不是五百六十,而是「六十五人里同时有影像、有分期、有该分子层」的那个更小的数。
§3 身份与对齐:一个编号,两个分母
3.1 barcode 的三层长度
TCGA 的 barcode 是一套分层编码。十二位形如「TCGA-XX-XXXX」,前四位是计划前缀,中间两位是组织来源站点代码,后四位是病例流水号。十六位再往后接样本类型与序号,更长的还会接等分样与析出物。这个设计的好处是前缀可直接筛选,坏处是不同长度长得像,容易被误用。
| 长度 | 层级 | 用途 | 在本集合中 |
|---|---|---|---|
| 十二位 | 患者 | 跨库主键 | 写入 PatientID |
| 十六位 | 样本 | 区分肿瘤、癌旁、转移 | 不出现 |
| 更长 | 等分样与析出物 | 对齐到具体文件 | 不出现 |
这份影像集合里只会遇到十二位,因为影像对应的是「人」而不是「样本」。一位患者可能有原发灶与转移灶两份组学,但影像只有一套,它天然无法区分「这张片子对应的是哪个样本」。
3.2 两个分母:六十五与五百六十
这是全篇最需要写清楚的一处。TCIA 集合页的患者数是六十五,GDC 项目摘要的病例数是五百六十。两个数都对,回答的是不同问题。
| 口径 | 数量 | 含义 | 常见误用 |
|---|---|---|---|
| TCIA 患者数 | 六十五 | 有影像可下载的患者 | 被当成 TCGA 子宫内膜癌全队列 |
| GDC 病例数 | 五百六十 | 项目登记的全部病例 | 被当成「都有影像」 |
| 覆盖率 | 约一成 | 前者除以后者 | 被含糊写成「TCGA 子宫内膜癌影像集」 |
差距的成因不神秘。影像来自自愿参与的影像来源站点,没有参加的机构,其患者自然缺席;即便参加了,也只有一部分患者的影像还能被找到、被授权、被去标识化后汇交。这不是随机缺失,而是汇交机制的产物。
对建模的直接后果是:以影像为输入的模型,可用标签只覆盖六十五例这一侧。若把 GDC 的五百六十例都当作样本,会造成输入与标签严重不匹配;反过来,只做分子分析就完全不必经过 TCIA。
3.3 两套时钟
TCIA 与 GDC 对日期的处理方式不同,而且官方明说没有调和计划。
TCIA 侧,DICOM 头里的所有日期,包括生日与检查日期,都被整体平移了一个随机天数。平移量在三年到十年之间,对同一站点、同一集合固定,不同站点、同站点的不同集合则各不相同。这样处理之后,同一位患者多次检查之间的间隔被准确保留,同时满足去标识要求。
GDC 侧,人口学与临床事件日期全部转换成距「病理诊断日」的天数,诊断日本身为零,其余是负整数或正整数。出生年份与诊断年份仍保留在分发的临床文件里。
两套逻辑各自自洽,合起来就有陷阱:把影像头里的 StudyDate 与临床表里的生存天数相减,得到的既不是真实日期差,也不是有意义的间隔。唯一安全的用法是——用 GDC 的相对天数做时间分析,用 TCIA 的日期只做患者内部的检查间隔。
3.4 身份层三问
| 问题 | 答案 | 依据 |
|---|---|---|
| 一位患者能唯一定位吗 | 能,十二位 barcode | PatientID 与 GDC submitter_id 同值 |
| 影像与分子保证一一对应吗 | 不保证到样本层 | 影像对应人,组学对应样本 |
| 项目边界在哪 | TCIA 六十五 / GDC 五百六十 | 两个平台各自的项目口径 |
§4 影像本体:一份历史归档的构成
4.1 它不是设计出来的数据集
这一节要校正一个默认期待。多数人读到「TCGA 影像集合」,会默认它像挑战赛数据那样经过设计:统一的入组标准、统一的扫描协议、统一的层厚与期相、明确的任务定义。TCGA-UCEC 一样都不满足,而且不是执行不到位,是目标不同。
官方页面把机制写得很直白:TCGA 的组织为了凑够入组目标,是从世界各地收集的,每种癌种大约五百份标本;正因如此,影像在扫描仪模态、厂商与采集协议上极为异质;多数影像是常规诊疗的一部分,不是在受控研究或临床试验中采集的。这段话适用于全部 TCGA 影像集合,在 UCEC 上体现得尤其明显,因为它的体量最小,任何一次不合规的采集在六十五例里都占相当比重。
汇交侧也能看出这种「收拢」性质。集合页的致谢名单列了三家机构:Mayo Clinic(Rochester)、Washington University(Saint Louis)的妇产科、MD Anderson(Houston)。三家机构、三种设备配置、三套扫描习惯,最终压进同一个集合。
4.2 非标准化体现在哪五处
| 维度 | 表现 | 对分析的后果 |
|---|---|---|
| 厂商与机型 | 至少三家机构的设备混合,场强与重建算法不同 | 强度分布不可直接比较,需按站点分层 |
| 层厚与间距 | 从薄层到厚层都有,层间距不统一 | 三维重采样必然引入插值差异 |
| 期相与对比剂 | 是否增强、增强几个期、用何种对比剂由站点决定 | 无法用统一规则挑「静脉期」 |
| 扫描范围 | 盆腔、腹盆腔、全身,取决于检查目的 | 视场不同,器官先验无法通用 |
| 序列命名 | SeriesDescription 为自由文本 | 期相标签必须逐例读头,不能靠字符串匹配 |
这五处不统一,是把它当成「数据集」使用时最主要的成本来源。任何一条自动化的预处理管线,都会在这五处中的至少两处需要人工兜底。
4.3 不统一是本质,不是缺陷
把这一点说透,比批评它更有用。一个为机器学习设计的数据集会先固定扫描协议,再采集;一个回顾性汇交的档案则先有临床扫描,再回收。前者可以要求「所有患者同一层厚」,后者不能,因为那些扫描早已做完,患者也已经出院,重扫既不合伦理也不可行。
因此「非标准化」不是执行瑕疵,而是这类资源得以存在的前提。如果坚持标准化,这个集合根本不会存在,只剩零。使用者的正确姿态不是要求它标准化,而是把站点与协议当作显式变量:建模时把站点作为协变量,报告时把层厚与期相的分布写进方法章节,结论时把外推范围限定在「与这些站点、这些协议相近」的场景。
这也解释了它为什么值钱。它的稀缺性不在于图像质量,而在于那串编号:全世界只有这一批人的术前片子,能与他们的分子分型、病理分级、生存结局对上号。标准化可以再做,身份无法重建。
4.4 要数模态例数,只能自己数
官方不给分模态计数,这件事只能自己做。做法不复杂,但有三处必须小心。
第一步,拿 digest 摘要表。集合页在 Data Access 表里给了一个 XLSX 链接,内容是按序列聚合的索引,含 PatientID、StudyInstanceUID、SeriesInstanceUID、Modality 等列。不下载影像也能做这一步。
第二步,按 Modality 分组、按 PatientID 去重。注意是去重后计数,不是数行数:一位患者在同一模态下可能有多次检查、多个序列,直接数行会把例数放大几倍。
第三步,处理跨模态重复。同一位患者可能同时出现在 CT 与 MR 两组里,这在前文已经说明。若要把四个数字并列报出,必须注明「同一患者可计入多类」。
#-- 用 digest 表数分模态例数:先按模态分组,再对 PatientID 去重
import pandas as pd
df = pd.read_excel("TCIA_TCGA-UCEC-2018-10-24-nbia-digest.xlsx")
df["PatientID"] = df["PatientID"].astype(str).str.strip().str.upper()
per_modality = (df.groupby("Modality")["PatientID"]
.nunique()
.sort_values(ascending=False))
print(per_modality)
print("四类相加 =", int(per_modality.sum()), "(大于患者总数是正常的)")
print("去重后的患者总数 =", df["PatientID"].nunique())
最后一行是自检:去重后的患者总数应当等于集合页的六十五。若不等,多半是 PatientID 里混进了空格、小写或前后缀,先规整再统计。
4.5 妇科肿瘤影像里的空位
把库内已有的妇科相关资源排开看,这个集合的位置会很清晰。宫颈方向有一批细胞学与阴道镜资源,做的是涂片与镜下图像的分类与检测;内膜方向有病理切片上的活检检测,以及单细胞层面的免疫图谱;手术方向有腹腔镜视频与器械、动作标注。这些资源的共同点是:都不做盆腔的断层影像。
也就是说,在「子宫内膜癌的 CT、MR、PET 影像」这一格上,公开资源长期是空的。六十五例放在别的部位算不上什么,放在这里就是全部。这是「小但不可替代」的确切含义:它的价值不由体量决定,而由它填的那一格决定。
4.6 一次检查能不能用:五个判据
在没有官方质量评分的情况下,是否纳入只能自己判。下面五条是实操顺序,按代价从低到高排列。
| 判据 | 看什么 | 不合格时的处理 |
|---|---|---|
| 扫描范围 | 是否覆盖子宫与宫旁,还是只到盆腔中部 | 覆盖不全的检查只能做局部特征,不能做器官级测量 |
| 层厚与间距 | 断层厚度是否小于病灶尺度 | 厚层检查在三维重建后会出现明显台阶,需降权 |
| 增强与否 | 有无对比剂、几个期相 | 平扫与增强不可混入同一强度归一化流程 |
| 伪影 | 运动、金属、肠道气体 | 伪影跨病灶区域的检查建议剔除 |
| 序列完整性 | 一个序列内是否有缺层 | 缺层会破坏三维连续性,需先补插值或整段放弃 |
这五条的判断成本不同。扫描范围与增强与否看一眼序列描述即可;层厚需要读头;伪影与缺层要打开图像看。六十五例的规模小,逐例过一遍是可行的,也应该这么做——把判据写成表,逐例打分,比事后在论文里描述「剔除质量不佳者」要可信得多。
4.7 与肾癌那一支的结构对照
同样是 TCGA 影像归档,肾癌那一支与这一支在结构行为上有同有异,对照着看能更快摸清规律。
| 项 | 肾透明细胞癌 | 子宫内膜癌 |
|---|---|---|
| 患者 / 检查 / 序列 | 二百六十七 / 四百三十九 / 二千六百五十四 | 六十五 / 二百二十六 / 九百一十二 |
| 模态 | CT、MR、CR | CT、PT、MR、CR |
| 人均检查数 | 约一点六次 | 约三点五次 |
| 版本行为 | 三次版本图像未变,只改附带表格 | 一次补例(五十八到六十五),一次只改表 |
| 项目病例数 | 五百三十七 | 五百六十 |
| 覆盖比例 | 约一半 | 约一成 |
| 定性读片表 | 有,独立结果集 | 无 |
同的是机制:都靠 barcode 对齐,都是自愿汇交,都在版本更新时只动表格不动图像。异的是密度:肾癌的人均检查数不到两次,内膜癌达到三次半,说明后者的影像更多来自「一个人做了好几类检查」而不是「一个人做了好几次同类检查」。这一条对预处理的含义很实际——跨模态合并在这支上不是可选项,而是默认路径;在肾癌那支上则可以把 CT 主体单独拉出来做。
覆盖比例的差距同样值得记住。约一半与约一成之间不是量的差别,而是用途的差别:前者还能支撑「有影像的子队列」这种说法,后者只够支撑「有影像的少数病例」这种说法。任何以它为训练集的方案,都要先接受这个分母。
4.8 一句话的边界
把这一节收成一句:它提供的是原图与身份,不提供标准、标注与规模。原图可以处理,身份无法重建,标准与标注只能自己补。
§5 怎么拿到:通道、许可与引用
5.1 三条取数通道
| 通道 | 入口 | 门槛 | 适用场景 |
|---|---|---|---|
| TCIA 官方 | 集合页的批量清单加 Data Retriever | 需安装桌面客户端 | 全量下载,与版本严格对应 |
| IDC 云端 | Imaging Data Commons 门户与 API | 需云账号 | 按标签筛选、云端批量检索 |
| GDC | 项目页与 API | 无(受控数据除外) | 取临床、组学与病理 |
第一条是官方路径:从集合页下载一个清单文件,用官方客户端发起下载。好处是清单与版本严格对应,坏处是需要图形界面,不适合无头服务器。
第二条是云路径:IDC 把这批影像统一编码进 DICOMweb,可以用接口按集合、模态、部位筛选,把结果取到本地或直接在云上算。要注意 IDC 的例数口径与 TCIA 不同,它按 GDC 的病例计。
第三条不是影像通道,是配对通道。影像下好之后,临床、组学与切片都要从 GDC 取,按 barcode 拼回去。
5.2 用公开接口核对口径
TCIA 的检索接口可以按集合名查询计数,不需要客户端。动笔或动工之前先跑一次,可以确认当前计数是否仍与页面一致。
#-- 查集合的层级计数与模态分布;Collection 名不区分大小写
curl -s "https://services.cancerimagingarchive.net/nbia-api/services/v1/getCollectionValues?Collection=TCGA-UCEC"
#-- 查每次检查的模态组合,可用来估算「同一患者跨几个模态」
curl -s "https://services.cancerimagingarchive.net/nbia-api/services/v1/getPatientStudy?Collection=TCGA-UCEC" \
-o ucec_patient_study.json
第二条返回的是检查级记录,含 PatientID、StudyInstanceUID 与 Modality 列表。把 Modality 列表按患者展开,就能得到「这位患者涉及哪几类模态」的完整画像,比只数总例数有用得多。
5.3 在 IDC 上按条件筛选
IDC 的查询走 DICOMweb 与 BigQuery,下面这段取的是该集合中 MR 模态的患者与序列清单。
#-- 需要 google-cloud-bigquery 与已认证的云账号
from google.cloud import bigquery
client = bigquery.Client()
sql = """
SELECT DISTINCT PatientID, Modality, SeriesInstanceUID
FROM `bigquery-public-data.idc_current.dicom_all`
WHERE collection_id = 'tcga_ucec'
AND Modality = 'MR'
LIMIT 20
"""
for row in client.query(sql).result():
print(row.PatientID, row.Modality)
重点不在 SQL 本身,而在 collection_id 这个过滤条件:IDC 的集合名是全小写加下划线,写成 TCGA-UCEC 会静默返回零行,不报错。
5.4 用 digest 做本地索引
不下载影像也能先做规划。digest 表能回答三个问题:有多少患者只有一次检查、有多少患者跨多个模态、序列数的长尾有多长。这三个答案直接决定下载量与预处理复杂度。
#-- 读 NBIA digest,统计每位患者的检查数与涉及模态数
import pandas as pd
df = pd.read_excel("TCIA_TCGA-UCEC-2018-10-24-nbia-digest.xlsx")
per_patient = df.groupby("PatientID").agg(
studies=("StudyInstanceUID", "nunique"),
series=("SeriesInstanceUID", "nunique"),
modalities=("Modality", "nunique"),
)
print(per_patient.describe())
print(per_patient["modalities"].value_counts())
最后一行给出的是「跨几类模态」的分布。它比任何总量数字都更能说明这批影像的实际形态。
5.5 许可、引用与致谢
影像侧的许可是 CC BY 3.0,允许再分发与商业使用,义务是署名与保留许可。集合页要求引用给定的数据引用格式,其中含版本号与 DOI:
#-- 官方给定的引用格式(版本号必须写,DOI 必须带)
Erickson, B. J., Mutch, D., Lippmann, L., & Jarosz, R. (2016).
The Cancer Genome Atlas Uterine Corpus Endometrial Carcinoma Collection (TCGA-UCEC) (Version 4)
[Data set]. The Cancer Imaging Archive. https://doi.org/10.7937/K9/TCIA.2016.GKJ0ZWAC
此外,凡使用源自 TCGA 的数据,集合页要求附上一段致谢,说明结果全部或部分基于 TCGA 研究网络产生的数据。这两条是使用义务,不是可选项。GDC 侧的分子数据另有使用协议,商用前要分开确认。
5.6 合规清单
| 事项 | 要求 |
|---|---|
| 许可 | CC BY 3.0,允许再分发与商用,需署名 |
| 引用 | 引用集合 DOI 与版本号 |
| 致谢 | 附 TCGA 研究网络声明 |
| 再识别 | 不得尝试重新识别个体 |
| 日期 | 不得尝试还原被平移的真实日期 |
| 二次分发 | 可以,但需保留许可与出处 |
5.7 存储与算力的粗略预算
37.85 GB 是压缩后的归档体积,不是可用工作集的体积。解压后按 DICOM 保留,占用大致翻倍;若把序列转成单文件的三维数组,九百一十二个序列里长的那些动辄数百兆,总量会进入一百到两百 GB 的量级。
合理的顺序是分阶段:先下三到五例,把读头、挑序列、重采样、转格式这几步跑通,确认层厚与期相的处理规则站得住,再扩到全量。一次性拖全量再回头改预处理参数,是这类项目里最浪费时间的顺序,因为全量下载本身就是一次以小时计的等待。
算力侧反而轻松。六十五例的三维数据在单机上就能做完重采样与特征提取;需要 GPU 的环节通常是特征编码器或分割模型,而这两者在这一支上多用于推理而非训练。
§6 质量与已知问题
6.1 可枚举的局限
| 局限 | 具体表现 | 影响 |
|---|---|---|
| 无掩膜 | 集合本体零标注 | 分割任务需自建标注 |
| 覆盖极窄 | 六十五对五百六十 | 不能代表全队列 |
| 模态混杂 | 四类合计,官方未拆 | 分模态样本量未知 |
| 协议异质 | 厂商、层厚、期相由站点自定 | 特征分布偏移 |
| 仅术前 | 官方明示基线检查均为术前 | 无纵向与疗效分析 |
| 日期平移 | 整体平移三到十年 | 不能与临床真实日期相减 |
| 无质量评分 | 无信噪比、伪影标记 | 需自建质控 |
| 样本层不可分 | 影像对应人,不对应样本 | 多病灶患者无法分样本 |
6.2 假设、支持与反对
有些判断在现有材料下无法坐实,只能写成有信息量的假设。下表把「我倾向怎么想、凭什么、什么会推翻它」摆在一起。
| 假设 | 支持 | 反对 |
|---|---|---|
| 四类模态中 CT 与 MR 占多数,PT 与 CR 是少数 | 子宫内膜癌术前评估以增强 MR 与增强 CT 为主,PT 用于分期、CR 多为定位像 | 集合页不分模态,任何占比说法都缺直接证据;只能靠 digest 逐例清点 |
| 同一患者跨两类以上模态者占一定比例 | 人均三点五次检查,高于单次检查的常规 | 多次检查也可能来自同一模态的复查或重建 |
| 期相可由序列描述与对比剂字段重建 | DICOM 头里有 SeriesDescription 与 ContrastBolusAgent | 描述为自由文本,跨站点不一致,重建结果会带主观判断 |
| 六十五例可支撑小样本关联分析 | 与分子、病理、生存同主键,配对是结构性的 | 多重检验下统计效力有限,任何单条显著结果都需外部重复 |
6.3 结论强度分级
| 级别 | 判据 | 本篇的例子 |
|---|---|---|
| A | 三条以上独立证据线 | 规模与四级计数:集合页、版本表、接口三处一致 |
| B | 两条证据线 | 模态为四类:集合页模态栏与分析结果集描述一致 |
| C | 单一来源 | 三家汇交机构:仅致谢名单 |
| D | 推断 | 各模态的实际占比:页面未给,只能靠清点 |
6.4 三个具体的技术陷阱
陷阱一:用十六位 barcode 匹配。 十二位是患者层,十六位是样本层。多数人第一次写对齐脚本时拿 GDC 的样本 barcode 去匹配 PatientID,结果全部落空,还以为是数据缺失。正确做法是先切出前三段,再比对。
陷阱二:把检查数当人数。 二百二十六次检查对应六十五位患者,把前者写进「样本量」会把规模夸大约三倍半。这在摘要里极常见,审稿时也最容易被抓。
陷阱三:用 StudyDate 排序做纵向分析。 日期被整体平移,跨站点不可比,同站点可比。若把不同站点的检查按日期混排,会得到一条完全虚构的时间线。
§7 在生态中的位置
7.0 阅读本节前:换一把尺子
在给评分之前要先校正一个框架错位。如果把 TCGA-UCEC 当成一个为机器学习准备的数据集来评价,它会在很多维度上不及格:没有划分、没有标注、没有清洗、类别不平衡、协议五花八门。但这个评价框架本身就用错了。
它应该被当作一份档案来评价。档案的价值在于「保存了什么、与什么连在一起、能不能被可靠地引用」,而不在于开箱即用程度。用它当尺子,它的核心贡献是保住了六十五位已完成分子测量的患者的术前影像,并让这些影像可以被任何人用一串公开编号追溯回分子、病理与生存。用数据集当尺子,它是一份需要大量二次加工的原料。
两种尺子会得出「既不完整也不能用」与「门开得很大、身份做得很实」两种截然不同的结论。本节的分表就是为了让这两种判断各归其位。
7.1 DAIMS 评分表
下表按数据资产描述与访问的八个维度给出评分,五分制。判断依据全部来自官方页面与平台行为,不含推断。
| 维度 | 评分 | 判断依据 |
|---|---|---|
| 描述层身份与边界 | 4 | 集合名、项目代号、疾病全称、DOI、托管机构齐全;但病例边界有两个口径(六十五对五百六十)页面未并列说明,需使用者自行分辨,故扣一分 |
| 描述层文档完备度 | 3 | 有集合说明、版本史、引用格式与致谢名单;缺分模态计数、缺采集协议逐站点说明、缺期相定义,且没有作者推荐的方法学论文 |
| 结构层标识体系 | 5 | PatientID 与 GDC 主键完全同值,DICOM 四级标识完整,跨库可直接连,无歧义 |
| 结构层层级一致性 | 4 | 四级结构严格,四个计数自洽;但二百二十六次检查如何在六十五人之间分布、多少次来自跨模态,页面不给 |
| 结构层模态配对 | 3 | 四类模态并存是稀缺性来源,但覆盖不均、无跨模态配准、无分模态计数,配对关系只能自行重建 |
| 访问层开放程度 | 5 | 免注册、CC BY 3.0、提供批量清单与 digest,另在 IDC 上提供 DICOMweb 视图 |
| 访问层可复现性 | 2 | 图像自 2018 年起未变、可稳定复现;但协议异质、无官方划分、样本仅六十五例,同一分析换一批患者往往不可复现 |
| 访问层许可清晰度 | 5 | 许可单一明确,引用格式与致谢文本官方给定,义务写清,无二次限制 |
分数怎么读。 高分集中在身份与访问两列,最低分在可复现与文档。这个分布精确描述了它的性格:门开得很大、身份做得很实、文档与可复现性最薄。若工作依赖「同样的输入得到同样的输出」,低分那两列就是主要成本来源。
对你意味着什么。 做需要注册审批的合规项目,这里的许可清晰度能省掉大量沟通;做需要严格对照的方法研究,这里的可复现性会迫使把预处理流程完整写进方法章节,而这恰恰是很多论文最薄弱的一段。
7.2 与同族资源的定位差异
| 资源 | 核心内容 | 与本集合的差异 |
|---|---|---|
| TCGA-KIRC | 肾透明细胞癌三模态影像加组学 | 同为历史归档,规模更大(二百六十七例),覆盖率约一半 |
| TCGA-LIHC | 肝细胞癌三模态影像加组学 | 同为腹部实质脏器,模态构成相近,病种不同 |
| TCGA-BRCA | 乳腺浸润癌的分子与影像配对 | 影像覆盖远不如分子覆盖,逻辑与此处相同 |
| TCGA-GBM | 胶质母细胞瘤影像 | 以 MR 为主,解剖部位与工程管线完全不同 |
| TCGA Pan-Cancer Atlas | 三十三癌种的合并分析 | 上位覆盖,只做分子,不含影像 |
| Endo-Aid | 子宫内膜癌活检病理检测 | 同一病种,另一层(病理) |
| Endometrial Immune Cell Atlas | 内膜免疫细胞单细胞图谱 | 同一器官,另一层(单细胞) |
| Cervix93 | 宫颈涂片细胞学核检测 | 相邻部位,另一层(细胞学),无断层影像 |
判断规则可以压成一句:要断层影像且要分子配对,只有这里;要分子全量,去 GDC;要病理与细胞学,去同病种的其他词条;要更大样本的腹部影像,去通用影像库。
7.3 它为何能持续
这个集合能长期存在,不靠经费单点支持,而靠三层依赖咬合。
第一层是 TCGA 的历史地位。它是一个被写进大量论文的队列,任何研究只要用了它,就必须保证数据可访问,否则复现链条断裂。第二层是云平台把访问成本压到接近零——IDC 让「查一下」变成一条查询,使用频次因此上升。第三层是授权模式:CC BY 3.0 让商业与非商业用途都不必谈授权,摩擦极低。
三层咬合的结果是:即便原始汇交机构早已不再维护这批数据,集合本身仍会被反复引用。它的存续依赖引用生态的惯性,而不是某个机构的热情。
§8 能做什么
8.1 任务清单
| 任务 | 可行性 | 前提 |
|---|---|---|
| 影像特征与分子分型的关联 | 可行,探索性 | 先定交集:既有影像又有该分子层的人数 |
| 术前影像与病理肌层浸润深度的对照 | 可行 | 病理字段在 GDC,需按 barcode 关联 |
| 作为分割模型的外部目标域 | 可行 | 标签自建,或借通用盆腔分割模型生成伪标签 |
| 多模态互补性研究 | 有条件可行 | 需先清点每位患者实际有哪几类模态 |
| 生存分析中的影像分层 | 可行 | 生存字段在 GDC,影像只作分层变量 |
| 分割或检测模型的训练集 | 不可行 | 无掩膜、无框、规模不足 |
| 疗效或复发预测 | 不可行 | 只有术前基线,无随访影像 |
8.2 一条最短的可用流程
下面这条流程把「从零到一张可引用的覆盖率表」压成四步,每步都能单独验证。
#-- 1) 记录集合口径,作为后续所有比例的分母
curl -s "https://services.cancerimagingarchive.net/nbia-api/services/v1/getCollectionValues?Collection=TCGA-UCEC" \
-o ucec_collection_values.json
#-- 2) 取 GDC 病例表,作为分子侧的骨架
curl -s -X POST "https://api.gdc.cancer.gov/cases" \
-H "Content-Type: application/json" \
-d '{"filters":{"op":"in","content":{"field":"project.project_id","value":["TCGA-UCEC"]}},
"fields":"submitter_id,diagnoses.ajcc_pathologic_stage,demographic.vital_status",
"format":"JSON","size":1000}' \
-o gdc_cases.json
#-- 3) 下载影像清单与 digest,稍后用官方客户端取图
curl -s -O "https://www.cancerimagingarchive.net/wp-content/uploads/TCIA_TCGA-UCEC-2018-10-24-nbia-digest.xlsx"
#-- 4) 算覆盖率:影像侧患者数除以分子侧病例数
python3 -c "import json,pandas as pd; d=pd.read_excel('TCIA_TCGA-UCEC-2018-10-24-nbia-digest.xlsx'); img=set(d.PatientID.astype(str).str.strip().str.upper()); g={r['submitter_id'] for r in json.load(open('gdc_cases.json'))['data']['hits']}; print(len(img&g), len(g), round(len(img&g)/len(g),3))"
第四步打印的三个数字,就是任何方法章节都该如实交代的样本量与覆盖率。把它写成一句话,比写十句「使用 TCGA 子宫内膜癌队列」都有用。
8.3 三种不该有的期待
第一种是期待它开箱即用。它没有划分、没有掩膜、没有统一窗宽,直接喂给模型会把协议差异当成信号学进去。
第二种是期待它代表子宫内膜癌总体。它是自愿汇交的影像子集,站点集中在北美三家机构,患者构成必然带站点特征,且只有六十五例。
第三种是期待它给出因果结论。小样本下的关联是统计性的,多个指标同时检验时,任何单条显著结果都需要外部重复验证。
§9 引用、二次分发与衍生资源
9.1 引用要写到哪一层
引用这个集合时,至少要落到四要素:作者列表、年份、含版本号的标题、DOI。只写「TCGA 数据」而不写集合 DOI,会让使用者无法判断你用的是影像侧还是分子侧,也无法判断版本。
若同时用了 GDC 的分子数据,要另引 GDC 的项目与相应数据集,并附 TCGA 研究网络声明。两层引用不能互相替代。
9.2 二次分发的三条义务
| 义务 | 具体做法 |
|---|---|
| 署名 | 保留原作者与托管机构,标明 CC BY 3.0 |
| 溯源 | 保留 DOI 与版本号,注明是否改动过(重采样、裁剪、转格式) |
| 不放大 | 再分发时不得声称拥有原始数据版权,不得移除许可声明 |
第三条最容易被忽略。把 DICOM 转成 NIfTI 再打包发布,转换这一层可以主张新增劳动,但原始影像的权利状态不变。
9.3 衍生资源
集合页在 Related Datasets 下列了四个分析结果集:Crowds-Cure-2018、Pan-Cancer-Nuclei-Seg、SAROS、TIL-WSI-TCGA。它们的共同点是与本集合共享 TCGA 病例,但独立发布、独立引用、独立许可,不属于这 37.85 GB。
| 衍生类型 | 交付形态 | 是否属于集合本体 |
|---|---|---|
| 众包分割结果 | 分析结果集,独立 DOI | 否 |
| 泛癌细胞核分割 | 分析结果集,覆盖多癌种 | 否 |
| 肉瘤影像分析集 | 分析结果集,另一病种 | 否 |
| 肿瘤浸润淋巴细胞切片分析 | 分析结果集,病理层 | 否 |
| 论文中的特征矩阵 | 补充材料 | 否 |
一个实用推论:若你需要掩膜,最现实的路不是等官方补,而是去看这些分析结果集里有没有覆盖 UCEC 的部分,或者用泛癌核分割的结果做起点再人工修。
§10 总结
10.1 适用与不适用
| 适用 | 不适用 |
|---|---|
| 子宫内膜癌术前影像与分子、病理的小样本配对研究 | 需要大样本训练的分割、检测、分类任务 |
| 作为外部验证集检验既有模型在妇科肿瘤上的泛化 | 需要随访影像的疗效与复发分析 |
| 教学与复现:演示 DICOM 四级结构、barcode 对齐与日期两套时钟 | 需要协议一致性的多中心对照实验 |
| 方法学研究:如何在异质归档上定义可复现的预处理 | 需要覆盖 TCGA 全队列的分子分析 |
10.2 三句话
第一,它是六十五位患者的术前影像,与五百六十例的分子队列按十二位 barcode 相连,两个数不是一回事,覆盖率约一成。
第二,四类模态合起来才是六十五例,官方不分模态,任何分模态例数都得自己数;它是历史归档,不是设计过的数据集,不统一是它的本质。
第三,它的价值不在规模,在于它是子宫内膜癌唯一公开的多模态断层影像集合,且与病理、组学、生存同主键——这是别处补不上的那一格。
常见误读与引用陷阱
| 常见说法 | 实际情况 | 证据 |
|---|---|---|
| 它有六十五例 CT | 六十五是四类模态的合计,CT 只是其中一类,官方未拆分 | 集合页模态栏只写四类并列,Data Access 表只给合计 |
| 每位患者四类模态齐全 | 四类是集合层面的并列,不是患者层面的配齐;跨模态人数未知 | 模态栏为集合属性,digest 需按患者逐例清点 |
| 它是 TCGA 子宫内膜癌的全队列 | 只是有影像的一小部分,六十五对五百六十 | 集合页患者数与 GDC 项目摘要并列即可看出 |
| 它带分割掩膜 | 集合本体无 SEG、无 RTSTRUCT、无 NIfTI 掩膜 | Data Access 表只列 DICOM 一项 |
| 它有病理切片 | 病理在 GDC,不在 37.85 GB 里 | 集合页把 Histopathology 指向 GDC |
| 一次检查对应一位患者 | 二百二十六次检查对应六十五人,人均约三次半 | 两个计数直接相除 |
| 影像日期可与临床日期相减 | 影像日期按站点整体平移三到十年,临床日期是相对天数 | 集合页的日期说明段 |
| 它包含治疗后随访影像 | 官方明示基线检查均为术前 | 集合页的受试者标识说明 |
| 版本更新会带来新影像 | v3 到 v4 图像与计数完全相同,只换了表格 | 两个版本的 Data Access 表逐项一致 |
| 四类模态中 PET 占多数 | 无依据;PET 在妇科肿瘤术前评估中通常是补充手段 | 集合页不分模态,占比说法均缺直接证据 |
技术陷阱一:IDC 的集合名写法。 IDC 里是 tcga_ucec,全小写加下划线;写成 TCGA-UCEC 不会报错,只会返回空结果。
技术陷阱二:digest 的行数不是例数。 一行是一个序列,一位患者可能有十几个序列。数例数必须对 PatientID 去重。
技术陷阱三:把 Related Datasets 当成本集合的一部分。 那四个是独立发布的分析结果集,有自己的 DOI 与许可,体积不计入 37.85 GB,引用时也不能混用。
FAQ
Q1:65 例是不是 65 位患者的 CT?
不是。65 是集合页的患者总数,四类模态 CT、PT、MR、CR 合在一起才凑出这个数,官方没有按模态拆分。同一位患者可能既做 CT 又做 MR,按模态计数得到的四个数字既不会相加等于 65,也不互斥。要写分模态例数,必须拿 digest 表按 PatientID 去重自己数。
Q2:为什么 TCIA 是 65 例,GDC 是 560 例?
两者回答不同问题。65 是「在 TCIA 上有可发布影像的患者数」,是交集;560 是「GDC 上 TCGA-UCEC 项目的病例总数」,是全集。差出来的部分有组织、有分子、有切片,只是没有汇交影像。做影像分析用前者,做分子分析用后者,合并时以 barcode 取交集并报告覆盖率。
Q3:能不能直接拿它训练分割模型?
不能。集合本体是纯净的 DICOM 归档,没有 SEG、RTSTRUCT 或 NIfTI 掩膜,也没有病灶编号;65 例也不足以从零训练三维骨干。它合适的位置是目标域验证与带分子标签的微调,标签需另建。
Q4:CT、MR、PT、CR 各多少例?
官方只给合计。可行做法是下载 digest 摘要表,按 Modality 分组、按 PatientID 去重计数;或走 IDC 的 dicom_all 表按 collection_id 与 Modality 过滤。两种做法都要注意同一患者跨模态重复。
Q5:影像日期为什么和临床日期对不上?
规则不同。TCIA 侧日期按站点整体平移 3 至 10 年,同站点平移量固定,患者内部间隔保留;GDC 侧全部换成距病理诊断日的相对天数。把两边直接相减,得到的既不是真实日期差,也不是有意义的间隔。
Q6:它和 TCGA-KIRC、TCGA-LIHC 是同一批人吗?
不是。它们共享 barcode 规则与前缀,但病种、部位、年份与站点都不同,患者集合互不相交。跨集合能统一的只有命名规则,不是病例。
Q7:能用于商业项目吗?
影像侧可以。许可是 CC BY 3.0,允许再分发与商用,义务是署名、引用给定格式并保留许可。GDC 侧的临床、组学与病理另有使用协议,商用前分开确认;原始测序读段经 dbGaP 受控。
Q8:它有病理切片吗?
集合本体没有。集合页的数据类别写着 Clinical、Genomics、Histopathology,但后两类指向 GDC,不在 37.85 GB 内。诊断切片与组织切片在 GDC 上以 SVS 交付,覆盖五百余例,需按同一串 barcode 自行关联。
术语表
| 术语 | 解释 |
|---|---|
| UCEC | TCGA 项目代号,Uterine Corpus Endometrial Carcinoma,子宫体子宫内膜癌 |
| TCIA | The Cancer Imaging Archive,美国 NCI 的癌症影像档案馆 |
| GDC | Genomic Data Commons,基因组数据共享平台 |
| IDC | Imaging Data Commons,影像数据共享云平台 |
| barcode | TCGA 的分层身份编码,十二位为患者层 |
| PatientID | DICOM 中的患者标识,本集合里等于 TCGA 患者 barcode |
| DICOM | 医学数字影像与通信标准,本集合的存储格式 |
| 检查 | DICOM 的 Study 层,一次就诊产生的影像集合 |
| 序列 | DICOM 的 Series 层,同一采集参数下的一组图像 |
| PT | DICOM 模态码,正电子发射断层 |
| CR | DICOM 模态码,计算机 X 线摄影 |
| 期相 | 增强扫描中对比剂到达的不同时间点 |
| 层厚 | 断层图像的切片厚度,直接影响重采样结果 |
| 掩膜 | 像素级区域标注,本集合本体不提供 |
| SEG | DICOM 的分割对象类型 |
| RTSTRUCT | DICOM 的放疗结构集对象,常用于存放轮廓 |
| digest | 集合的文件摘要表,可在不下载影像时做索引 |
| 肌层浸润 | 内膜癌侵犯子宫肌层的深度,影像与病理都关注的核心指标 |
| 分子分型 | 按基因组特征对内膜癌的分组,与预后相关 |
| 覆盖率 | 有影像的患者数除以项目病例数,本集合约一成 |
| CC BY 3.0 | 知识共享署名许可,允许商用与再分发 |
附录 A:核心数字速查
| 项 | 值 |
|---|---|
| 患者 | 六十五 |
| 检查 | 二百二十六 |
| 序列 | 九百一十二 |
| 图像 | 77,214 |
| 体积 | 37.85 GB |
| 模态 | CT / PT / MR / CR |
| 版本 | v4 / 2020-05-29 |
| 状态 | Complete |
| 许可 | CC BY 3.0 |
| GDC 病例 | 五百六十 |
| 覆盖率 | 约一成 |
| DOI | 10.7937/K9/TCIA.2016.GKJ0ZWAC |
附录 B:交付文件清单
| 文件 | 内容 | 说明 |
|---|---|---|
| 批量清单(.tcia) | 集合的下载清单 | 配合官方客户端使用 |
| DICOM 摘要(XLSX) | 患者、检查、序列、图像与模态的索引 | 不下载影像也能做规划与计数 |
| 临床数据包 | 2016 年 1 月 5 日抽取的快照 | 仅数十 KB,v4 起改为链接 GDC 表格 |
| 影像本体 | 九百一十二个序列 | DICOM 格式,37.85 GB |
附录 C:外部资源对照
| 资源 | 提供什么 | 与本集合的关系 |
|---|---|---|
| TCIA 集合页 | 影像、元数据、版本史、引用格式 | 主入口 |
| GDC 项目页 | 临床、组学、数字病理 | 配对侧 |
| IDC | 同一批影像的云端视图与检索 | 检索与云计算 |
| Pan-Cancer-Nuclei-Seg 等分析结果集 | 细胞核分割等派生结果 | 独立发布,不属于本体 |
| dbGaP | 受控访问的原始测序读段 | 另一套授权 |
附录 D:覆盖率与分模态计数脚本
#-- 一段脚本同时回答两个问题:分模态各多少例、影像覆盖多少病例
import json
import pandas as pd
DIGEST = "TCIA_TCGA-UCEC-2018-10-24-nbia-digest.xlsx"
GDC_JSON = "gdc_cases.json"
df = pd.read_excel(DIGEST)
df["PatientID"] = df["PatientID"].astype(str).str.strip().str.upper()
by_modality = df.groupby("Modality")["PatientID"].nunique().sort_values(ascending=False)
print("分模态例数(同一患者可计入多类):")
print(by_modality)
img_ids = set(df["PatientID"])
with open(GDC_JSON, encoding="utf-8") as f:
hits = json.load(f)["data"]["hits"]
gdc_ids = {h["submitter_id"].strip().upper() for h in hits}
print("影像侧患者数:", len(img_ids))
print("分子侧病例数:", len(gdc_ids))
print("交集:", len(img_ids & gdc_ids))
print("覆盖率:", round(len(img_ids & gdc_ids) / len(gdc_ids), 3))
print("只在分子侧(无影像):", len(gdc_ids - img_ids))
这段脚本的作用不是建模,而是把两个最容易被含糊带过的数字算成可引用的比例:分模态例数与覆盖率。
附录 E:如果只记五件事
第一,六十五是四类模态的合计,不是任何单一模态的例数。
第二,它与五百六十例的分子队列按十二位 barcode 相连,覆盖率约一成。
第三,它是历史归档,采集不统一是本质属性,不是执行瑕疵;站点必须作为显式变量进模型。
第四,它没有掩膜,只有原图;分割标签要自建,或借泛癌分析结果集起步。
第五,它的价值在「唯一」而不在「大」:子宫内膜癌的公开多模态断层影像,目前只有这一份。
编辑说明
核验时间:2026 年 10 月。核验方式:以 TCIA 集合页正文与四个版本的 Data Access 表为主,交叉核对 GDC 项目摘要接口的病例数与各实验策略覆盖数、IDC 的集合名称与视图。数字口径一律采用官方页面原文,不在本地下载影像重算。
未覆盖的内容:各模态的患者级拆分官方未给,本篇因此不给分模态例数,只给清点方法;期相分布、厂商分布与层厚分布未做统计,一是超出介绍范畴,二是需要逐例读 DICOM 头,与「不做审计」的取向相悖。
口径冲突记录:一是患者数,TCIA 页面六十五与 GDC 项目五百六十并存,本篇按平台分别标注,不合并、不折算。二是数据类别,集合页把 Clinical、Genomics、Histopathology 三类并列,但后两类实际指向 GDC,不计入 37.85 GB,本篇在正文与附录中均按「本体只有影像」表述。三是版本计数,v1 与 v2 的四级计数完全相同,v3 与 v4 亦相同,两对之间的差异分别是补例与改表,本篇按「一次补例、一次只改表」归纳。
关于内链:文末导航由发布管线按标签自动生成,本篇不手写导航章节;外部链接(TCIA、GDC、IDC、DOI)统一放在 sameAs,relatedLink 只保留站内条目。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- tcia — 共享标签:医学影像 / CT / MRI / PET / 肿瘤学
- idc — 共享标签:医学影像 / CT / MRI / PET / 肿瘤学
- synthrad — 共享标签:医学影像 / CT / MRI / 肿瘤学 / 多模态影像
- tcga-kirc — 共享标签:医学影像 / CT / MRI / 肿瘤学 / 多模态影像
- biomedparse — 共享标签:医学影像 / CT / MRI / 肿瘤学 / 多模态影像
- tcga-lihc — 共享标签:医学影像 / CT / MRI / 肿瘤学
- autopet — 共享标签:医学影像 / CT / PET / 肿瘤学
- cptac-imaging — 共享标签:医学影像 / CT / MRI / 肿瘤学
- head-neck-pet-ct — 共享标签:医学影像 / CT / PET / 肿瘤学
- spinal-multiple-myeloma-seg — 共享标签:医学影像 / CT / 肿瘤学 / 多模态影像
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

