信息速览
肝脏占位的定性诊断长期靠时间序列而非单帧形态取胜。灰阶超声能看见病灶的边界与回声,却说不清它供血如何变化;增强 CT 与 MRI 能给出多期增强,却要注射不同的对比剂。超声造影(contrast-enhanced ultrasound,CEUS)把二者连起来:静脉注射的微泡留在血管内,超声以低机械指数连续采集,屏幕上播放的是一段可回放的动态过程。B-mode-and-CEUS-Liver 正是围绕这条路径构建的公开影像集合,由美国托马斯杰斐逊大学放射科团队主持、经美国国家癌症研究所的癌症影像档案库(TCIA)发布,收录一百二十例肝脏占位。
它的价值不在于病例数,而在于记录了「影像随造影剂循环而改变」这件事本身。绝大部分公开肝脏影像集中,一张图就是一帧;这里的一个序列是一段连续录像,病灶由动脉期变亮、门脉期与延迟期变暗的全过程被原样保存。这既是它与静态影像集的根本区别,也决定了建模必须处理时间维。
数据产自两项在研临床试验:一项用造影超声定性性质不明的肝脏占位,另一项用造影超声监测局部区域治疗的疗效反应;因此集合预期继续扩充,可能加入容积数据、更多造影录像与更长期的反应数据。它以 CC BY 4.0 开放下载,附带一张按病例号组织的参考标准表。一屏速览见下表。
| 项目 | 内容 |
|---|---|
| 官方名称 | B-mode-and-CEUS-Liver: Ultrasound data of a variety of liver masses |
| 简称与 slug | B-mode-and-CEUS-Liver / b-mode-and-ceus-liver |
| 数据 DOI | 10.7937/TCIA.2021.v4z7-tc39 |
| 发布机构 | 托马斯杰斐逊大学放射科(费城) |
| 托管平台 | The Cancer Imaging Archive(TCIA) |
| 首次发布 | v1,2021-08-04 |
| 当前版本 | v2,2022-02-18(新增四十五名受试者与新版表格) |
| 许可 | CC BY 4.0 + TCIA 数据引用强制 |
| 模态 | 二维 B 型灰阶超声(静态图)+ 超声造影 cine-loop |
| 规模 | 一百二十名受试者 · 一百二十项检查 · 一百二十个序列 · 一千八百五十九段影像 |
| 影像体积 | 二百七十二 GB(TCIA 采集页口径,知识库页记二百五十三 GB) |
| 配套文件 | 参考标准 XLSX,约二十三点九 KB |
| 参考标准 | 组织病理、增强断面影像、TACE 初次反应 |
| 主键 | 病例号(一例对应一个序列) |
| 状态 | TCIA 标注为 Clinical,但仍计划扩充 |
| 资助 | NCI R01 CA194307、R01 CA215520 |
| 库内近邻 | breast-lesions-usg(1133)、bus-bra(760)、hcc-tace-seg(1730)、atlas-liver-tumor(431) |
§1 它是怎样一个集合
§1.1 一句话定义
B-mode-and-CEUS-Liver 是一份以「一次检查一个序列」为组织单元、同时保存肝脏占位的静态灰阶图与造影全过程录像、并配一张病例级参考标准表的公开超声影像集合。它不提供像素级标注,不提供训练脚本,也不承诺样本的流行病学代表性;它提供的是原始检查数据与经过核对的诊断答案。
§1.2 为什么它不是普通的超声影像集
大多数公开超声数据集是「图 → 标签」的配对集合,例如甲状腺结节分割、乳腺病灶分类、胎儿切面识别。这些集合的每张图独立成立,模型的输入是一个二维张量,输出是一个类别或一张掩膜。B-mode-and-CEUS-Liver 的最小单位不是一张图,而是一次完整的检查,其中一部分序列是静态帧,另一部分序列是录像。
| 对照项 | 常见超声影像集 | 本集合 |
|---|---|---|
| 样本粒度 | 一张图 | 一次检查,一个序列 |
| 时间维 | 无 | 有,且是判读的主要依据 |
| 判读依据 | 单帧形态(边界、回声、后方声影) | 跨时相的增强强度变化 |
| 标签层级 | 图像级或像素级 | 病例级 |
| 典型模型输入 | 单张二维图 | 序列(三维张量或多帧视频) |
| 能否直接套用静态流程 | 能 | 不能,必须处理时间维 |
这张表解释了为什么把本集合直接喂给一个在乳腺或甲状腺上训练好的二维分类器,结果通常远低于预期:模型看到的是它从未见过的输入分布。动态信息在静态帧里不存在,而在录像里每帧的绝对灰度又不能直接比较。
§1.3 三十秒决策卡
判断是否值得花时间下载两百多吉字节的影像,可以对照下表。
| 你的处境 | 这个集合能帮你什么 |
|---|---|
| 手上只有静态超声模型,想验证它在动态数据上的鲁棒性 | 提供真实的域外压力测试,且答案来自临床 |
| 想做肝脏占位良恶性分类,但公共数据全是 CT | 补上超声模态,且带完整诊断答案 |
| 想研究造影剂到达时间与病灶性质的关系 | 提供原始帧序列与病例级答案,可自行提取时间强度曲线 |
| 想预测 TACE 治疗反应 | 有初反应的病例给出了一条可用的监督信号 |
| 想找一份能训练「逐帧病灶分割」的数据 | 给不了,它没有掩膜 |
| 想要大规模、多中心、人群均衡的队列 | 给不了,全部来自单一中心的临床试验入组 |
| 想直接复现某个 SOTA 分割分数 | 给不了,官方未发布任何基准排名 |
§1.4 不适合谁
如果你的需求是训练一个逐帧分割模型,这个集合给不了你掩膜。 官方文档没有任何像素级标注,参考标准全部是病例级文字与分类。需要分割数据时应转向有专家勾画的集合,例如乳腺、颈动脉、甲状腺方向的公开分割集,或者把本集合作为预训练之后的推理目标而非监督来源。
如果你的需求是得到一个真实世界的患病率与检出率估计,这个集合给不了你。 病例来自「需要定性」的就诊者与「需要局部治疗」的患者,二者都是经过临床筛选的亚群。任何基于它计算出来的良恶性比例,只反映入组策略,不反映任何人群。
如果你的需求是跨中心、跨设备的一致性研究,这个集合给不了你多中心设计。 设备型号确实多样,但全部检查在一家医院完成,操作者、造影剂方案、判读习惯高度同源。
如果你的需求是做一个「训练集/验证集/测试集」三分、有官方划分可直接对榜的实验,这个集合给不了你。 它没有划分文件,也没有任何公开的基准分数。所有划分都要自己按病例设计,所有对照都要自己补。它的正确用法是「临床留存」这一身份,而不是「榜单素材」。
如果你的需求是评估病灶检出能力的召回率,这个集合给不了你阴性样本的分布。 入组条件是「已经发现占位」,因此集合里的每一例都至少有一处目标病灶,没有正常肝脏、也没有未见异常的扫描。用它训练检出模型会得到严重偏高的先验。
§1.5 它在肝癌影像诊断中的位置
在肝脏占位的诊断路径里,灰阶超声通常是第一站,增强 CT 或 MRI 是第二站。CEUS 长期处在「第二站之后的补充」或「无法做增强断面检查时的替代」这一位置。它与另两条路径的关系可以用一张表说明。
| 路径 | 主要手段 | 判读依据 | 主要限制 |
|---|---|---|---|
| 灰阶超声 | B 模式 | 边界、回声、后方声影、血管走向 | 只看形态,良恶性重叠大 |
| 增强 CT 与 MRI | 迭代重建或快速序列 | 多期强化模式、廓清、包膜、阈值增长 | 辐射、含碘或含钆对比剂、肾功能与过敏限制 |
| 超声造影 | 低机械指数连续采集 | 造影剂微泡在病灶内随时间变化的增强与廓清 | 依赖操作者、视野受限、深部与体胖者穿透差 |
| 组织病理 | 穿刺或手术标本 | 细胞与组织结构 | 有创,抽样误差,不能重复多次 |
CEUS 的独特之处在于它同时具备连续时间分辨率与血管内示踪能力。微泡不进组织间隙,全程留在血池内,因此它记录的增强模式在物理意义上更接近「灌注」二字。这也解释了为什么它能在一定程度上取代增强断面影像成为独立的诊断路径:判读的问题从「这块组织长什么样」变成了「这块组织的血供随时间如何变化」。
§1.6 一条贯穿全文的判读链
本词条反复使用同一条判读链作例子,因为它把动态性讲得最清楚:一枚在灰阶图上只是低回声结节的占位,在造影开始后约十秒进入动脉期,病灶区域整体亮于周围肝实质;随后门脉开始供血,周围肝实质变亮而病灶开始相对变暗;进入延迟期,病灶明显暗于周围组织。这条「亮—相对变暗—明显变暗」的曲线在临床判读里被拆成两个独立问题:病灶是否出现动脉期高增强,以及廓清是在什么时刻、以什么程度出现。两个问题的答案都不在一帧里,而在整段录像里。后文的时相建模、相对强度对齐、TACE 反应判读都回到这条链上。
§2 数据构成与规格
§2.1 官方硬数字
TCIA 采集页与知识库详细页给出两组数字,口径基本一致,仅体积一项存在差异。
| 字段 | 采集页 | 知识库详细页 | 差异 |
|---|---|---|---|
| Subjects | 120 | 120 | 一致 |
| Studies | 120 | 120 | 一致 |
| Series | 120 | 120 | 一致 |
| Images | 一千八百五十九(原文 1,859) | 一千八百五十九 | 一致 |
| 影像体积 | 二百七十二 GB | 二百五十三 GB | 差约十九 GB |
| 模态标注 | US | US(B-Mode) | 表述不同 |
| 参考标准体积 | 二十三点九 KB | 二十四 KB | 同一文件取整 |
三处差异都值得说明。体积一项,采集页的数值是打包清单的口径,知识库的 253 GB 是影像本体口径,二者差的可能是清单、校验文件与封装开销。模态一项,采集页只写 US,知识库写成 US(B-Mode),后者并不否认造影序列的存在——同一页的摘要段落明确写着全套造影 cine-loop 也以 DICOM 保存。第三项只是取整。
§2.2 一个容易被误读的比例
一千八百五十九段影像分给一百二十个序列,平均每个序列十五段左右。这个数字很小,原因在于超声的设备结构:一次超声检查就是一个序列,序列里每「一段影像」可能是单帧静态图,也可能是一整段录像;录像在 DICOM 中是以多帧对象的形式存成一个实例,而不是拆成很多个独立文件。因此段数少不等于数据量小,体积几乎全部落在录像的多帧内容里。
这一点与断面影像的习惯完全不同。在 CT 中,段数约等于层数,一个序列几百段很常见;在超声多帧对象中,段数与层数没有对应关系。凡是按「段数」估算工作量的脚本,在超声上都会严重低估。
§2.3 组织单元:一次检查一个序列
官方采集页的存取表格显示受试者、检查、序列三个计数完全相同,说明本集合的组织方式是「一名受试者、一次检查、一个序列」严格对应。这个设计带来两个直接后果。
- 主键简单:病例号即可定位全部影像,不需要在检查与序列之间再做选择。做数据连接时,参考标准表的一行对应影像侧的一个序列目录。
- 内部异质性被压进单个序列:同一序列内可能同时包含横断面静态帧、矢状面静态帧与造影录像。使用者在拆分训练样本时,必须先在序列内部按采集时刻或图像类型切片。
第三点是隐含的:由于一例只有一个序列,本集合无法用来研究「同一患者多次检查之间的变化」这一课题。同一受试者的随访影像并不以独立序列的形式出现在集合里,长期反应只以参考标准表中的文字结论存在。
§2.4 两类影像的物理差异
静态图与录像虽然都存成 DICOM,但它们的物理含义、元数据完整度与处理方式几乎完全不同。
| 维度 | B 模式静态图 | 造影 cine-loop |
|---|---|---|
| 采集目的 | 记录病灶形态与位置 | 记录造影剂灌注全过程 |
| 时间信息 | 单帧,无时间轴 | 多帧,带帧间隔与时刻 |
| 强度可比性 | 帧间可比,同一设备同一设置下稳定 | 帧间不可直接比,随造影剂浓度变化 |
| 典型判读特征 | 边界、回声、后方声影、内部结构 | 动脉期高增强、廓清时刻、廓清程度 |
| 处理难点 | 不同设备灰阶映射不一致 | 时相起点不一致、呼吸运动、帧率不一 |
| 可否直接进二维 CNN | 可以 | 不可以,需先处理时间维 |
这张表应当作为任何预处理脚本的设计依据。把两类影像混在一个 DataLoader 里、统一缩放到同一尺寸再送入同一个二维骨干网络,是最常见的错误起点。
§2.5 参考标准表的内容
配套的 XLSX 文件是集合的第二半。官方描述它承载三类信息:病灶定性的参考标准、TACE 初次反应,以及把二者连回影像的病例标识。定性部分的参考标准是组织病理与检查前后一个月内的增强断面影像;TACE 反应部分的标准是病理、再次治疗时的血管造影,或断面影像上的长期肿瘤反应。
| 信息块 | 内容 | 参考标准来源 | 覆盖范围 |
|---|---|---|---|
| 病灶定性 | 病例的诊断结论 | 组织病理;或检查前后一个月内的增强 CT/MR | 全部病例 |
| TACE 初次反应 | 治疗后的初始疗效判定 | 病理;再次治疗时的血管造影;断面影像上的长期肿瘤反应 | 部分肝细胞癌病例 |
| 连接键 | 病例标识 | 与影像侧一致 | 全部病例 |
这里必须把话说清楚:参考标准是病例级的,不是影像级的,更不是逐帧的。一行表格回答「这一例最终是什么病」,不回答「这一帧里病灶的边界在哪」。二者的差别决定了本集合能支撑的任务类型。
§2.6 一条记录的完整解剖
把参考标准表的一行与影像侧的一个序列并排放,可以看到一份记录的全貌。
病例号 ← 主键,与 DICOM PatientID 对应
├─ 影像侧
│ └─ 序列(一个序列 = 一次检查)
│ ├─ B 模式静态帧:横断面
│ ├─ B 模式静态帧:矢状面
│ └─ 造影 cine-loop:多帧,低机械指数
└─ 参考标准侧
├─ 病灶定性结论 + 依据(病理 / 增强断面影像)
└─ TACE 初次反应 + 依据(病理 / 造影 / 长期反应)
这份解剖图提示了三处容易断链的地方。第一,影像侧一个序列里有多种内容,按序列取样本会把静态帧与录像混在一起。第二,参考标准侧有两块信息,第二块只对部分病例存在。第三,连接键是病例号,一旦下游对病例号做过任何改写(补零、大小写转换、加前缀),连接就会静默失败。
§2.7 病例为什么是「占位」而不是「普查对象」
入组条件是「发现了一处肝脏占位、需要定性」,因此每例都至少有一个看得见的目标。这一点决定了本集合的阴性类含义:这里的「良性」指「占位最终被证明为良性」,不是「没有占位」。良性占位的常见去向是血管瘤、局灶性结节增生、脂肪不均一类,恶性方向则主要是肝细胞癌与肝内胆管癌。
两个方向在造影上的表现差异,正是临床判读最关心的问题:肝细胞癌常表现为动脉期整体高增强、随后出现相对较晚且较轻的廓清;肝内胆管癌则常在动脉期呈现环形增强,且廓清出现得更早、程度更重。判读规则把这些差别量化成临界值,而临界值的依据是时间。没有录像,这些临界值无从谈起。
这一点也说明了本集合为什么值得单独存在:它把「临界值所依赖的原始时间序列」公开了。断面影像研究里,影像科医师看到的是重建软件按时间窗抽出的三四个时相,中间过程被压缩;超声造影保留的是全程。
§2.8 与同类集合的定位差异
肝脏方向的公开数据集以断面影像为主,超声方向几乎没有同类。下表只做定位说明,不比较优劣。
| 集合 | 模态 | 判读对象 | 与本集合的关系 |
|---|---|---|---|
| 本集合 | 灰阶超声 + 造影录像 | 占位定性、治疗反应 | — |
| LiTS-Liver | 增强 CT | 肝与肝肿瘤分割 | 同一器官、不同模态、不同任务 |
| HCC-TACE-Seg | 增强 CT | TACE 前后配对分割与生存终点 | 任务部分重叠,模态互补 |
| TCGA-LIHC | CT/MR/PT 与分子数据 | 多组学关联 | 提供分子侧参照 |
| Atlas-Liver-Tumor | 增强 MRI | 肝脏与肿瘤双标签 | 断面影像的黄金对照 |
一句可操作的判断规则:要研究灌注的时间行为,只有超声造影这条路;要研究解剖形态与体积测量,断面影像更成熟。 二者不是替代关系。
§3 第一层:模态与动态性
§3.1 这一层解决谁的痛点
做动态建模的人最常遇到的问题不是模型不够大,而是「时间轴对不齐」。这一层把本集合作为动态影像的全部特性摊开:它为什么是录像而不是图、录像里每一帧的时间戳意味着什么、不同病例之间哪些量可以比、哪些量不能比。
§3.2 造影剂微泡为什么能被看见
超声造影用的不是改变组织密度的对比剂,而是直径与红细胞同量级的微气泡。这些微泡在声场中受声压驱动而振荡,回波强度远高于周围组织,因此在图像上表现为明亮区域。与之配套的是一种专门压低组织回波、保留微泡回波的成像模式——机械指数很低的脉冲,组织几乎不产生非线性回波,微泡则强烈响应。这正是本集合的造影录像与 B 模式静态图在成像上的根本区别。
由此推出一个对建模至关重要的推论:造影帧的灰度不是「组织密度」的代理,而是「视野内微泡浓度」的代理。灰度上升意味着微泡到达,灰度下降意味着微泡离开或破坏。这类信号只有连续观察才有意义,单帧截取会丢失全部信息。
§3.3 三个时相与它们判断什么
临床判读把造影过程切成若干时相,本集合的判读答案正是按这条链形成的。
| 时相 | 大致时间窗 | 观察什么 | 判读意义 |
|---|---|---|---|
| 造影前 | 注射之前 | 基线灰阶与位置 | 定位病灶,作为参照 |
| 动脉期 | 注射后早期,数十秒内 | 病灶是否整体亮于周围肝实质 | 高增强提示动脉供血 |
| 门脉期 | 动脉期之后 | 病灶与周围实质的亮度关系如何反转 | 廓清出现的时刻与程度 |
| 延迟期 | 更晚 | 病灶是否持续低增强 | 廓清是否维持 |
这张表里的每一个判断都依赖「与周围肝实质比较」,而不是绝对灰度。同一条曲线在不同设备、不同增益下数值完全不同,但「病灶相对实质是亮还是暗」这个关系在多数情况下是稳定的。
§3.4 动态性带来的四个具体建模难点
难点一:输入不再是二维张量。 录像的输入是「帧 × 高 × 宽」,或者是「帧 × 高 × 宽 × 通道」。二维卷积骨干只能处理单帧,必须外接时间维的处理模块,或者把帧堆叠进通道维——后者在帧数较多时参数量会线性膨胀。
难点二:帧率与总时长不统一。 不同设备、不同检查者的采集设置不同,一段录像可能只有几十帧,也可能有上千帧。直接按固定帧数采样会让不同病例的时间分辨率相差数倍。
难点三:时相起点不一致。 录像从何时开始录制取决于操作者按下采集键的时刻,与注射时刻的相对关系因人而异。因此两段录像的「第 0 帧」并不是同一个生理时刻,「第 50 帧」也不一定落在动脉期。
难点四:呼吸与探头移动引入的运动。 肝脏随呼吸上下移动,病灶在两帧之间的位置会漂移。这个漂移在时间强度曲线上表现为虚假的灰度抖动,在配准不当时会严重污染曲线。
§3.5 相对强度:唯一可比的量
把上面的难点收束成一句可操作的话:在造影序列里,唯一能在病例之间比较的量是相对强度,不是绝对灰度。
相对强度的定义很朴素:取病灶区域的均值亮度,减去同一帧内周围肝实质参考区域的均值亮度,再除以参考区域的均值。这个量在设备增益变化时基本不变,因为它同时作用于分子与分母。它的缺点是对方形参考区域的选择敏感,需要人为规定取样位置,且要避开大血管与声影。
§3.6 一个把难点串起来的例子
回到 §1.6 那条判读链,用具体操作走一遍。假设某例录像共若干帧,帧间隔在元数据中可读。第一步,读入全部帧与每帧的采集时刻,得到一条时间轴。第二步,在注射早期的一段帧上人工或自动框出病灶与一块肝实质参考区。第三步,逐帧计算相对强度,画出曲线。第四步,在曲线上找上升的起点,把它当作造影剂到达时刻,即该例的生理零点。第五步,以生理零点为原点重采样,把不同病例的曲线拉到同一时间网格上。
这五步里,第三步与第四步是分开的,且顺序不能颠倒。先对时相、后算曲线是常见错误:时相需要曲线来定,先定后算会形成循环。正确做法是先得到原始曲线,再在曲线上定位生理零点,最后才做重采样对齐。
§3.7 为什么这一层决定了数据的使用门槛
一份静态数据集,使用者下载后通常能在半天内跑通第一个基线。本集合的门槛在时间维上:在没有把时间轴、生理零点、相对强度这三件事处理好之前,任何模型的结果都无法解释——你无法判断分数低是因为模型不行,还是因为输入对齐错了。
这也解释了为什么本集合虽然开放了五年多,社区引用仍然不多。不是数据不好,是前置工作重。
§4 第二层:参考标准与标注边界
§4.1 这一层解决谁的痛点
做监督学习的人最关心「答案从哪来、有多硬」。这一层把参考标准拆到每一项,说明哪些答案是病理级证据、哪些是影像级证据、哪些只覆盖部分病例,以及这些差别如何影响损失函数的设计。
§4.2 参考标准的三级强度
官方给出的参考标准并不均质,可以按证据强度分成三级。
| 强度 | 来源 | 覆盖 | 在建模中的含义 |
|---|---|---|---|
| 最强 | 组织病理 | 有病理的病例 | 可作为硬标签,误标风险最低 |
| 中等 | 检查前后一个月内的增强 CT/MR | 无病理的病例 | 作为标签可用,但误差来自影像判读本身 |
| 特殊 | TACE 反应的三类依据 | 部分肝细胞癌病例 | 与前两者不同质,是治疗反应标签而非诊断标签 |
关键的一句话是:官方用一个「或」字把病理与增强断面影像并列,没有说明各自的比例。这意味着使用者无法仅凭参考标准表判断某一例的答案有多硬,除非表内另有一列记录依据来源。做严格病理标签实验时,需要先确认该列是否存在,没有则这一区分无法完成。
§4.3 一个月这条时间约束
官方把增强断面影像的时间窗限定在超声检查前后一个月内。这个窗口不是随手写的,它反映了一个临床事实:肝脏占位在短时间内的性质不会改变,超过一个月的对照影像与当次超声之间可能已经出现了治疗或其他干预。
对建模者的启示是:参考标准与影像不是同一时刻的两份记录,二者之间存在最长约一个月的时间差。若研究的问题对时间敏感(例如治疗前后的变化),必须把这一差值纳入考虑,否则会把治疗后的影像与治疗前的诊断配成一对。
§4.4 TACE 反应的三种依据
TACE(经导管动脉化疗栓塞)是肝细胞癌常用的局部治疗。官方说明初次反应的参考标准有三种:病理、再次治疗时的血管造影,或断面影像上的长期肿瘤反应。三者对应不同的随访路径。
| 依据 | 何时可得 | 判读内容 | 时间跨度 |
|---|---|---|---|
| 病理 | 治疗后有标本时 | 存活肿瘤占比 | 治疗后数周至数月 |
| 再次治疗血管造影 | 需要二次 TACE 时 | 供血血管与肿瘤染色 | 治疗后数周至数月 |
| 断面影像长期反应 | 常规随访 | 存活肿瘤的变化 | 数月到更长 |
三者都成立「初反应」这一定义,但可得性与时间尺度不同。用这张表做标签时,需注意类别之间的不可比性:病理报告的是组织学上的坏死比例,血管造影报告的是血供状态,断面影像报告的是形态变化。三者混成一个二分类(有反应/无反应)在临床上是惯例,但在数据上会把三种不同口径的来源合并。
§4.5 为什么它不是逐帧分割数据集
这一点值得单独列节,因为它是本集合最容易被误用的地方。
逐帧分割数据集的定义是:每一帧都有一个与病灶边界对应的二值掩膜。本集合没有这样的内容。官方材料里没有任何关于掩膜、勾画、标注者或标注工具的说明,参考标准表是病例级的文字与分类。
| 如果要做的事 | 本集合能否支撑 | 应转向 |
|---|---|---|
| 训练逐帧病灶分割 | 不能 | 有专家勾画的公开分割集 |
| 训练整段录像的良恶性分类 | 能,用参考标准作标签 | — |
| 训练病灶检出 | 不能直接用于监督 | 需要另行标注,本集合可作素材 |
| 训练治疗反应预测 | 能,用 TACE 反应列 | 可与其他断面影像集合互为外部验证 |
| 做影像组学的时序扩展 | 能,自行提取区域特征 | — |
中间一栏有两个「不能」,它们的性质不同:分割的缺口是标注缺失,检出的缺口是既要标注又没有筛过的阴性样本(集合按「有占位」入组,没有正常肝脏的对照)。
§4.6 标签与影像的对齐陷阱
即使只做病例级分类,本集合的对齐也不像看起来那么简单。
- 一例一刀切:一个序列里可能拍了两处病灶(横断面与矢状面分别记录),而参考标准只有一条结论。如果实际是两处病灶,标签是否同时适用,表内不必然说明。
- 随访与基线混排:本集合纳入「诊断、随访、治疗」三类数据,含义是部分病例的影像可能来自随访阶段。若某例的影像拍于治疗后,参考标准却记的是治疗前的诊断,二者逻辑不一致。官方没有明确给出每例影像所属的阶段字段。
- 病例号改写的静默失败:参考标准表只有百余行,任何一次列的偏移或主键格式变化都不会报错,只会让连接结果变成空表或错配。健壮的读取脚本应当在连接后立即断言匹配率。
§4.7 一句可执行的核对流程
对齐这件事可以固化成四步,每一步都有可检查的输出。
import pandas as pd
from pathlib import Path
REF = Path("B-mode-and-CEUS-Liver_ReferenceStandards_v2_20220218.xlsx")
DICOM_ROOT = Path("/data/B-mode-and-CEUS-Liver")
ref = pd.read_excel(REF, sheet_name=0)
ref.columns = [str(c).strip() for c in ref.columns]
print("参考标准表列名:", list(ref.columns))
print("行数:", len(ref))
series_dirs = sorted(p.name for p in DICOM_ROOT.iterdir() if p.is_dir())
print("影像侧序列目录数:", len(series_dirs))
#-- 断言一:参考标准行数与影像序列数应当一致(一例一序列)
assert len(ref) == len(series_dirs), "行数与序列数不一致,先查是否混入了说明行"
#-- 断言二:主键集合完全重合,任何改写都会在这里暴露
key_col = ref.columns[0]
ref_keys = set(ref[key_col].astype(str).str.strip())
print("参考标准主键样例:", sorted(ref_keys)[:3])
print("影像目录样例:", series_dirs[:3])
输出的三行会自动暴露两类问题:列名是否被 Excel 的合并单元格破坏,以及主键两侧是否有格式差异。先跑这四步、确认匹配率为百分之百,再谈建模。
§5 第三层:取数、解码与时间轴重建
§5.1 这一层解决谁的痛点
工程侧最关心「下载下来能不能用」。两百多吉字节的体量、DICOM 的多帧对象、参考标准表的连接,三件事任何一件做错都会让后续工作白费。这一层给出从下载到得到可训练张量的完整路径。
§5.2 获取链:为什么不能用普通下载器
TCIA 的分发方式是先取一个清单文件,再用专用下载工具按清单抓取。清单文件很小,指向的是影像在档案库中的位置。直接对目录做递归抓取通常不可行,档案库也不提供打包直链。
#-- 1. 取清单文件(扩展名为 .tcia,体积很小)
curl -O "https://www.cancerimagingarchive.net/wp-content/uploads/B-mode-and-CEUS-Liver_20220218.tcia"
#-- 2. 用 NBIA Data Retriever 打开清单并下载
#-- 该工具需要图形界面,Windows / macOS / Linux 均有发行版
#-- 下载按清单逐条抓取 DICOM,官方提示体积约 272 GB
#-- 3. 参考标准表体积极小,可直接取
curl -O "https://www.cancerimagingarchive.net/wp-content/uploads/B-mode-and-CEUS-Liver_ReferenceStandards_v2_20220218.xlsx"
ls -lh *.tcia *.xlsx
清单文件名里带着打包日期,这一点在版本管理上很有用:文件名本身就是版本标记,不需要额外核对。
§5.3 磁盘与网络规划
体积全部落在录像上。规划存储时有一件事必须提前算清楚:DICOM 多帧对象在磁盘上的占用与解压后的内存占用不是一回事。一段录像的文件可能只有几十兆,解码成帧数组后可能膨胀数倍。
| 环节 | 估算方式 | 常见误判 |
|---|---|---|
| 下载占用 | 按官方口径预留,外加一成余量 | 用知识库的 253 GB 规划,导致中途空间不足 |
| 解压占用 | 多数情况与压缩后相当 | 忽略可选的载体格式差异 |
| 解码内存 | 按「帧数 × 高 × 宽 × 每像素字节」估算,单段即可达数百兆 | 以为整段能一次进显存 |
一个稳妥的做法是先只下载少量序列,跑通解码与预处理,确认单段的内存峰值,再决定批量下载的批次大小。
§5.4 识别静态帧与多帧对象
DICOM 中静态图与多帧录像的区别体现在像素数据组织的不同,而不在文件扩展名上。
import pydicom
from pathlib import Path
def describe(dcm_path: Path) -> dict:
ds = pydicom.dcmread(str(dcm_path), stop_before_pixels=True, force=True)
return {
"file": dcm_path.name,
"modality": getattr(ds, "Modality", None),
"frames": int(getattr(ds, "NumberOfFrames", 1)),
"rows": int(getattr(ds, "Rows", 0)),
"cols": int(getattr(ds, "Columns", 0)),
"frame_time_ms": float(getattr(ds, "FrameTime", 0) or 0),
"frame_increment_ms": float(getattr(ds, "FrameIncrementPointer", 0) or 0) * 0,
}
for p in list(Path("/data/B-mode-and-CEUS-Liver").rglob("*"))[:200]:
if p.is_file():
try:
info = describe(p)
except Exception:
continue
if info["frames"] > 1:
print("多帧对象", info)
这条命令的作用是把「哪些是录像」这件事变成可统计的清单。多帧数大于一的对象即录像候选;帧时间字段为零时,说明时间信息没有按帧存储,必须回到每帧图像的类型字段里找采集时刻。
§5.5 时间轴从哪来
DICOM 为多帧对象提供了两类时间信息:一类是均匀采样的帧间隔,一类是逐帧的时间偏移。前者适用于恒定帧率的录像,后者适用于帧间隔不均的情形。
import pydicom
import numpy as np
def frame_times(dcm_path: str) -> np.ndarray:
ds = pydicom.dcmread(dcm_path, force=True)
n = int(getattr(ds, "NumberOfFrames", 1))
if hasattr(ds, "PerFrameFunctionalGroupsSequence") and n > 1:
t = []
for fg in ds.PerFrameFunctionalGroupsSequence:
try:
t.append(float(fg.FrameContentSequence[0].FrameAcquisitionDateTime
[-9:-4].replace(":", "")))
except Exception:
t.append(np.nan)
if not np.isnan(t).all():
return np.array(t)
ft = float(getattr(ds, "FrameTime", 0) or 0) #-- 毫秒,DICOM 只给到这一层时
if ft == 0:
raise ValueError("无帧时间信息,需改用图像类型字段还原")
return np.arange(n) * ft / 1000.0 #-- 转秒
这段代码有一个明确的失败出口:当帧时间字段为零且无逐帧功能组时,它会抛错而不是返回一条假的时间轴。返回假时间轴是最危险的,因为下游完全看不出问题。
§5.6 生理零点检测
有了时间轴,下一步是找造影剂到达时刻。最朴素的算法是对整幅视野的平均亮度做差分,取上升最陡的位置。
import numpy as np
def arrival_index(mean_curve: np.ndarray, smooth: int = 3) -> int:
"""在整幅视野平均亮度的曲线上找上升最陡处,作为造影剂到达的代理零点。"""
c = np.convolve(mean_curve, np.ones(smooth) / smooth, mode="same")
d = np.diff(c)
if d.max() <= 0:
raise ValueError("曲线全程无上升,可能不是造影序列")
#-- 只在前半段搜索,避免把后期的噪声尖峰当作到达
half = max(1, len(d) // 2)
return int(np.argmax(d[:half]))
这个方法只依赖视野平均亮度,不需要病灶位置,因此可以先于任何人工框选运行,用来给全部病例做一次粗略排序。它的局限同样明确:若录像在注射前拍摄很久,前半段大部分是平的,上升点仍能被找到;若录像从注射后才开始录,零点会被截断到第一帧附近。
§5.7 相对强度曲线
把病灶区与参考区的均值相减,得到与设备增益无关的曲线。
import numpy as np
def relative_enhancement(frames: np.ndarray, roi: tuple, ref: tuple) -> np.ndarray:
"""frames: (T, H, W);roi / ref 为 (y0, y1, x0, x1) 的方形区域。"""
y0, y1, x0, x1 = roi
a0, a1, b0, b1 = ref
curve = []
for f in frames:
lesion = f[y0:y1, x0:x1].mean()
liver = f[a0:a1, b0:b1].mean()
curve.append((lesion - liver) / (liver + 1e-6))
return np.array(curve)
输出的曲线在零附近摆动表示等增强,持续为正表示高增强,由正转负表示廓清开始。阈值不应写死,因为不同设备的噪声底不同;稳妥做法是对每例单独估计注射前的基线,以基线标准差为单位判断变化是否显著。
§5.8 完整读取循环
把上面的片段串起来,得到一个可运行的读取骨架,它同时完成了文件识别、时间轴重建、零点定位与曲线提取。
from pathlib import Path
import numpy as np
import pydicom
def load_loop(dcm_path: Path) -> tuple:
ds = pydicom.dcmread(str(dcm_path), force=True)
arr = ds.pixel_array.astype(np.float32)
if arr.ndim == 2:
arr = arr[None]
return arr, frame_times(str(dcm_path))
def scan_collection(root: Path) -> list:
rows = []
for p in sorted(root.rglob("*")):
if not p.is_file():
continue
ds = pydicom.dcmread(str(p), stop_before_pixels=True, force=True)
n = int(getattr(ds, "NumberOfFrames", 1))
rows.append({"file": p.name, "frames": n,
"series": getattr(ds, "SeriesInstanceUID", "")})
return rows
if __name__ == "__main__":
root = Path("/data/B-mode-and-CEUS-Liver")
loops = [r for r in scan_collection(root) if r["frames"] > 1]
print(f"多帧对象 {len(loops)} 个,占全部文件 {len(loops)} / 已扫描")
运行结果通常会显示多帧对象在文件数上占少数,在字节数上占多数。这个比例本身就是判断「哪些资产必须优先下载」的依据。
§5.9 与断面影像流程的对照
把本集合接进已有管线时,改动面比想象中大。
| 环节 | 断面影像常规做法 | 本集合需要的改法 |
|---|---|---|
| 读取 | 单层切片逐张读 | 多帧对象整体读,按帧切 |
| 重采样 | 空间重采样到统一间距 | 时间维也需重采样到统一帧率 |
| 归一化 | 窗宽窗位或分位裁剪 | 相对强度优先,绝对灰度慎用 |
| 增强 | 空间翻转、旋转、缩放 | 时间翻转会破坏生理顺序,禁用 |
| 标签 | 像素级掩膜 | 病例级文字结论 |
| 划分 | 按患者分组 | 同样按患者,但需额外留意同例多段录像 |
最后一行需要强调:超声的增强手段里,时间方向的镜像翻转在断面影像的惯例中无害,在造影数据分析里是灾难性的,因为它把灌注过程倒过来播放。任何从 CT 管线照搬的增强策略,都要逐条检查是否破坏了时间语义。
§6 与库内资源的关系
§6.1 它在库内的位置
千方医数集收录的超声资源集中分布于乳腺、甲状腺、心脏、胎儿、盆底与术中导航几个方向,肝脏方向的影像资源全部是 CT 或 MRI。本集合是库内第一篇以肝占位为对象的超声影像词条,也是第一篇把造影动态过程作为主要内容的词条。
§6.2 四条检索路径
| 检索意图 | 建议路径 | 站内锚点 |
|---|---|---|
| 找同一器官的断面影像做跨模态对照 | 肝脏分割与治疗反应方向 | LiTS-Liver(1448)、Atlas-Liver-Tumor(431) |
| 找同一种治疗的配对数据 | TACE 前后配对与生存终点 | HCC-TACE-Seg(1730) |
| 找带分子层面的肝脏参考 | 多组学肝脏队列 | TCGA-LIHC(1731) |
| 找超声方法学的近邻 | 乳腺超声与验证机制 | Breast-Lesions-USG(1133)、BUS-BRA(760) |
§6.3 互链建议
下表列出建议的站内互链,均以站内路径给出,外部入口统一放在正文与附录中说明。
| 目标 | 编号 | 建议互链理由 |
|---|---|---|
| LiTS-Liver | 1448 | 肝脏与肿瘤分割的最常用参照 |
| HCC-TACE-Seg | 1730 | TACE 主题重合,模态互补 |
| Atlas-Liver-Tumor | 431 | 肝细胞癌影像的对照 |
| TCGA-LIHC | 1731 | 肝脏队列的多模态与分子参照 |
| Breast-Lesions-USG | 1133 | 超声数据集的标注与域外验证方法论 |
| BUS-BRA | 760 | 乳腺超声的划分纪律与审计经验 |
| Colorectal-Liver-Metastases | 1718 | 肝脏转移瘤切除队列,提供另一个评价终点 |
| PFUS1 | 869 | 视频型超声数据集的逐帧处理经验 |
| BraTioUS | 987 | 术中超声的设备多样性经验 |
九条足以覆盖「同器官、同治疗、同模态、同方法学」四个方向,再多会稀释相关度。
§7 质量评估与局限性
§7.0 阅读本节前需要知道的一件事
本集合不应按「机器学习基准数据集」的标准来评价。基准数据集的评价维度是划分是否官方、指标是否可复现、榜单是否公开;本集合三项皆无。它的性质更接近一份经过核对的临床检查留存:有价值的是影像本身与答案的真实性,而不是使用便利性。
由此产生两种常见误判。第一种是把它当成训练集来评价,然后因为「没有划分、没有基线、样本少」判为低质——这是用错了尺子。第二种是把它当成「超声版的 LiTS」来使用,看到一千多段影像就以为拿到了分割数据——这是把性质完全不同的东西混为一谈。评价它应当用四个维度:这套动态记录是否稀缺、参考标准是否可靠、访问是否无门槛、使用门槛是否被诚实地交代清楚。
§7.1 DAIMS 评分
下表按八个维度打分,每项满分五分。打分依据全部来自官方公开材料,不涉及对数据内容的主观判断。
| 维度 | 得分 | 依据 |
|---|---|---|
| 描述层身份与边界 | 4 | 标题、DOI、发布机构、资助编号齐备;官方未逐一列明病变类型清单 |
| 描述层文档完备度 | 3 | 采集与参考标准描述清楚;造影剂、机械指数、帧率等采集参数缺失 |
| 结构层标识体系 | 4 | 数据 DOI 稳定,主键为病例号,一例一序列 |
| 结构层层级一致性 | 5 | 受试者、检查、序列三项计数完全一致,结构无歧义 |
| 结构层模态配对 | 4 | 静态图与 cine-loop 同源同期;两类内容在序列内混放,需自行切分 |
| 访问层开放程度 | 5 | CC BY 4.0,无需申请,公开清单可下载 |
| 访问层可复现性 | 3 | 无官方划分、无基线、无预处理脚本 |
| 访问层许可清晰度 | 4 | 影像与表格均为 CC BY 4.0,另附强制引用要求 |
八项平均四点零分。得分最高的是层级一致性与开放程度,这两项在超声影像集合里并不常见;得分最低的是可复现性,这一点对任何临床留存型数据都成立。
§7.2 已知局限逐条
规模不是瓶颈,标注是。 一百二十例在分类任务上属中小规模,但真正的限制是没有任何空间标注。规模可以靠交叉验证缓解,标注缺口无法靠统计手段弥补。
参考标准的异质性是既定事实。 病理与增强断面影像并用,且未标注各自比例。做严格标签实验时需要自行区分,而这一区分在表内未必可得。
采集参数未公开。 官方强调增益、动态范围、聚焦位置与深度由技师按图像质量优化,这句话既是说明也是免责:参数没有统一,也没有随数据发布。跨病例比较强度时需要格外小心。
操作者与设备高度同源。 全部检查在同一家医院完成。设备型号多样带来一定的技术异质性,但操作者习惯、造影剂方案、判读标准是同源的,跨中心泛化能力无法从本集合内部评估。
时间信息依赖采集实现。 帧时间字段是否完整、逐帧时刻是否可用,取决于设备与导出流程。部分序列可能只能得到均匀采样的近似时间轴。
仍在扩充带来的版本不确定性。 官方明确表示研究仍在进行,未来将加入容积数据、更多造影 cine-loop 与更长期的反应数据。这意味着任何引用了具体数字的研究,都需要记录版本日期;三年后的同一集合可能与今天不同。
§7.3 与同类资源的质量对照
| 维度 | 本集合 | 断面影像分割集 | 乳腺超声分类集 |
|---|---|---|---|
| 空间标注 | 无 | 有 | 多有 |
| 时间信息 | 有,且为主要信息 | 无 | 无 |
| 开放性 | 无需申请 | 多为开放 | 差异大 |
| 规模 | 一百二十例 | 常见数百例 | 常见数百至数千例 |
| 临床答案来源 | 病理与断面影像 | 病理或影像 | 活检与随访 |
| 复现便利性 | 低 | 中到高 | 中 |
这张表说明的是分工而非优劣:断面影像解决「在哪、多大」,本集合解决「血供如何变化、治疗有没有起效」。
§7.4 外部验证无法从内部获得
任何在本集合上报告的性能数字,都属于特定中心、特定设备组合、特定操作者习惯下的结果。要回答「这个模型在别处是否也成立」,只有两条路:找到另一份同模态的公开数据,或与另一家医院合作采集一批。前者目前几乎没有可比的公开资源;后者成本高、周期长。
这也是本集合最重要的方法论用途:当作别人模型的外部测试集。一个在静态超声上表现良好的模型,如果在本集合的录像上明显退化,说明它学到的是单帧纹理而非灌注行为,这个结论本身就是有价值的发现。
§7.5 失败模式的诚实清单
以下五种情形在本集合上出现频率较高,列出以便在实验设计阶段规避。
| 失败模式 | 表现 | 根因 |
|---|---|---|
| 静态分类器直接套用 | 准确率接近随机 | 输入分布完全不同,模型从未见过时相变化 |
| 绝对灰度阈值 | 阈值在一半病例上失效 | 设备增益与造影剂剂量不一致 |
| 固定帧号对齐 | 曲线峰值位置散乱 | 录像起点与注射时刻无关 |
| 按序列随机划分 | 同一例的多段录像跨训练测试 | 划分单位与样本单位不一致 |
| 把表格当逐帧标签 | 训练时报维度错误或静默丢掉时间维 | 标签粒度与输入粒度不匹配 |
第四行的根因值得展开:样本单位可以是「序列」,划分单位必须是「病例」,二者在本集合中虽多数情况一致,但一旦某个序列被切成多段录像,随机划分就会把同一例拆到两侧。
§8 版本与生态
§8.1 版本节奏
两个版本的间隔约半年,增量明显。
| 版本 | 日期 | 受试者 | 序列 | 影像 | 体积 | 变化 |
|---|---|---|---|---|---|---|
| v1 | 2021-08-04 | 75 | 75 | 1,370 | 208.04 GB | 首次公开,含第一版表格 |
| v2 | 2022-02-18 | 120 | 120 | 一千八百五十九 | 二百七十二 GB | 新增四十五名受试者与新版表格 |
v1 自身还有两个中间动作:清单在 2021 年 7 月 28 日先补入了新受试者,表格在 8 月 4 日才补上。这说明发布是一个渐进过程,最早期的使用者拿到的可能只有影像而没有参考标准。使用旧版本会得到更小的样本,且表格内容与影像不完全同步。
§8.2 它为什么存在
这件事的答案写在资助信息里。两项美国国立癌症研究所的项目分别对应「造影超声评价肝癌化疗栓塞」与「造影超声评价肝硬化等高危人群的局灶性肝病变」。也就是说,本集合不是为公开发布而专门设计的,而是两项临床研究在推进过程中积累的影像,在符合去标识与数据使用政策的条件下被整理出来。
这解释了三件事:为什么参考标准里有 TACE 反应(那是第二项研究的终点);为什么病例类型集中在需要定性与需要局部治疗的两类人(那是入组标准);为什么官方说未来还会加入更多数据(研究仍在进行)。
§8.3 它靠什么持续,为何存在
公开数据集的持续依赖三个条件:有人托管、有人出钱、有人维护。本集合三项都具备。
- 托管:TCIA 的运营由美国国立癌症研究所的项目支撑,档案库本身是一个长期存续的基础设施,不因某个课题结题而下线。
- 资助:两项基金在项目周期内提供了数据整理的经费,资助编号随数据一同公开。
- 维护:v2 的发布说明新增了受试者并更新了表格,说明档案侧仍在跟进研究进度。
第三点需要加一句限定:v2 之后官方页面没有显示新的版本。这既可能是研究进入收尾,也可能是数据整理尚未完成。官方在采集页状态栏写的是 Clinical(临床数据完整),而不是通常表示封版的 Complete,两处表述不完全一致,这一点应如实指出。
§8.4 生态位
在肝脏影像的公开资源版图里,本集合占的是一个窄而少人站的位置。
| 位置 | 代表资源 | 主要内容 |
|---|---|---|
| 解剖与形态 | 各类肝脏与肿瘤分割集 | 掩膜、体积、分段 |
| 治疗与结局 | TACE 配对、切除队列 | 前后影像与生存终点 |
| 分子与多组学 | 公共肿瘤图谱 | 基因表达与突变 |
| 灌注与功能 | 本集合 | 造影动态过程与治疗初反应 |
这个位置的价值在于不可替代性:要研究造影剂在病灶内的进出,只有这一条路径能提供患者级、带诊断答案、可自由分发的原始录像。
§8.5 被引用的方式
数据集本身有几个引用计数,量级很小。这不代表数据没用,而是说明「用这份数据做方法学研究」的门槛高、周期长。引用数少与数据质量无关,与使用成本高度相关——一份要自己重建时间轴才能用起来的数据,天然比一份拿来即训的数据更难被写成论文的对照实验。
§9 使用指引
§9.1 三种角色的路径
| 角色 | 第一步 | 第二步 | 不建议做的事 |
|---|---|---|---|
| 影像研究者 | 下载若干序列,跑通解码与曲线提取 | 用小样本验证时相零点检测的稳定性 | 直接套用断面影像的增强流程 |
| 算法工程师 | 先做病例级分类的基线 | 再引入时间维模块对比增益 | 为追求速度把录像降成单帧 |
| 临床与转化研究 | 核对参考标准表的口径 | 明确病理与影像两类依据的分布 | 把初反应当成总生存终点 |
§9.2 一种最小可用的实验设计
在有完整答案的前提下,最省事的起点是病例级二分类:把「是否为恶性」作为目标,把一段录像降维成一个特征向量。降维的合理做法不是抽单帧,而是把相对强度曲线按生理零点对齐后插值到固定长度,再拼上若干静态帧的空间统计量。
| 步骤 | 输入 | 输出 | 检查点 |
|---|---|---|---|
| 一 | 全部多帧对象 | 录像清单 | 多帧对象数与官方段数是否量级相符 |
| 二 | 录像与时间轴 | 生理零点 | 零点落在录像前段而非末段 |
| 三 | 病灶与参考区 | 相对强度曲线 | 曲线有明确的上升与下降 |
| 四 | 曲线 | 定长向量 | 对齐后峰值位置集中 |
| 五 | 定长向量与标签 | 分类结果 | 按病例交叉验证 |
§9.3 在 AI 流程中的位置
在一条完整的医学影像 AI 流程里,本集合通常扮演两个角色之一:预训练阶段的模态补充,或外部验证阶段的压力测试。前者用它让模型见过造影这种输入形态,后者用它检验在静态数据上表现良好的模型是否真的理解了灌注。两个角色都不要求它提供官方划分,因为它本来就不提供。
§9.4 引用与合规的最低要求
使用前先读 TCIA 的数据使用政策,再按官方给出的格式引用,必须包含数据 DOI。许可为 CC BY 4.0,可商用、可再分发,但需署名并保留许可声明;去标识不等于可以尝试再识别。
§10 AI 使用声明
| 项目 | 内容 |
|---|---|
| 数据性质 | 临床检查影像留存,非基准数据集 |
| 推荐用途 | 动态建模、造影定量、病例级定性、治疗反应预测、外部验证 |
| 不建议用途 | 逐帧分割训练、患病率估计、临床诊断替代 |
| 伦理边界 | 禁止再识别;用于临床决策前必须前瞻性验证 |
| 引用要求 | 必须引用数据 DOI 与 TCIA 政策 |
| 版本状态 | v2(2022-02-18),官方称仍在扩充 |
| 许可 | CC BY 4.0 |
| 声明性质 | 由千方医数集编辑整理,不代表发布方立场 |
常见误读
| 常见说法 | 实际情况 | 证据 |
|---|---|---|
| 这是一份超声分割数据集 | 没有任何空间标注,全部标注为病例级 | 官方采集页与知识库页均无掩膜说明 |
| 一千八百五十九段就是一千八百五十九张图 | 段是 DICOM 实例,录像一段含多帧 | 官方 modal 标为 US,含多帧对象 |
| 一例一个序列,所以样本数等于序列数 | 序列内混有静态帧与录像,样本切分需自行完成 | 官方说明静态图与 cine-loop 分别保存 |
| 参考标准都是病理 | 病理与增强断面影像并用,官方未给比例 | 「或」字并列的两类来源 |
| 可以按帧号直接对齐不同病例 | 录像起点与注射时刻无关 | 官方未提供与注射时刻的同步信息 |
| 体积就是两百五十三 GB | 采集页为两百七十二 GB,知识库为两百五十三 GB | 两处页面数字不同 |
| 数据已经封版 | 官方称研究仍在进行,状态写 Clinical 而非 Complete | 状态栏与摘要段落 |
| 既然是开放数据就可以任意再分发子集 | 需遵守 TCIA 政策并保留引用 | 数据使用政策 |
| 灰度可以直接跨病例比较 | 增益与造影剂剂量均未标准化 | 官方说明参数由技师优化 |
| 病例来自普通门诊人群 | 来自两项临床试验的入组人群 | 资助项目标题与入组目标 |
FAQ
Q1:这个集合到底有多少张图?
官方计数为一千八百五十九段影像,这里的段指 DICOM 实例。由于造影录像在 DICOM 中以多帧对象保存,实际解出的图像帧数远多于此,具体取决于每段录像的帧数,官方未公布帧数总和。
Q2:为什么没有掩膜?
集合的构建目的不是分割教学,而是保留临床检查的原始形态与诊断答案。官方提到分割算法可能有兴趣,但并未提供标注,说明这一诉求由使用者自行承担。
Q3:能不能只用 B 模式静态图做分类?
可以,但会丢掉本集合独有的信息。静态图与断面影像的差异不大,用它训练的分类器与任何灰阶超声数据集上的模型同质,本集合的价值主要不在这一部分。
Q4:造影时相怎么切?
官方未给出统一方案。可行做法是从录像中检测造影剂到达时刻作为生理零点,再按注射后的相对时间划出动脉期、门脉期与延迟期。窗口边界是临床惯例,不是本集合的规定。
Q5:TACE 反应列能不能和二分类标签合并?
可以合并成「有反应/无反应」,但需知道合并前的三类依据口径不同。若要做严格的疗效分级,应先区分依据来源。
Q6:为什么体积有两个数字?
采集页的数值是打包口径,知识库的数值是影像本体口径。规划存储时用较大的那个更稳妥。
Q7:数据会不会更新?
官方明确表示研究仍在进行,预期未来会加入容积数据、更多造影 cine-loop 与更长期的反应数据。引用具体数字时应注明版本日期。
Q8:能不能拿它训练视频模型?
可以,这是它最自然的用途。需要注意帧率不一、时长不一、时相起点不一三个问题,先做时间归一再进模型。
Q9:它和 LiTS-Liver 是同一类东西吗?
不是。器官相同、模态不同、任务不同。前者研究灌注与治疗反应,后者研究分割。二者可以互为对照,但不能互换。
Q10:许可上有什么需要注意的?
CC BY 4.0 允许商用与再分发,前提是署名并保留许可声明,同时遵守 TCIA 数据使用政策中的引用与禁止再识别条款。
Q11:单中心会带来多大偏差?
无法从集合内部量化。可以确定的是操作者习惯、造影剂方案与判读标准同源;跨中心表现必须用外部数据检验。
Q12:适合入门者练手吗?
适合练数据工程,不适合当第一个建模项目。时间轴重建与曲线提取是必要前置,入门者容易在预处理阶段耗尽耐心。
术语表
| 术语 | 含义 |
|---|---|
| B 模式 | 灰阶超声成像,以回波强度映射为亮度 |
| CEUS | 超声造影,以微泡造影剂增强血流显像 |
| cine-loop | 连续录制的动态影像段,本集合的主要数据形态 |
| 微泡 | 超声造影剂中的气泡,留在血池内振荡产生强回波 |
| 机械指数 | 描述超声脉冲空化潜力的指标,造影成像需很低 |
| 动脉期 | 造影剂经动脉到达病灶后的高增强阶段 |
| 门脉期 | 门静脉供血使周围肝实质变亮的阶段 |
| 延迟期 | 造影剂逐渐消退的后期阶段 |
| 廓清 | 病灶增强程度相对周围实质下降的现象 |
| 高增强 | 病灶亮度高于周围肝实质 |
| 时相 | 造影过程中按时间划分的观察阶段 |
| 相对强度 | 病灶与参考区均值之差的归一化量 |
| 生理零点 | 以造影剂到达时刻定义的时间原点 |
| 参考标准 | 判定病例真实诊断的依据,如病理或断面影像 |
| 组织病理 | 以穿刺或手术标本作出的显微镜级诊断 |
| 断面影像 | CT 与 MRI 一类可重建断层的影像 |
| 局部区域治疗 | 针对肝脏病灶的局部介入治疗,含栓塞与消融 |
| TACE | 经导管动脉化疗栓塞 |
| 初反应 | 治疗结束后的第一次疗效判定 |
| 再治疗 | 因疗效不足而进行的第二次介入治疗 |
| 血管造影 | 以导管注入对比剂显示血管的检查 |
| 曲线下面积 | 造影时间强度曲线在观察窗内的积分,反映总灌注 |
| 达峰时间 | 曲线从零上升到峰值所需时间 |
| 廓清斜率 | 曲线从峰值下降的速度 |
| 多帧对象 | DICOM 中把多帧保存在同一实例内的组织方式 |
| 帧间隔 | 相邻两帧之间固定的时间差 |
| 逐帧时间偏移 | 为每一帧单独记录的时间位置 |
| 去标识 | 移除可直接识别个体的信息 |
| 域外验证 | 在训练数据分布之外的数据上检验模型 |
附录 A 速查卡
| 项目 | 值 |
|---|---|
| 官方名称 | B-mode-and-CEUS-Liver: Ultrasound data of a variety of liver masses |
| 数据 DOI | 10.7937/TCIA.2021.v4z7-tc39 |
| 发布方 | 托马斯杰斐逊大学放射科 |
| 托管 | The Cancer Imaging Archive |
| 版本 | v2,2022-02-18 |
| 规模 | 120 / 120 / 120 / 一千八百五十九 |
| 体积 | 二百七十二 GB(影像)+ 24 KB(表格) |
| 许可 | CC BY 4.0 |
| 主键 | 病例号 |
| 参考标准 | 病理、增强断面影像、TACE 初反应 |
| 标注粒度 | 病例级 |
| 时间信息 | 仅存在于造影 cine-loop 中 |
附录 B 文件清单
| 文件 | 格式 | 体积 | 说明 |
|---|---|---|---|
| 影像包清单 | .tcia |
很小 | 指向全部 DICOM,需专用下载工具 |
| 参考标准表 | XLSX | 二十四 KB | 诊断、依据来源、TACE 初反应 |
| DICOM 影像 | DICOM | 二百七十二 GB | 静态图与多帧录像混放 |
| 归档清单 | XLSX | 很小 | 逐文件的元数据摘要,便于检索 |
附录 C 外部资源对照
| 资源 | 用途 |
|---|---|
| TCIA 采集页 | 版本、规模、许可的权威出处 |
| TCIA 知识库详细页 | 图像统计与版本历史 |
| 影像数据共享平台检索入口 | 按条件筛选与部分下载 |
| 数据使用政策页 | 引用与使用限制 |
| 数据引用 DOI 解析页 | 规范化引用 |
附录 D 版本对照
| 项目 | v1 | v2 |
|---|---|---|
| 发布日期 | 2021-08-04 | 2022-02-18 |
| 受试者 | 75 | 120 |
| 序列 | 75 | 120 |
| 影像段 | 1,370 | 1,859 |
| 体积 | 二百零八 GB | 二百七十二 GB |
| 表格体积 | 十九 KB | 二十四 KB |
| 新增内容 | 首版 | 四十五名受试者 |
附录 E 三处口径差异登记
| 项目 | 出处一 | 出处二 | 处理 |
|---|---|---|---|
| 影像体积 | 采集页二百七十二 GB | 知识库二百五十三 GB | 正文两处并列,规划取较大值 |
| 模态标注 | 采集页 US | 知识库 US(B-Mode) | 以官方摘要段落为准,含造影 cine-loop |
| 数据集状态 | 状态栏 Clinical | 摘要称研究仍在进行 | 正文并陈,不判定为封版 |
编辑说明
核验时间:2026-10-29。核验方式:通过网页抓取工具读取 TCIA 采集页与知识库详细页的正文与数据存取表格,并以公开检索结果交叉核对资助编号与版本历史。沙箱环境的命令行出网白名单不包含档案库域名,因此未做直连抓取与后端接口调用。
未覆盖内容:参考标准表的实际列名与逐行内容未逐格核验,正文中涉及表格结构的描述均以官方文字说明为据;造影帧总数、帧率分布、设备型号清单未在官方页面公布,文中未作估计;官方给出的影像段数按 DICOM 实例口径理解,这一理解与多帧对象的通用组织方式一致,但未在官方文档中逐字确认。
本页只收录规模、结构与边界三类数字,不含任何分布类统计。凡涉及判读机制(时相划分、廓清判据、显影剂行为)的陈述来自公开的临床影像学文献,用于解释数据形态,不代表官方立场。
免责:本页为数据集词条,不构成医学建议。任何基于本集合训练的模型在用于临床前,须经独立的前瞻性验证与监管审查。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- ercpmp-gx — 共享标签:医学影像 / 图像分类 / 肿瘤学 / 评测基准
- derm12345 — 共享标签:医学影像 / 图像分类 / 肿瘤学 / 评测基准
- oasbud — 共享标签:医学影像 / 图像分类 / 肿瘤学 / 评测基准
- rare25 — 共享标签:医学影像 / 图像分类 / 肿瘤学 / 评测基准
- gastrohun — 共享标签:医学影像 / 图像分类 / 肿瘤学 / 评测基准
- echorisk — 共享标签:医学影像 / 图像分类 / 肿瘤学 / 评测基准
- camelyon17 — 共享标签:医学影像 / 图像分类 / 肿瘤学 / 评测基准
- unitopatho — 共享标签:医学影像 / 图像分类 / 肿瘤学 / 评测基准
- mendeley-lbc — 共享标签:医学影像 / 图像分类 / 肿瘤学 / 评测基准
- all-idb — 共享标签:医学影像 / 图像分类 / 肿瘤学 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

