OpenTME — TCGA H&E 切片的 AI 肿瘤微环境特征集

Aignostics 用 Atlas H&E-TME 把 TCGA 的 4,696 张 H&E 全切片压成每张 4,500+ 列结构化的 TME 特征表:7 类组织/9 类细胞/20µm 与 40µm 邻域共现,机构邮箱申请、禁用于 AI 训练、禁再分发

来源 TCGA(NCI Genomic Data Commons)H&E 染色 FFPE 诊断切片经 Atlas H&E-TME 四段式流水线派生的 slide 级 CSV 特征表与覆盖层缩略图,不含原始影像发布时间: 2026-10-17最后更新: 2026-10-20 阅读 18
OpenTME — TCGA H&E 切片的 AI 肿瘤微环境特征集

信息速览

数据集名称OpenTME — TCGA H&E 切片的 AI 肿瘤微环境特征集
数据类型合成/派生数据,影像数据,结构化表格
规模4,696 张 H&E 全切片(2026-07 版,8 癌种 / 8 个 TCGA 项目;论文 v1 口径为 5 癌种 3,634 张、3,424 例);病例数未逐癌种复算
接入方式TCGA(NCI Genomic Data Commons)H&E 染色 FFPE 诊断切片经 Atlas H&E-TME 四段式流水线派生的 slide 级 CSV 特征表与覆盖层缩略图,不含原始影像
AI 就绪度

INFOBOX — OpenTME 一屏速览

维度 内容
本质 AI 派生特征集(derived features),不是影像库,更不是 TCGA 的替代品——是 TCGA 的下游加工产物
出品方 Aignostics(德国柏林,Commercial);Atlas 基础模型由 Aignostics+Mayo Clinic+Charité+LMU Munich 共建
生成器 Atlas H&E-TME —— 四段式:组织质检 → 组织分割(7 类)→ 细胞检测分类(9 类)→ 邻域分析
规模(当前) 4,696 张 H&E WSI,8 癌种,8 个 TCGA 项目;仓库 6.89 GB
规模(论文 v1) 3,634 张,5 癌种(膀胱/乳腺/结直肠/肝/肺),3,424 例
每张产出 >4,500 列定量读数(论文口径)
格式 CSV(每癌种 5 张,均带 _RUO 后缀)+ PNG 覆盖层缩略图(每张 6 类)
粒度 slide 级聚合;不含细胞坐标与 polygon(需另申 Research Access Program)
获取 HuggingFace 门控(gated=manual),机构邮箱注册 + Aignostics 酌情批准
许可 非商业学术|RUO|禁止 AI 训练|禁止再分发|署名|叠加 TCGA 政策
论文 arXiv:2604.12075v1(2026-04-13,cs.CV),CC BY-NC-ND 4.0
配套工具 TME Studio(GitHub aignostics/tme-studio,MIT,marimo notebooks)
库内互链 TCGA(rid 566)、TCGA-Legacy(rid 25)、TIGER(rid 26)、PanNuke(rid 218)、PANDA(rid 560)

OpenTME 是一个容易被误读的数据集。它的名字里有「Open」,它的名字里也有「TME」,而它最容易被当成的东西——「一个开放的肿瘤微环境影像库」——恰恰是它最不是的东西。它里面没有一张原始切片,没有像素,没有细胞坐标。它里面是一张张 Excel 意义上的表:一行对应一张 TCGA 全切片,四千多列对应「这张切片里有多少个淋巴细胞、它们距离癌细胞多近、间质占了多少面积、有没有成熟的第三级淋巴结构」。

换句话说,OpenTME 把「看图」这件事一次性做完了。它替你把 4,696 张 gigapixel 级的 H&E 图像送进一套商业级 AI 病理流水线,把每个像素归类成组织类型、把每个细胞核归类成细胞类型、把每种细胞对的空间关系量化成邻域统计,然后只把结论交给你。你付出的是「不能自己重新算」的代价,换回的是「一行 pandas 就能开始分析」的速度。

导语读法三则:

  1. 只想要数据:直奔 §6 获取与许可,再读坑点 1(把派生当原始)。申请表格很短,但机构邮箱与「禁止 AI 训练」两条会卡住不少人。
  2. 想做多组学关联:直奔 §3 特征字典与 §5,那里讲清楚了「哪一列能接上 TCGA 的哪个字段」,以及 case 级对齐为什么是整个流程里最容易出错的一步。
  3. 想评这个数据能不能信:直奔 §9 局限与 §10 坑点——论文没有公开逐类分割/分类指标,这一点必须自己心里有数。

§0 导读:这个数据集解决什么问题

0.1 一个被反复撞到的墙

肿瘤微环境(Tumor Microenvironment, TME)——癌细胞、免疫细胞、成纤维细胞、血管与坏死区,以及它们之间的空间排布——是决定肿瘤侵袭、转移与治疗反应的核心变量之一。H&E(苏木精-伊红)染色是病理科最廉价、最普及、存量最大的制片方式,全切片数字化(Whole-Slide Imaging, WSI)又让它天然适合计算分析。

问题出在中间那一步。要把一张 H&E 切片变成「可统计的 TME 描述」,需要一条完整的 AI 流水线:组织质检、组织分割、细胞检测、细胞分类、邻域统计,每一环都要训练好的模型、病理学家的标注、以及跑得动 gigapixel 图像的算力。对一家有病理 AI 团队的公司,这是常规作业;对一个想研究「乳腺癌间质比例与预后关系」的临床研究者,这几乎是一道过不去的门槛——要么自己搭流水线(能力门槛),要么外包(成本门槛),要么退回手工计数(规模门槛)。

Aignostics 在论文里的措辞很直白:即使深度学习方法已经成熟,「在队列尺度上应用这类方法仍然需要大量计算基础设施、领域专业知识与细致的质量控制」,结果就是「大多数本可以从定量 TME 特征中获益的研究者,面临着一道入门壁垒」。

0.2 OpenTME 的三层回答

OpenTME 的回答不是「开放一套模型」,而是「开放一次计算的结果」。三层:

第一层,把计算做完。 Aignostics 用自家商用的 Atlas H&E-TME 应用,对 TCGA 里所有符合条件的 H&E 诊断切片跑了一遍完整流水线。论文 v1 覆盖 5 个癌种 3,634 张;到 2026 年 7 月的仓库版本已扩到 8 个癌种 4,696 张。每张切片产出超过 4,500 列定量读数。

第二层,把接口做简单。 输出是纯 CSV,每个癌种五张表,字段名直白到 CELL_DENSITY_LYMPHOCYTE_STROMA 这种程度。用户不需要懂深度学习,只需要会 pandas.read_csv。同时每张切片配六张覆盖层缩略图(原图、组织质检、组织分割、细胞分类、全肿瘤区域、三级淋巴结构),让人能用眼睛抽查 AI 判得对不对。

第三层,把下游接上。 表格里保留了 TCGA_FILE_NAME、TCGA_SLIDE_UUID、TCGA_CASE_ID、TCGA_PROJECT_ID 四个键。这意味着每行特征都能挂回 TCGA 的基因组、转录组、蛋白组与临床数据——这也是 OpenTME 相对「自家跑一遍」的最大增值:你不用自己解决「这张切片属于哪个病人」的对齐问题。

0.3 为什么必须强调「下游产物」

这是本条目最想让人记住的一句话:OpenTME 是 TCGA 的下游加工产物,不是 TCGA 的替代品。

理由有三条,缺一条都会导致误用:

  • 信息量单向递减。 从像素到细胞到组织到邻域统计,每一步都在聚合、都在丢信息。你拿到的是聚合后的读数,原始像素、细胞轮廓、空间坐标全都留在 Aignostics 那边。想反推?不可能。
  • 权利链叠加。 OpenTME 的许可叠加在 TCGA 的许可之上。TCGA 本身的开放数据政策(受试者去标识、不得重新识别)依然有效,OpenTME 又在此之上加了「非商业」「禁 AI 训练」「禁再分发」三条。
  • 误差归属。 表里的每个数字都是模型的判断,不是病理学家的判断。Atlas H&E-TME 在验证集上表现如何,OpenTME 论文没有给出逐类指标。你引用的每一个「巨噬细胞密度」,都继承了模型的系统性偏差。

理解了这三点,后面的所有读法才站得住。

0.4 与相邻资源的定位

资源 提供什么 OpenTME 的关系
TCGA / GDC 原始 WSI + 多组学 + 临床 上游。OpenTME 的影像与分子注释全部来自这里
TIGER / Saltz TIL maps TCGA 乳腺癌等切片的 TIL 空间图 方法学前身。只做淋巴细胞单一细胞类型、patch 级;OpenTME 做到 9 类细胞 + 邻域
PanNuke / HoVer-Net / CellViT 细胞核分割与分类的模型与基准 方法学邻居。开源工具链,但需要自己跑
Atlas H&E-TME(商用) 同一套流水线,收你的切片 同源商业品。OpenTME 是它的学术开放版产出

§1 数据集速览:十二问十二答

Q1:OpenTME 到底是影像数据集还是表格数据集?
表格。仓库里 40 个 CSV 是主体,28,156 个 PNG 只是覆盖层缩略图(每张切片 6 类),没有任何 .svs / .tiff 原始切片。HF 的 modality: image 标签与 format: imagefolder 只是平台分类习惯,不要据此以为里面有图。

Q2:一共多少张切片?
两个口径并存。论文 v1(2026-04-13)是 3,634 张 / 5 癌种;当前 HuggingFace 仓库(2026-09-25 最后提交)实测目录为 4,696 张 / 8 癌种。引用时必须写清是哪个版本。

Q3:8 个癌种是哪 8 个?
膀胱(TCGA-BLCA)、乳腺(BRCA)、结直肠(COAD+READ)、肝与胆道(LIHC+CHOL)、肺(LUAD+LUSC)、胰腺(PAAD)、前列腺(PRAD)、胃(STAD)。后三个是 2026-07 版新增。

Q4:每张切片有多少列?
论文与数据集卡都说「>4,500」。精确列数写在 settings/tme_features.yaml 与 OpenTME_User_Guide.pdf 里,但这两个文件都在门控之后——未公开。

Q5:表里的行是什么?
一行一张切片(以 TCGA_SLIDE_UUID 为键)。不是一行一个细胞,也不是一行一个病人。

Q6:能不能拿到细胞坐标?
不能,默认不给。想拿 .geojson 多边形或细胞坐标,得单独走 Research Access Program 申请,由 Aignostics 评审。

Q7:怎么申请?
HuggingFace 上该数据集是 gated(gated: manual)。点同意条款、填一段简短表单、用机构邮箱注册账号,然后由 Aignostics 酌情批准。个人账号批下来后不能转让给同事。

Q8:是免费的吗?
学术研究免费。商业用途明文禁止——「未经 Aignostics 事先书面同意,任何商业用途均被禁止」。商业路径走 Atlas H&E-TME for Life Sciences 商务通道。

Q9:能用来训练病理大模型吗?
不能,这是最硬的一条。许可原文禁止:训练旨在复刻或近似 Atlas H&E-TME 分析能力的模型、生成训练标签/伪标签/任何监督信号、为任何基础模型或通用病理模型提供训练数据。这条限制的边界(比如「用它做特征选择算不算训练」)许可没有细说,实操中要按最保守理解。

Q10:能发论文吗?
能,而且被鼓励,但要署名。数据集卡有 Citation / Attribution Requirement 一节,论文也有致谢模板(须声明数据来自 TCGA Research Network)。

Q11:和 TCGA 什么关系?
纯下游。影像来自 GDC,分子/临床注释来自 TCGA,OpenTME 只贡献「AI 派生的影像侧特征」这一层。要分子就回 TCGA,要像素就回 GDC。

Q12:有配套代码吗?
有。aignostics/tme-studio(MIT 许可,GitHub),一套 marimo notebook,包含数据加载、过滤、免疫浸润分类、Kaplan–Meier 生存分析等示例,还有 molab 在线演示。

§2 数据构成与规格

2.1 两个口径:论文冻结版 vs 仓库滚动版

OpenTME 是「活数据集」(living resource),这一点论文自己写明:「我们视 OpenTME 为一个持续演进的资源……未来的发布将扩展癌种覆盖、引入更细粒度与更广泛的读数,并纳入 Atlas 基础模型族与 Atlas H&E-TME 应用的更新改进。」

正因为如此,任何引用都必须先声明版本。下表把两个可查证的口径并列:

维度 论文 v1 口径(arXiv 2604.12075,2026-04-13) 仓库实测口径(HF API,2026-10-17 抓取)
癌种数 5(膀胱/乳腺/结直肠/肝/肺) 8(+胰腺/前列腺/胃)
TCGA 项目数 8 11(项目命名见 2.2)
切片数 3,634 4,696
病例数 3,424 未逐癌种复算
每张读数 >4,500 未逐张复算(字段定义未变)
仓库体积 — 6,885,779,956 B ≈ 6.89 GB(6.4 GiB)
文件总数 — 28,204
数据集卡标注 — 「July 2026 Release」

论文 v1 的那张表值得完整抄下来,因为它是这个数据集唯一经过同行可见的、带挑选逻辑的账:

癌种 TCGA 项目 病例数 切片数 最终切片数
膀胱 TCGA-BLCA 386 457 457
乳腺 TCGA-BRCA 1,062 1,133 1,125
结直肠 TCGA-COAD 451 459 442
结直肠 TCGA-READ 165 166 158
肝 TCGA-LIHC 365 379 372
肝 TCGA-CHOL 39 39 39
肺 TCGA-LUAD 478 541 529
肺 TCGA-LUSC 478 512 512
合计 8 项目 3,424 3,686 3,634

注:结直肠与肝两行的癌种合计由本条目按两项目相加得出(442+158=600;372+39=411),原论文表仅按项目分行、未给癌种小计。这两个数恰好与仓库实测的 colorectal_cancer 600、liver_cancer 411 完全一致——说明这两个癌种的切片集自 v1 起未变动。

2.2 仓库实测:八个癌种目录的逐项核对

以下是直接解析 HuggingFace datasets/Aignostics/OpenTME API 返回的 28,204 个文件名得到的结果(2026-10-17),不是引自任何二手页:

目录名 覆盖版缩略图的切片数 CSV 数 对应 TCGA 项目
bladder_cancer 457 5 TCGA-BLCA
breast_cancer 1,126 5 TCGA-BRCA
colorectal_cancer 600 5 TCGA-COAD + READ
liver_cancer 411 5 TCGA-LIHC + CHOL
lung_cancer 1,043 5 TCGA-LUAD + LUSC
pancreatic_cancer 210 5 TCGA-PAAD
prostate_cancer 449 5 TCGA-PRAD
stomach_cancer 400 5 TCGA-STAD
合计 4,696 40 8 项目 × 部分多项目合并

与数据集卡「July 2026 Release」表的差异(详见 §12 存照):

癌种 数据卡表 仓库实测 差
乳腺 1,125 1,126 +1
肺 1,041 1,043 +2
结直肠 600 600 0
肝 411 411 0
膀胱 457 457 0
胰腺 209 210 +1
前列腺 448 449 +1
胃 400 400 0

五个癌种各多出 1 张、肺多出 2 张。看形态像是「数据卡表格手工统计时漏行」,而非「仓库多了切片」——但本条目无法进入门控确认逐行 CSV,因此双列存储、不裁决。使用时建议以仓库目录为准(它是可复现的),以数据卡为准引用「官方宣称」。

2.3 文件构成:40 张 CSV + 28,156 张 PNG

仓库的文件类型分布(实测):

扩展名 数量 说明
.png 28,156 覆盖层缩略图
.csv 40 特征表(8 癌种 × 5 张)
.pdf 1 OpenTME_User_Guide.pdf
.md 2 README.md、CHANGELOG.md
.yaml 2 settings/model_variables.yaml、settings/tme_features.yaml
其他 3 .gitattributes 与两个 macOS .DS_Store

每个癌种目录下的五张 CSV 命名有严格规律(以膀胱为例):

data/bladder_cancer/tme_features_bladder_cancer_RUO.csv
data/bladder_cancer/whole_tumor_region_cell_features_bladder_cancer_RUO.csv
data/bladder_cancer/whole_tumor_region_tissue_features_bladder_cancer_RUO.csv
data/bladder_cancer/whole_tumor_region_neighborhood_features_bladder_cancer_RUO.csv
data/bladder_cancer/tertiary_lymphoid_structures_tls_features_bladder_cancer_RUO.csv

三点说明:

  1. _RUO 后缀不是可有可无的。 RUO 即 Research Use Only(仅限研究用途)。它出现在每个文件名里,是许可条款在文件层面的落地——即使文件被单独拷出目录,后缀本身就在提示「这不是诊断级数据」。
  2. tme_features 是主表。 其余四张分别对应全肿瘤区域(WTR)的细胞层、组织层、邻域层,以及三级淋巴结构(TLS)层。主表回答「这张切片整体长什么样」,WTR 表回答「肿瘤核心与浸润边缘分别长什么样」,TLS 表回答「有没有、有几种成熟度的淋巴结构」。
  3. 缩略图漏帧。 六类覆盖图中,wsi.png 与 tissue_qc.png 各 4,694 张,tissue_segmentation.png 与 cell_classification.png 各 4,693 张,whole_tumor_region.png 与 tertiary_lymphoid_structures.png 各 4,691 张。相对 4,696 的总数,每类缺 2-5 张——个别切片未能生成某些视图,属正常工程瑕疵,不影响 CSV 特征。

2.4 重建流程:3,686 → 3,634 的减法

论文交代了切片如何从 TCGA 到达 OpenTME:

  1. 来源:通过美国国家癌症研究所基因组数据共享平台(NCI Genomic Data Commons, GDC)取回五个癌种对应的 TCGA 项目的全部诊断级 FFPE 切片。注意是「全部诊断级切片」而非「每例一张」——一个病例可能有多张切片,所以切片数(3,686)远大于病例数(3,424)。
  2. 初筛:得到 3,686 张候选。
  3. 剔除 52 张,理由分三类:
    • 49 张:缺少分辨率元数据(mpp)或文件损坏;
    • 2 张:非 H&E(1 张免疫组化 IHC,1 张 Masson 三色染色);
    • 1 张:整片失焦(out-of-focus),未通过质检。
  4. 最终 3,634 张。

这张减法表信息量很大。49 张「缺 mpp 或损坏」暴露了 TCGA 影像侧的一个老问题:不同机构、不同扫描仪留下的元数据质量参差不齐,而病理 AI 流水线必须知道每像素多少微米(mpp)才能把像素面积换算成 µm²、把邻域半径设成 20/40 µm。缺了 mpp,整张切片的空间统计就失去物理意义,只能弃用。「2 张非 H&E」则是 TCGA 诊断切片集合里混入其他染色的常见现象——不做显微确认就直接批量跑,会得到毫无意义的组织分类。

2.5 一个必须澄清的误解:「4,500 列」不是 4,500 个独立生物变量

论文说每张切片「>4,500 定量读数」,听起来是一个非常宽的数据矩阵。但要理解它的构成:这 4,500 列里有大量是笛卡尔积。

举个具体的组合逻辑(来自论文附录 B 的字段定义):

  • 组织层:ABSOLUTE_AREA、RELATIVE_AREA 等字段 × 7 种组织类型 + 4 种质检区域 → 数十列
  • 细胞层:CELL_COUNT、CELL_PERCENTAGE、CELL_DENSITY 等 × 9 种细胞类型 → 数十列
  • 细胞×组织交叉:CELL_COUNT_<细胞>_<组织>、CELL_PERCENTAGE_<细胞>_<组织>、CELL_DENSITY_<细胞>_<组织> × 9 细胞 × 5 组织(血与坏死被排除)→ 三位数
  • 邻域层:NUMBER_OF_<B>_AROUND_<A>_IN_<组织>_<20|40> 等 × 9 细胞 A × 9 细胞 B × 5 组织 × 2 阈值 → 四位数

也就是说,4,500 列的「信息维度」远小于 4,500。真正独立的自由度大致是「9 类细胞 × 5-7 类组织的空间分布与共现」,撑死几百个。做统计建模时,如果直接把这 4,500 列丢进一个 LASSO 或随机森林而不做共线性筛查,模型会立刻被高度相关字段淹没。

这一点论文没有明说,但它是使用者最早会撞上的墙——本条目在坑点 5 里单独展开。

2.6 与 TCGA 的四个键:对齐是怎么做的

OpenTME 表里有四个 TCGA 字段(论文附录 B 表 5):

字段 含义 用途
TCGA_FILE_NAME 按 TCGA(GDC 门户)口径的切片文件名 与 GDC 的 file_name 直接匹配
TCGA_SLIDE_UUID 按 TCGA(GDC 门户)口径的切片 UUID 与 GDC 的 file_id / submitter_id 匹配,最稳的主键
TCGA_CASE_ID 按 TCGA(GDC 门户)口径的病例 ID 与临床/分子数据 join 的桥梁
TCGA_PROJECT_ID TCGA 项目 ID 分组、分癌种统计

此外还有 INDICATION(癌种)与 IMAGE_RESOLUTION(mpp)。

对齐的关键在 TCGA_CASE_ID,风险也在它。 TCGA 的病例 ID 形如 TCGA-XX-XXXX,而分子数据(如 RNA-seq 表达矩阵)与临床数据的键并不总是同一个——表达矩阵常用 aliquot/sample barcode(TCGA-XX-XXXX-01A-...),临床表常用 bcr_patient_barcode。两者都能截取到 case 级,但截取规则一旦写错(例如把 -01A 的 01 当成了癌种代码的一部分),就会静默产生大量 unmatched 行。这是任何 TCGA 二次分析的通病,不是 OpenTME 独有,但 OpenTME 让这个问题变得更「隐蔽」——因为表看起来太干净了。

2.7 缩略图覆盖层:为什么它比看起来重要

每张切片配六类 PNG:

视图 内容 用途
wsi 原图缩略 肉眼确认是 H&E、有组织
tissue_qc 有效组织/失焦/伪影/笔迹标记 判断这张切片值不值得用
tissue_segmentation 七类组织着色 检查癌/间质/坏死分割是否合理
cell_classification 九类细胞着色 检查免疫细胞是否被漏检
whole_tumor_region 肿瘤核心/内外浸润边缘/瘤外 检查 WTR 分区
tertiary_lymphoid_structures 成熟/未成熟/TLS 无 检查 TLS 判定

这六张图是唯一的质控抓手。因为拿不到细胞坐标、拿不到概率图,你无法定量地知道模型在哪张切片上出错了;你只能看缩略图定性地判断。一个务实的工作流是:先用 tissue_qc 过滤掉大面积失焦/伪影的切片,再用 cell_classification 抽查几张已知应富含免疫浸润的切片(如淋巴结转移阳性病例),确认着色密度与直觉相符,然后才开始正式统计。跳过这一步,等于完全信任一组未公开指标的模型。

§3 特征字典:四段式流水线如何变成一张表

3.1 生成器:Atlas H&E-TME 的来路

理解字段之前,得先理解生产字段的机器。

Atlas H&E-TME 是 Aignostics 的商业化病理应用,建立在 Atlas 家族病理基础模型之上。这个家族由 Aignostics 与 Charité(柏林夏里特医学院)、LMU Munich(慕尼黑大学)、Mayo Clinic(梅奥诊所)四方共建。主干是视觉 Transformer(ViT),用 DINO 系自监督学习在大规模、多样的组织病理数据上预训练;任务头则是在病理学家参与的标注上做有监督微调得到。

Atlas 家族的演化脉络(论文参考文献):

版本 论文 年份
RudolfV arXiv:2401.04079,「A Foundation Model by Pathologists for Pathologists」 2024
Atlas arXiv:2501.05409,Mayo Clinic + Charité + Aignostics 2025
Atlas 2 arXiv:2601.05148,「Foundation models for clinical deployment」 2026

TME Studio 的 README 里直呼自家为「a leading pathology foundation model」,这个词带宣传色彩,但四方共建的组织结构是可以核实的。对使用者而言,重要的是闭源:你能拿到 Atlas H&E-TME 的输出,但拿不到模型权重,也无法在自己的切片上重跑(除非走 Research Access Program 或商业通道)。

3.2 第一段:组织质检(Tissue QC)

做什么:把整张切片按像素分成四类区域,确保只有足够质量的组织进入下游。

类别 英文 定义(论文附录 A 表 2)
有效组织 Valid Tissue 保存完好、可清晰辨认的组织,适合下游分析。后续所有步骤只处理这一类区域
失焦 Out-of-Focus 因成像问题导致的模糊或不清区域
组织伪影 Tissue Artifact 因染色、处理或技术失误导致的变形或改变的组织
笔迹标记 Marker 病理医生用笔在玻片上画的物理标记

怎么做的:质检模型在 ViT 主干上加卷积上采样头,做逐像素分类;输入是 224×224 的图像块(patch),分辨率为 0.5 微米/像素(mpp),约等于 20 倍光学放大。

这里有个工程细节值得注意:0.5 mpp 而不是原生扫描分辨率。TCGA 切片来自不同扫描仪(Aperio、Hamamatsu、Leica、3DHISTECH 等),原生倍率从 20× 到 40× 不等,mpp 从 0.25 到 0.5 不等。把全部输入统一重采样到 0.5 mpp / 224 px,是为了让模型在一致的尺度上看图像——这也是为什么「缺 mpp 的 49 张切片必须剔除」:不知道原生 mpp,就无法正确地重采样到 0.5。

输出到表里的字段:四类区域各自的 ABSOLUTE_AREA(µm²)与 RELATIVE_AREA(相对全部已识别组织的百分比)。

3.3 第二段:组织分割(Tissue Segmentation)

做什么:在「有效组织」区域内,再分成七类组织。

类别 论文定义要点
癌(Carcinoma) 含癌细胞与免疫细胞的区域。鳞癌时还包含鳞癌来源的胞内外角化;未证实浸润生长的高级别异型浆液性上皮也归此
上皮组织(Epithelial Tissue) 含上皮与免疫细胞。涵盖腹膜的间皮衬里、纤毛/鳞状/腺上皮层、浆液腺(含腔、内层上皮、外层基底)、黏液腺、导管上皮
间质(Stroma) 含结缔组织与免疫细胞。包含次级与三级淋巴结构
坏死(Necrosis) 濒死或已死细胞区域。含凝固性、液化性、干酪样、脂肪坏死,无可见核或核部分可见/碎裂
血液(Blood) 红细胞与/或纤维蛋白聚集区,见于血管腔或出血
血管(Vessel) 全部血管结构:动脉、静脉、小动脉、小静脉、毛细血管样血管(≤10 µm、≤5 个红细胞、单层内皮、无中膜外膜)、淋巴管
其他(Other) 不符合以上各类的组织,如黏液、脂肪、平滑肌、骨、炭末沉积。肺标本的肺泡通常归此,但其组成细胞仍可被标为上皮细胞

怎么做的:与质检模型共用同一套语义分割架构(ViT + 卷积上采样头),只是输出类别从 4 类变成 7 类。

三条对使用者有实际影响的定义细节:

  1. 间质包含 TLS。 这是个易错点:如果某人想算「TLS 占间质比例」,不能只拿 ABSOLUTE_AREA_TLS 除以 ABSOLUTE_AREA_STROMA 就完事——TLS 本身已经在 STROMA 里了,直接相除得到的是「间质中有多少被识别为 TLS」的合理口径,但要意识到分母不是「非 TLS 间质」。
  2. 肺的肺泡归「其他」。 这会让肺标本的 RELATIVE_AREA_OTHER 显著高于其他癌种,做跨癌种比较时若不归一化会得出荒谬结论。
  3. 癌类别包含免疫细胞。 定义写的是「含癌细胞与免疫细胞的区域」——即区域级划分,不是细胞级。所以 ABSOLUTE_AREA_CARCINOMA 里包含浸润在癌巢中的淋巴细胞;癌区内的免疫细胞同时也会被细胞分类模型单独识别出来,两者不冲突,但也不可简单相加。

输出到表里的字段(每类组织后缀 _<TISSUE>):

  • ABSOLUTE_AREA_<TISSUE>:该类组织的面积(µm²)
  • RELATIVE_AREA_<TISSUE>:占「有效组织内全部已识别组织类型」的百分比
  • REGION_COUNT_<TISSUE>:该组织类型的模型预测多边形个数(可以粗略理解为「这块癌被切成了几个连通片」)
  • AVG_ECCENTRICITY_<TISSUE>、AVG_EXTENT_<TISSUE>、AVG_SOLIDICITY_<TISSUE>:多边形形态均值
  • LARGEST_CONVEX_AREA_<TISSUE>、LARGEST_FILLED_AREA_<TISSUE>、LARGEST_ROUNDNESS_<TISSUE>、LARGEST_MAJ_AXIS_<TISSUE>、LARGEST_MNR_AXIS_<TISSUE>、LARGEST_PERIMETER_<TISSUE>、LARGEST_SOLIDICITY_<TISSUE>、LARGEST_ECCENTRICITY_<TISSUE>:最大多边形的几何描述

形态字段这套设计有明确用途:solidity(面积/凸包面积)低说明边界破碎、有浸润性毛刺;eccentricity(离心率)高说明形状狭长;roundness 高说明接近圆形(如成熟腺体或淋巴滤泡)。这些都是「形态即表型」的量化,是纯面积统计给不了的信息。

3.4 第三段:细胞检测与分类(Cell Detection and Classification)

做什么:在「有效组织」内、排除血液与坏死区,检测每个细胞核并分类为九类之一。

类别 论文定义要点
癌细胞(Carcinoma cell) 恶性上皮细胞。含腺样分化、鳞样分化(含角化)、非小细胞神经内分泌分化、印戒细胞、黏液腺癌、透明胞质癌、未证实浸润的高级异型浆液/鳞状细胞
上皮细胞(Epithelial cell) 形成保护层或构成实质的良性上皮细胞谱系(扁平鳞状、柱状纤毛、黏液柱状、基底立方、腺体锥形、腺体椭圆核、神经内分泌小细胞、腺上皮旁梭形、导管衬里、胸腹膜扁平)
成纤维细胞(Fibroblast) 产胶原、维持细胞外基质的结缔组织细胞
淋巴细胞(Lymphocyte) 参与适应性免疫的小免疫细胞,含 T/B 细胞反应。包含生发中心内的中心母细胞与中心细胞(大核、核仁明显、胞质可辨的活化淋巴细胞)
浆细胞(Plasma cell) 分化为抗体分泌的 B 细胞
巨噬细胞(Macrophage) 固有免疫的大吞噬细胞,吞噬病原与碎片并调控免疫
粒细胞(Granulocyte) 含胞质颗粒的白细胞,含中性粒、嗜酸、嗜碱与肥大细胞
内皮细胞(Endothelial cell) 衬于血管内壁、调节通透性的细胞
其他(Other) 不属于以上任何类的细胞

怎么做的:两步。第一步用基于 StarDist 的定制核分割模型(StarDist 以星凸多边形表征细胞核,对密集粘连的核比较稳)在分割好的组织区域内找出每个细胞核;第二步用挂了 LoRA(Low-Rank Adaptation,低秩适配)的分类头,复用基础模型的特征把每个核分到九类之一。

输出到表里的字段:

  • 全局层:CELL_CLASSES(本切片中出现的细胞类别,分号分隔)、CELL_N_TOTAL(总检出细胞数)、NUCLEUS_AVG_AREA / ROUNDNESS / ECCENTRICITY / MAJ_AXIS / MNR_AXIS / PERIMETER(全片所有核的形态均值)
  • 按细胞类型(后缀 _<CELL>):CELL_COUNT_<CELL>、CELL_PERCENTAGE_<CELL>、CELL_DENSITY_<CELL>(每 µm² 个数)、NUCLEUS_AVG_AREA_<CELL>、NUCLEUS_AVG_ROUNDNESS_<CELL>、NUCLEUS_AVG_ECCENTRICITY_<CELL>、NUCLEUS_AVG_PERIMETER_<CELL>
  • 细胞 × 组织交叉(后缀 _<CELL>_<TISSUE>,血与坏死除外,故为 9×5=45 组 × 3 指标 = 135 列):CELL_COUNT_<CELL>_<TISSUE>、CELL_PERCENTAGE_<CELL>_<TISSUE>、CELL_DENSITY_<CELL>_<TISSUE>

一个容易误读的字段:CELL_PERCENTAGE_<CELL>_<TISSUE> 的定义是「某类细胞在某类组织区域内占该组织区域内全部检出细胞的百分比」,分母是该组织区域内的全部细胞,不是全片。所以 CELL_PERCENTAGE_LYMPHOCYTE_STROMA 是「间质区里淋巴细胞占多少」,而不是「淋巴细胞中有多少在间质」。

3.5 第四段:邻域分析(Neighborhood Analysis)

做什么:对每类细胞(记为 A)在每类组织(记为 T)内,统计半径 20 µm 与 40 µm 两个阈值内的邻居构成。

为什么是 20 与 40 µm:20 µm 大致相当于数个细胞直径的近距离接触区,刻画「紧邻」;40 µm 相当于一个小的细胞群落尺度,刻画「周边微环境」。两个阈值配对使用,可以构造「密度梯度」类特征(40 µm 内邻居数减 20 µm 内邻居数,反映中距离分布)。

输出到表里的字段(后缀模式 _AROUND_<A>_IN_<T>_<20|40>):

字段 含义
AREA_AROUND_<A>_IN_<T>_<d> A 类细胞周围 d µm 内、且落在 T 组织内的面积(µm²)
TOTAL_NUMBER_OF_NEIGHBORS_AROUND_<A>_IN_<T>_<d> 该区域内邻居细胞总数
NUMBER_OF_CELLS_WITH_<B>_NEIGHBORS_AROUND_<A>_IN_<T>_<d> 至少有一个 B 类邻居的 A 类细胞数
NUMBER_OF_<B>_AROUND_<A>_IN_<T>_<d> 该区域内 B 类细胞总数
DENSITY_OF_<B>_AROUND_<A>_IN_<T>_<d> B 在 A 周围的密度(个/µm²)
RATIO_OF_<B>_AROUND_<A>_IN_<T>_<d> B 在邻居中的占比
AVG_MIN_DISTANCE_OF_<B>_AROUND_<A>_IN_<T>_<d> B 到 A 的平均最小距离(µm)

论文给的例子很能说明这套字段的表达力:RATIO_OF_CARCINOMA_CELLS_AROUND_ENDOTHELIAL_CELL_IN_CARCINOMA_20 就是「癌区内每个内皮细胞 20 µm 范围内的邻居中癌细胞占比」。这类特征直接对应「血管成熟度」「免疫排斥」等经典病理学概念。

这一段的列数是最多的:9(A)× 9(B)× 5(T)× 2(d)× 7 种统计 ≈ 5,000+ 的理论上限,实际因数据稀疏(某些组合全为 0)会有差异。这也解释了为什么「4,500+」是个约数而非精确值——它是「实际产生的列」,取决于该癌种里出现了哪些细胞×组织组合。

3.6 附加结构:WTR 与 TLS

除了四段式主流程,OpenTME 还提供了两类结构化输出。

全肿瘤区域(Whole Tumor Region, WTR),四个分区:

分区 含义
Tumor core 肿瘤核心
Inner invasive margin 内浸润边缘
Outer invasive margin 外浸润边缘
Extratumoral tissue 瘤外组织

WTR 的价值在于把「癌与免疫的交界」单独拎出来——这正是免疫排斥(immune exclusion)研究最关心的区域。对应四张 WTR 表:细胞层、组织层、邻域层(外加主表)。

三级淋巴结构(Tertiary Lymphoid Structure, TLS),三类:

类别 含义
Mature TLS 成熟 TLS
Immature TLS 未成熟 TLS
No TLS 无 TLS

TLS 是近十年肿瘤免疫学最热的结构之一——它是瘤内自发形成的淋巴组织,与免疫治疗应答和预后相关。OpenTME 直接给出成熟度分级,省去了研究者自己训练 TLS 检出的工作。注意论文在这里没有展开 TLS 检测的具体判据(形态学标准、面积阈值、是否需要生发中心),这是需要读 User Guide 才能补上的细节,而 User Guide 在门控之后——这一点记入遗留疑点。

3.7 字段命名规律速查

给直接要写代码的人一张对照卡:

全局      CELL_N_TOTAL, CELL_CLASSES, ABSOLUTE_AREA, IMAGE_RESOLUTION
质检      ABSOLUTE_AREA_<QC>, RELATIVE_AREA_<QC>
          QC ∈ {VALID_TISSUE, OUT_OF_FOCUS, TISSUE_ARTIFACT, MARKER}
组织      ABSOLUTE_AREA/RELATIVE_AREA/REGION_COUNT/AVG_*/LARGEST_*_<TISSUE>
          TISSUE ∈ {CARCINOMA, EPITHELIAL_TISSUE, STROMA, NECROSIS, BLOOD, VESSEL, OTHER}
细胞      CELL_COUNT/CELL_PERCENTAGE/CELL_DENSITY/NUCLEUS_AVG_*_<CELL>
          CELL ∈ {CARCINOMA_CELL, EPITHELIAL_CELL, FIBROBLAST, LYMPHOCYTE,
                  PLASMA_CELL, MACROPHAGE, GRANULOCYTE, ENDOTHELIAL_CELL, OTHER}
交叉      CELL_*_<CELL>_<TISSUE>            (TISSUE 不含 BLOOD/NECROSIS)
邻域      AREA/NUMBER_OF_*/RATIO_OF_*/DENSITY_OF_*/AVG_MIN_DISTANCE_OF_*
          _AROUND_<A>_IN_<T>_<20|40>
键        TCGA_FILE_NAME, TCGA_SLIDE_UUID, TCGA_CASE_ID, TCGA_PROJECT_ID, INDICATION

建议的列名正则(用于批量筛选):

import pandas as pd
df = pd.read_csv("tme_features_breast_cancer_RUO.csv", low_memory=False)

# 只看淋巴细胞相关的邻域特征
lym_neigh = [c for c in df.columns if c.startswith(("RATIO_OF_LYMPHOCYTE", "DENSITY_OF_LYMPHOCYTE"))]

# 只看 20µm 阈值
near = [c for c in df.columns if c.startswith(("RATIO_OF_", "DENSITY_OF_")) and c.endswith("_20")]

注意 LOW_MEMORY=False 是必要的:4,500+ 列、数千行的表在 pandas 里用分块推断类型会得到一堆 object,后续数值运算会静默出错或极慢。

§4 版本沿革:一个「living resource」的四个时点

4.1 时间线

OpenTME 从仓库创建到当前版本不足七个月,但已经历至少两次癌种扩张。可核实的时点:

日期(UTC) 事件 证据类型
2026-03-09 19:24 HuggingFace 仓库创建(createdAt) HF API 元数据
2026-04-08 14:26 TME Studio GitHub 仓库创建 GitHub API
2026-04-13 arXiv 2604.12075v1 提交(v1,PDF 2,075 KB) arXiv 提交记录
2026-04(数据卡标注) 「April 2026 Release」:5 癌种 数据集卡表格标题
2026-07(数据卡标注) 「July 2026 Release」:8 癌种 数据集卡表格标题
2026-09-25 08:11 仓库最后一次提交(lastModified) HF API 元数据
2026-10-16 05:58 TME Studio 最后 push GitHub API

这张表里存在一个时间悖论,必须点破:论文 4 月 13 日提交时只讲 5 癌种,而仓库在 4 月之前就已创建。合理推断是「4 月首发时仓库只有 5 癌种、7 月扩到 8 癌种,论文正文未随之更新」——但 HF 的 createdAt 只记录仓库创建,不记录首个数据发布,所以「4 月首发是 5 癌种」这一点严格说是从论文与数据卡的因果顺序推出来的,不是直接证据。本条目按「论文 5 癌种 = 4 月口径、卡表 8 癌种 = 7 月口径」成稿。

4.2 论文为什么停在 5 癌种

论文结论节自己解释了:An Atlas H&E-TME 「currently supports five cancer types」(当前支持五种癌种)。这句话在 4 月是对的——问题是商用应用支持的癌种数,不是数据集愿不愿意扩。数据集能扩到哪里,取决于 Atlas H&E-TME 先能在哪里跑通并通过验证。论文还列了五个癌种各自覆盖的亚型范围:膀胱、乳腺、结直肠、肝/胆(肝细胞癌与胆管癌)、肺(非小细胞与小细胞)。这个「支持范围」的表述解释了后来扩到胰腺/前列腺/胃的前置条件——那三类是先扩了应用的适应证,才扩的数据集。

4.3 扩癌种带来的隐性代价

扩癌种不是简单地多跑几张图。三个工程后果:

  1. 跨癌种可比性下降。 七类组织、九类细胞的类别定义是为五癌种设计的。胰腺的导管腺癌伴大量促结缔组织增生、胃的印戒细胞、前列腺的筛状结构,都会落进「其他」或产生系统性误分。跨癌种的 RELATIVE_AREA_STROMA 对比在 5 癌种内部尚可,在 8 癌种跨度上要格外谨慎。
  2. 表结构可能漂移。 不同癌种的 CSV 列集合是「实际产生的列」的交集与并集,若某些癌种里某种细胞从未出现,其列可能整个缺失或全零。做合并分析时必须先做列对齐(pd.concat 会自动补 NaN,但那会把「不存在」和「未检出」混为一谈)。
  3. 论文与数据的引用断裂。 这是最现实的麻烦:任何写「OpenTME 有 3,634 张」的论文,在 2026 年 10 月都已落后于仓库。反过来,写「4,696 张」又找不到同行评议文献支撑。折中做法是同时引论文(方法)与数据卡(规模),并在方法节明确「截至某日抓取」。

4.4 CHANGELOG 的存在

仓库根目录有一份 CHANGELOG.md,说明团队自己在维护版本日志。但它和其他文件一样在门控之后——raw/main/CHANGELOG.md 返回 401。这意味着外部无法查证每次发布的确切改动,只能靠数据卡表格标题(April / July)与论文版本来做粗粒度定位。这是「门控数据集」的一个普遍代价:连版本日志都不公开,社区无法追踪数据演化。

§5 使用场景:这张表究竟能回答什么问题

5.1 场景一:免疫表型与预后(最直接)

OpenTME 最自然的用法,是把它当作「TCGA 队列的免疫微环境量化层」,与 TCGA 自带的临床随访数据 join,做生存分析。

典型问题:

  • 间质区淋巴细胞密度(CELL_DENSITY_LYMPHOCYTE_STROMA)是否与总生存相关?
  • 癌巢内淋巴细胞占比(CELL_PERCENTAGE_LYMPHOCYTE_CARCINOMA)低、间质淋巴细胞占比高的「免疫排斥」表型,是否对应更差的预后?
  • TLS 成熟度(tertiary_lymphoid_structures_tls_features 表)是否独立于分期预测预后?

论文提到的 TME Studio 示例里就有免疫浸润分类与 Kaplan–Meier 生存分析两个 notebook,说明这条路径是官方推荐的主线。做这类分析时要注意 TCGA 生存数据的固有陷阱:随访时间截断不一致、不同癌种的随访窗口差异巨大、治疗信息缺失。OpenTME 不解决这些问题,只是给了一个新的协变量。

5.2 场景二:形态-分子关联(OpenTME 的核心卖点)

论文反复强调的一句话是「远超经典免疫浸润指标」。意思是:不只有「有多少淋巴细胞」,还有「淋巴细胞离癌细胞多远、在什么组织里、和哪些细胞共现」。

可做的关联:

影像侧特征 分子侧变量 研究问题
癌细胞核面积/圆度 突变负荷、驱动基因型 核异型度是否反映基因组不稳定性
间质占比与 solidity 基质相关通路表达(如 TGF-β、ECM) 促结缔组织增生表型是否有转录组对应
巨噬细胞密度与 M2 相关基因 免疫抑制微环境 形态学推断的 M2 极化与表达谱是否一致
TLS 成熟度 三级淋巴结构相关趋化因子 TLS 形成的分子驱动
血/血管面积比 血管生成通路 血管密度与 VEGFA 等的关系

需要提醒的是:Atlas H&E-TME 不区分 M1/M2 巨噬细胞(九类里只有「巨噬细胞」一类)。所以「M2 极化」只能通过间接方式推断(比如巨噬细胞与癌细胞的邻域比例),不能直接从类别标签读出。

5.3 场景三:作为算法评测的外部参照

这是论文自己没怎么提、但对社区很有用的用法:把 OpenTME 当作「别人家流水线」的输出,用来校准自己的流水线。

如果你在自己搭建一套细胞分割+分类系统,一个很实际的问题是「我的结果和业界成熟系统差多少」。OpenTME 提供了同一批切片上的一个参考实现——虽然不能训练,但可以对比。比如你在 TCGA-BRCA 的同一批切片上跑自己的流水线,把检出的淋巴细胞密度与 OpenTME 的 CELL_DENSITY_LYMPHOCYTE 做散点对比,相关系数就是一次低成本的 sanity check。

但这条路有许可障碍:许可禁止「用其训练模型复刻 Atlas H&E-TME 能力」与「生成训练标签/伪标签/监督信号」。做相关性分析、做校准评估,算不算「生成监督信号」?边界模糊。保守做法是先向 Aignostics 问询,或只在内部做一次性评估、不写入任何训练流程、不公开对比结论作为 benchmark。这条限制在坑点 3 展开。

5.4 场景四:方法与教学

TME Studio 的 marimo notebook 本身是一个不错的教学材料——加载 4,500 列的表、做列筛选、做分组统计、画生存曲线,覆盖了计算病理下游分析的基本动作。对教学场景,OpenTME 的好处是「不需要算力也不需要切片」:一台笔记本就能跑完一个完整案例。

5.5 不适合的用法(务必看清)

想做的事 为什么不行
训练细胞分割/分类模型 没有像素、没有掩码、没有坐标;且许可禁止
训练病理基础模型 许可明文禁止
做临床诊断/辅助诊断 许可明确为 RUO,禁止诊断用途
代替 TCGA 做分子分析 表里没有任何分子数据
重建整张切片的形态 只有缩略图,分辨率远低于诊断级
做横向跨癌种的绝对量比较 类别体系按 5 癌种设计,8 癌种跨度上语义漂移
二次分发/打包成自己的数据集 许可禁止再分发、再许可

§6 获取与许可:门控的三道锁

6.1 第一道锁:机构邮箱 + 人工审批

获取路径是 HuggingFace 的标准 gated 流程,但门槛比常见的「点同意即下载」高:

  1. 用 HuggingFace 账号打开 huggingface.co/datasets/Aignostics/OpenTME;
  2. 页面显示 gated: manual(人工审批,不是自动放行);
  3. 填写门控表单。API 元数据显示表单只有两个字段:
    • 勾选「I agree to the OpenTME terms of use」(同意使用条款);
    • 选择「Can Aignostics contact you for feedback on OpenTME?」(是否同意被联系做反馈),选项为「Yes, I consent to being contacted」/「No, I do not wish to be contacted」;
  4. 提交后等待 Aignostics 审批。

论文对这道门槛的原文是:“Access requires individual registration with an institutional email address and is granted at Aignostics’ discretion.”(访问需以机构邮箱做个人注册,并由 Aignostics 酌情批准。)

三层含义必须拆开:

  • 个人注册:授权绑定在个人账号上,不是机构级授权。同事获批不等于你获批。
  • 机构邮箱:论文明确要求。这意味着 gmail/qq/163 之类个人邮箱大概率被拒——即使 HF 表单本身不强制校验域名,最终审批环节会看。
  • 酌情批准:没有公开的批准标准、没有申诉流程、没有 SLA。申不申得下来,Aignostics 说了算。

对比常见的「CC BY 数据集点一下就能下」,这三条构成了实质性的准入控制。对研究者而言,申请应在项目启动前就做,不要等到分析前一周才提交。

6.2 第二道锁:Research Access Program(要几何数据走这里)

如果你想拿的是细胞坐标或多边形几何(.geojson),OpenTME 的公开版本给不了。数据集卡原文:如果需要细胞坐标或 polygon 几何,请通过 Research Access Program 申请。

这条通道的性质与第一道不同:

维度 HuggingFace 门控 Research Access Program
目的 拿公开版 CSV + 缩略图 拿细胞坐标 / polygon / 自己切片跑流水线
材料 勾选条款 + 反馈意愿 研究背景、项目计划、发表计划
评审 酌情批准 滚动评审,按科学价值遴选,承诺 2 周内回复
费用 免费(学术) 免费(申请与参与均不收费)
耗时 未公开 申请表填写 ≤30 分钟

Research Access Program 还提供另一件对很多人更有价值的东西:把你自己的 H&E 切片送进 Atlas H&E-TME 跑一遍。对做队列研究的团队,这相当于「用商业流水线处理私有数据」但学术免费。产出包括细胞/组织/邻域三级定量读数、可在其病理查看器里浏览的多边形覆盖层、以及 Aignostics 团队的分析支持。

但这个项目有边界:它是项目制而非「无限量 API」,按申请的项目范围跑,不保证随时可扩展。

6.3 第三道锁:许可条款逐条

数据集卡 License 一节列了七条,全部是限制性的。逐条翻译并标注实际影响:

# 条款 原文要点 实际影响
1 仅非商业 「仅供学术研究。未经 Aignostics 事先书面同意,禁止任何商业用途」 药企、CRO、诊断公司不能用;学术-产业合作项目要看谁在用
2 仅研究用途 「仅供研究。不得用于任何疾病的诊断、预防或治疗」 不能进临床路径;不能做伴随诊断开发
3 禁止 AI/ML 训练 不得训练「复刻或近似 Atlas H&E-TME 分析能力」的模型;不得生成训练标签、伪标签或任何监督信号;不得为任何基础模型或通用病理模型提供训练数据 最硬的一条。影响所有「拿 OpenTME 当弱标签训模型」的想法
4 禁止再分发 不得再分发、再许可、提供给第三方;访问权授予注册个人 不能打包进自己的数据集发布;不能镜像到实验室服务器供全组下载
5 无担保 按原样提供,不作任何担保;Aignostics 对使用结果不承担责任 结果有问题,责任在你
6 署名 鼓励发表与展示,但须遵守 Citation / Attribution Requirement 发表必须引用
7 叠加 TCGA 政策 所有用户须遵守 TCGA 原始数据访问政策 TCGA 的去标识与不得重识别规则继续适用

第 3 条值得单独展开,因为它是 OpenTME 与大多数「学术开放数据集」的分水岭。多数 CC 系许可允许任意使用(含训练),OpenTME 明确划了红线。这条限制的商业逻辑很清楚:Atlas H&E-TME 是 Aignostics 的付费产品,开放输出但不开放「用输出去造竞品」。

对研究者的实际操作建议:

  • 做生存分析、关联分析:完全没问题,这是数据集的预设用途。
  • 做「用 OpenTME 特征训练预测模型」:边界情况。训练一个「用影像特征预测生存」的模型,与「复刻 Atlas H&E-TME 的分析能力」是两回事——前者是在消费特征,后者是在复制特征提取器。这条线通常可以走通,但表述上要写清楚「本模型以 OpenTME 特征为输入,不复制其提取流程」。
  • 做「用 OpenTME 输出当软标签,训练自己的细胞分类器」:明确违反第 3 条(生成伪标签/监督信号)。
  • 写进自己数据集的数据卡里做 baseline 对比:不要打包原始文件,只报聚合后的对比数字,且不要把它做成官方 benchmark。

6.4 商业通道

Atlas H&E-TME for Life Sciences 页面提供了另一个入口。对这一群体,OpenTME 的定位是「gold-standard external cohort」——即用 TCGA 这个外部标准队列来生成与验证假设。商业用户拿到的比学术版多:

  • 7 类组织与 10 类细胞(该页一处写 10,一处写 9,与论文/HF 卡的 9 类不一致,见 §12)的多边形输出;
  • 预配置好的 Aignostics 病理查看器;
  • 4,500+ 空间特征;
  • TME Studio 与用户文档。

该页还写明「所有生命科学客户均有资格获得免费试用」。商业授权走书面同意,具体条款未公开。

6.5 拿到数据后的合规动作清单

给实验室的落地建议(按顺序):

  1. 记录审批人与日期。HF 门控授权是拉取动作,不是逐文件授权;将来发表时可能需要说明获取路径。
  2. 不要镜像到公共盘。第 4 条禁止提供给第三方。内部共享要给每个使用者单独申请。
  3. 在代码仓库里加 NOTICE 文件,写清:数据来源、许可要点、禁止训练条款。避免新加入的成员不知情拿去做训练集。
  4. 不要把它和 TCGA 的受限数据混放。TCGA 里有部分受控访问数据(如部分 germline),OpenTME 是开放层,两者许可不同,混放会造成合规混乱。
  5. 发表时同时引三样:OpenTME 论文、Aignostics 的 Citation / Attribution 要求、TCGA Research Network 致谢模板(https://www.cancer.gov/tcga)。
  6. 版本固定。HF 仓库是滚动的,发表时记录 commit sha(当前 86d920d7...)或明确「2026-07 Release」。

§7 生态与影响:一个数据集周围的四层结构

7.1 四层结构图

OpenTME 不是孤立发布的,它嵌在一个结构清晰的四层生态里:

层 组成 开放程度
数据上游 TCGA / GDC 的 WSI + 多组学 + 临床 公开(部分受控)
生成器 Atlas H&E-TME(商用应用),坐落在 Atlas / Atlas 2 基础模型上 闭源,需申请或商务
数据本体 OpenTME(HuggingFace 门控仓库) 门控,学术免费
工具层 TME Studio(GitHub,MIT)、Aignostics 病理查看器 代码开源 / 查看器需授权
学术社区 Atlas for Academics(OpenTME + Research Access Program) 申请制

值得注意的结构特征:开放程度从上游往工具层单调递减,再从工具层回升。TCGA 最开放,生成器最封闭,数据集半开,工具代码全开。这种「U 形」是商业病理 AI 公司的典型策略——开放到足以建立学术引用生态,封闭到足以保住商业护城河。

7.2 Atlas for Academics:一个双层计划

2026 年,Aignostics 专门为学术社区设了「Atlas for Academics」,包含两个程序:

  1. OpenTME:开放数据集本身(本文主题);
  2. Research Access Program:把自己切片送进 Atlas H&E-TME 免费跑。

新闻稿里的一句话点出了这套设计的意图:「对于许多学术研究者而言,这类空间 TME 分析一直不易获得,无论是因为传统方法的成本,还是因为在大规模上计算 TME 形态特征本身的复杂性。」——换句话说,这不是纯粹的公益,而是「先让学术圈用起来,建立引用与口碑,再反哺商业客户」。

新闻稿还有一条信息很关键:「数据集现已在 HuggingFace 上线,并将随 Atlas H&E-TME 覆盖范围扩展到更多癌种而扩充。」 这句话直接印证了「数据集规模 = 应用支持的癌种范围」的因果关系,也解释了为什么 7 月扩到了胰腺/前列腺/胃。

7.3 TME Studio:一个被低估的配套

aignostics/tme-studio 是一个 MIT 许可的 Python 工具包,用 marimo(一种响应式 Python notebook,比 Jupyter 更适合做成可执行的 app)写就。可核实的项目状态(2026-10-17):

项 值
仓库 github.com/aignostics/tme-studio
描述 「A toolkit to explore the OpenTME dataset」
创建 2026-04-08
最后 push 2026-10-16(活跃维护)
许可 MIT
Star 37
在线演示 molab 托管,无需本地环境

README 的定位说明很清楚:TME Studio 是「起点」而非终点——「我们鼓励用户在其基础上使用更广泛的开源分析工具生态来构建」。功能上覆盖数据加载、过滤、探索、免疫浸润分类、Kaplan–Meier 生存分析、可视化演示。

为什么这层重要:一个只有 CSV 的数据集,用户第一步就要自己摸索 4,500 列里哪些有用。notebook 提供的是「官方认可的读法」——它告诉用户「我们预期你这样用这批数据」。这比字段文档更能降低上手门槛。

但 MIT 许可只覆盖代码,不覆盖数据。 用 TME Studio 加载 OpenTME,仍然受 HuggingFace 门控许可约束。这个区分在坑点 6 展开。

7.4 与既有 TIL 资源的谱系关系

论文的 Related Work 一节把自己放在一条清晰的学术谱系上,这段自我定位值得原样复述,因为它是判断「OpenTME 到底新在哪」的唯一依据:

上游祖先:Saltz et al. 2018(Cell Reports)。这是计算病理免疫特征的奠基性工作——在 13 种 TCGA 肿瘤类型上生成了计算 TIL 图,第一次把 H&E 派生的免疫特征与分子、临床表型大规模关联。论文对它的评价是「聚焦单一细胞类型(淋巴细胞)且停留在 patch 级,没有细粒度细胞分类,也没有空间邻域分析」。这正是 OpenTME 想超越的基线。

方法学工具箱:

  • HoVer-Net(2019,Med Image Anal):核分割与分类同时做
  • PanNuke(2019/2020):19 种组织的泛癌核实例分割基准
  • CellViT(2024,Med Image Anal):ViT + 基础模型骨干,在 PanNuke 上达到 SOTA
  • HistoPLUS(2025,arXiv 2508.09926):用紧凑的病理专用编码器改进罕见与临床相关细胞类型的分类

论文对这一整类的评价是:「虽然这些方法提供了强大的开源细胞级分析工具,但在队列规模上应用它们来生成即用型、队列级 TME 画像仍需要大量计算基础设施、领域专业知识与病理学家标注的细致整理。」

OpenTME 的位置:不发明新方法,而是把既有方法论「做一遍并交出来」。这是数据集的典型价值主张——不靠算法新颖性,靠「别人不用再重复劳动」。

7.5 谁在用它

可在公开渠道观察到的使用信号(截至 2026-10-17):

指标 数值 意义
HuggingFace 下载 360 门控数据集,需审批后才计下载,实际使用者可能更多
HuggingFace 点赞 45 中等关注度
TME Studio Star 37 配套工具的关注度与数据本体相近
数据集发布时间 约 7 个月 下载 360 / 7 个月 ≈ 每日 1.7 次

需要谨慎解读这些数字。门控数据集的下载计数与开放数据集不可比——每次「下载」背后都有一个审批过的账号。360 次下载在一个约 7 个月龄的病理数据集上,说明社区认知度已经起来了,但远未到「标配工具」的程度。

论文提到 Aignostics 曾预期 OpenTME 会成为「生物标志物发现、空间生物学研究与 TME 计算方法开发」的资源。这三类用户的真实增长,要等第一批引用 OpenTME 的第三方论文出现才能验证。截至本条目抓取时点,未检索到公开发表的、以 OpenTME 为主要数据来源的第三方研究。

7.6 与商业产品的边界

对使用者的一个实际问题是:学术版和商业版差什么? 从已公开信息能拼出的差异表:

维度 学术版(OpenTME) 商业版(Atlas H&E-TME for Life Sciences)
用途 仅学术研究 药物研发、转化研究、临床试验分层
数据 预计算特征(slide 级) 自有切片 + polygon 输出
几何 无(需另申) 「7 类组织与 10 类细胞的多边形输出」
查看器 无(学术页未列) 预配置 Aignostics 病理查看器
试跑自己的数据 需 Research Access Program 评审 免费试用
支持 论文致谢层面的协作 专属团队支持
训练限制 禁止 AI 训练 未公开(推测按商务合同约定)

这张表里最有意思的一格是「训练限制」:学术版明文禁止训练,商业版没有公开说。这说明这条限制的目的就是防止学术圈用开放数据训练出竞品,而商业客户通过付费合同获得不同安排。

§8 方法学评述:Atlas H&E-TME 的技术选择与取舍

8.1 为什么是「分割 + 分类」而不是「端到端」

Atlas H&E-TME 采用的是显式的多阶段流水线(质检 → 分割 → 检测分类 → 邻域),而不是一个端到端的黑箱模型直接吐数字。这个架构选择的利弊:

利:

  • 每一步的中间结果可视化(就是那六张覆盖层缩略图),便于质控与调试;
  • 组织层的约束(只在有效组织内检测细胞、排除血与坏死)能显著减少伪阳性;
  • 邻域统计必须建立在显式的细胞坐标之上,端到端模型给不了。

弊:

  • 误差级联。质检错判的区域会影响分割,分割错的区域会影响细胞检测,细胞分类错会影响邻域统计。一个环节的系统性偏差会被后续环节放大。
  • 每个环节都要单独训练、单独验证,工程成本高。
  • 模型更新时,所有下游输出都要重算。

论文对这个弊端的表述很克制:「与任何 AI 派生数据集一样,输出反映底层模型的当前性能特征,应据此解读。」没有量化级联误差。

8.2 StarDist 的选择

细胞核分割用 StarDist(Schmidt et al., MICCAI 2018,「Cell detection with star-convex polygons」)。StarDist 的核心思想是每个核用一个星凸多边形表示,通过预测到边界的距离来定位。它对密集、粘连的核(比如淋巴细胞团、TLS 生发中心)比边界框或语义分割方法更稳。

这个选择暗示了设计者对 TME 分析场景的判断:TME 里最重要的细胞(淋巴细胞、浆细胞)恰恰是最密集、最难分开的。选 StarDist 是冲着这个难点去的。

代价是:星凸假设对形态极不规则的细胞(比如伸展的巨噬细胞、细长的成纤维细胞)不成立。这些细胞很可能被归入「其他」或被检出但形状估计失真——而形状正是 NUCLEUS_AVG_* 系列字段的来源。

8.3 LoRA 做细胞分类

细胞分类头用 LoRA(低秩适配)挂在基础模型上。LoRA 原本是为大语言模型设计的参数高效微调方法:冻结原权重,只训练一对低秩矩阵,参数量可降数个量级。

用在这里的好处:

  • 一个 ViT 主干可以同时支撑质检、分割、分类三个任务,各自只挂一套轻量适配器;
  • 新癌种、新细胞类型可以增量训练适配器,不必重训主干;
  • 推理时可以在共享主干上批量处理,效率高。

这也解释了 OpenTME 为什么能「随应用扩展而扩癌种」——扩展成本主要在适配器与验证上,不在主干重训。

8.4 「病理学家知情」的标注

论文说任务模型是通过「在病理学家参与的标注(pathologist-informed annotations)上做有监督微调」得到。这个措辞比「病理学家标注」弱——它可能是「病理学家审阅过的弱标注」「病理学家指导下生成的伪标签」「病理学家标注的参考集」等多层含义之一。

论文没有交代:

  • 标注数据规模(多少张切片、多少个核);
  • 标注者数量与一致性(inter-annotator agreement);
  • 标注所在的癌种分布(是否覆盖全部 8 个癌种)。

这些是评估模型可靠性的关键信息,缺失是 OpenTME 论文最主要的方法学短板。

8.5 「≥90% 浸润性形态亚型」这个宣称怎么读

论文原文:Atlas H&E-TME「已在来自多个来源与扫描仪类型的数据集上,针对 board-certified 病理学家的标注做过广泛验证,覆盖每个受支持癌种至少 90% 以上的浸润性形态学亚型」。

这句话要拆开读:

  • 「覆盖率」不是「准确率」。它说的是「验证集里包含了至少 90% 的形态亚型」,不是「模型在 90% 的亚型上准确」。这是两个完全不同的概念,非常容易被二手转述混淆。
  • 没有给指标。覆盖率有了,但 Dice、F1、kappa 一个都没给。
  • 验证集来源:「多个来源与扫描仪类型」,但没有列具体数据集。

所以这条宣称的准确理解是:模型的验证范围足够广,能代表真实世界的形态多样性;但验证效果如何,未公开。 这决定了使用者必须以「抽查缩略图」作为最低限度的自检手段(见 §2.7)。

8.6 邻域半径的物理意义

20 µm 与 40 µm 两个阈值不是随便选的。参考尺度:

结构 典型尺度
单个淋巴细胞直径 ~7-10 µm
单个癌细胞直径 ~15-25 µm
一个小细胞群落(数个细胞) ~30-50 µm
一个腺体结构 ~100-200 µm

20 µm 大致是「两到三个淋巴细胞排开的距离」,刻画的是直接接触与紧邻;40 µm 大致是「一个癌细胞的周边一圈」,刻画的是局部微环境。用两个尺度而不是一个,是为了能算「梯度」:40 µm 与 20 µm 的差值反映中距离的分布形态,这对区分「免疫排斥」(远而不近)与「免疫炎症型」(近且密)很有用。

8.7 已知的方法学空白

把论文读完后,能列出以下几处空白(都在 §12 遗留疑点里登记):

  1. 逐类分割/分类指标(Dice/F1)未公开;
  2. 标注规模与一致性未公开;
  3. QC 模型的误检率未公开;
  4. TLS 检测的判据(面积阈值?生发中心要求?)未公开;
  5. 切片级空间分辨率(IMAGE_RESOLUTION)的分布未公开(TCGA 切片扫描倍率不一,20×/40× 混杂会对形态特征产生尺度效应);
  6. 模型版本与数据版本的对应关系未公开(哪批切片用的是哪个 Atlas 版本)。

第 5、6 条对复现性影响最大。如果同一批数据里既有 20× 也有 40× 扫描的切片,统一重采样到 0.5 mpp 之后理论上尺度一致,但重采样本身会改变核边缘的锐度,从而影响分割结果。这是所有跨扫描仪的病理 AI 都要面对的问题,OpenTME 没有讨论。

§9 局限与风险:用之前必须知道的七件事

9.1 派生数据的信息上限

这是最容易低估的一条。派生数据的信息量严格小于原始数据——你只能在 Aignostics 决定量化的那些维度上提问。

举个具体例子:假设你想研究「肿瘤出芽」(tumor budding,即浸润前沿的单个或小簇癌细胞)。这是一个有明确预后意义的形态学特征。OpenTME 的字段里没有「出芽」这个概念。你能用的最接近的代理是 REGION_COUNT_CARCINOMA(癌区多边形个数)或 AVG_SOLIDICITY_CARCINOMA(癌区多边形平均实度)——但这两个都是全片聚合,完全无法定位到浸润前沿。你必须用 WTR 表里的 inner invasive margin 分区,再配合该分区内的癌细胞形态字段,才能勉强构造一个近似的出芽指标。

这就是「下游产物」的真实含义:你的科学问题必须能被翻译成已有字段的组合,否则就得回到原始切片自己做。

9.2 模型误差的不可见性

拿不到概率图、拿不到逐类指标、拿不到标注一致性数据,意味着你无法定量估计表里每个数字的误差范围。你能做的只有:

  • 看缩略图定性判断(§2.7);
  • 与文献报道的同癌种免疫浸润比例做量级对比;
  • 用内部一致性检查(比如 CELL_COUNT_<CELL> 的九类之和是否等于 CELL_N_TOTAL,各组织 RELATIVE_AREA 之和是否接近 100%)。

最后一条是很实用的自检。如果某张切片的九类细胞计数之和对不上总数,或者七个组织类型占比加起来远低于 100%,说明该切片存在分割/检测异常,应剔除或降权。

9.3 许可的时间风险

许可条款是单向的:今天批给你,不代表明天条款不变。数据集卡当前版本明确写了「禁止 AI/ML 训练」。如果将来条款收紧(比如增加「禁止用于开发任何生物标志物」),已发表的研究不受影响,但进行中的项目会陷入尴尬。

务实的做法:在项目启动时把当时的许可全文存档(截图或 PDF),并在论文的方法节写明「依据某年某月某日的许可版本」。这样即使条款变化,也有据可依。

9.4 单点依赖风险

OpenTME 的整个供给链依赖 Aignostics 一家公司:

  • 数据托管在 HuggingFace(平台稳定,但仓库在 Aignostics 名下,可被删除或转私有);
  • 生成器闭源,无法独立复现;
  • 审批由 Aignostics 酌情决定;
  • 版本更新不由社区驱动。

对比之下,TCGA 有 NCI 的长期托管承诺,OpenTME 没有。对需要长期可复现的研究(如纵向队列、方法学基准),这是一个实质风险。

9.5 癌种与人群的代表性

TCGA 本身有已知的人群偏倚:以欧美人群为主,且样本来自特定的大型癌症中心。OpenTME 继承了这个偏倚,又叠加了自己的覆盖偏倚(8 个癌种 vs TCGA 的 33 个)。

具体后果:

  • 头颈鳞癌、宫颈癌、子宫内膜癌、肾癌、黑色素瘤等 TCGA 里样本量可观的癌种,OpenTME 完全没有覆盖;
  • 血液肿瘤、儿童肿瘤完全不在范围内;
  • 论文提到的「五个癌种」在 TCGA 里都是样本量较大的,本身就偏「主流常见癌」。

做泛癌研究时,OpenTME 的「8 癌种」不能被表述为「泛癌」——它是一个有明确边界的子集。

9.6 空间分辨率不一致的隐性影响

TCGA 的 H&E 切片来自不同机构、不同扫描仪,原生倍率从 20× 到 40× 不等(对应 mpp 0.5 与 0.25)。OpenTME 统一重采样到 0.5 mpp 处理,理论上尺度一致。

但重采样对不同原生倍率的影响不同:40× 下采样到 20× 会平滑细节(核边缘变模糊),20× 原样使用则保留原生锐度。结果是同样大小的细胞核,在两类切片上可能呈现不同的边缘清晰度,进而影响 StarDist 的分割质量。

论文没有报告 IMAGE_RESOLUTION 的分布,也没有做「按原生倍率分层的性能分析」。这是一个可以自己做的工作:拿到数据后,先画 IMAGE_RESOLUTION 的直方图,再把关键特征按倍率分组看分布差异——如果 20× 与 40× 组在 NUCLEUS_AVG_AREA 上有系统性差异,说明存在倍率混杂,需要在模型里作为协变量控制。

9.7 「Open」这个词的语义负荷

最后一条是语义层面的。数据集叫 OpenTME,新闻稿叫「open-access dataset」,但实际访问需要人工审批、需要机构邮箱、有明确的商业禁止与训练禁止。

这不构成虚假宣传——「open access」在学术出版语境里本就是指「可获取」而非「无限制」。但对不熟悉这一语境的使用者,「Open」二字容易造成预期错位。本条目在坑点 1 里把这一点列为第一个坑。

§10 坑点清单:十个已经踩过或极易踩的坑

以下「坑点 N」按踩坑概率排序。前四个是几乎每个人都会遇到的,后六个是特定场景下的陷阱。

坑点 1:把 OpenTME 当影像数据集下载。

最普遍的误解。看到 HuggingFace 页面上 modality: image、format: imagefolder、task_categories: image-segmentation 这些标签,加上名字里的「H&E」「TCGA」,很自然会以为下载下来是一堆 .svs 或 .tiff。实际下载下来是 40 个 CSV 加 28,156 张缩略图 PNG。缩略图的分辨率远低于诊断级,不能用于任何形态学计算。

更糟的是 task_categories 里的 image-segmentation 与 object-detection 会让自动化的数据集检索工具把它归错类。这些标签描述的是「生成这批数据所用的任务类型」,不是「数据本身可供训练的任务类型」。

对策:在数据集说明的第一行就写「本数据集为派生特征表,不含原始影像」,这也是本条目开头反复强调的原因。

坑点 2:用 OpenTME 的数据训练模型。

数据集卡写得非常清楚:「不得用于训练旨在复刻或近似 Atlas H&E-TME 分析能力的模型,也不得生成训练标签、伪标签或任何形式的监督信号用于此类模型。不得为任何基础模型或通用病理模型提供训练数据。」

但实践中越界非常容易发生,因为边界是模糊的:

  • 「我用 OpenTME 的特征作为输入,训练一个生存预测模型」——这是消费特征,通常可接受;
  • 「我用 OpenTME 的细胞密度作为软标签,训练自己的细胞分类器」——这是生成监督信号,明确禁止;
  • 「我把 OpenTME 的淋巴细胞密度当作外部验证集,比较我的模型与它的一致性」——评估通常可接受,但不该写入训练循环;
  • 「我把 OpenTME 的 4,500 列作为特征,训练一个通用病理表征模型」——这条最模糊,且大概率违规(它可能成为通用病理模型的特征来源)。

对策:项目立项时就把「OpenTME 在流程中扮演什么角色」写成一句话,交给法务或 PI 确认。不要靠自我解释。

坑点 3:以为「Open」就是不设门槛。

gated: manual 意味着人工审批。用个人邮箱(gmail、qq、163)提交大概率被拒。论文明确要求机构邮箱。审批周期没有公开的 SLA。

对策:项目启动前就提交申请,同时在申请期间用 TME Studio 的 molab 在线演示(不需要数据访问权限)熟悉数据结构。

坑点 4:拿论文的「3,634 张 / 5 癌种」当现状。

论文 2026-04-13 定稿,当时是 5 癌种 3,634 张。当前仓库是 8 癌种 4,696 张。如果论文写作时引用「OpenTME 共 3,634 张」,审稿人打开数据集卡看到「July 2026 Release」的表格,会发现数字对不上。

对策:引用时写「截至 YYYY-MM 抓取」,或同时引论文(方法)与数据卡(规模)。本条目在 §2.1 与 §12 登记了双口径。

坑点 5:把 4,500 列当 4,500 个独立特征直接建模。

如 §2.5 所述,这 4,500 列里绝大多数是笛卡尔积(细胞 × 组织 × 邻域 × 阈值)。真正的独立维度只有几百个,而且高度共线。

直接扔进 sklearn 的随机森林或 LASSO,会得到:训练集 AUC 很高、验证集崩塌;或者 LASSO 随机挑出几个共线变量中的任意一个,结果不可复现。

对策:

  1. 先做相关性聚类,每簇只保留一个代表;
  2. 优先用「比率」而非「绝对量」(RELATIVE_AREA 优于 ABSOLUTE_AREA);
  3. 邻域特征先做「每类细胞选一个核心指标」(如 RATIO_OF_LYMPHOCYTE_AROUND_CARCINOMA_CELL_IN_STROMA_20),不要 9×9×5×2 全上;
  4. 用 PCA 或 PLS 做降维后再建模,保留可解释性。

坑点 6:把 TME Studio 的 MIT 许可当成数据的许可。

TME Studio 是 MIT,代码随便用。但它加载的 OpenTME 数据受 HuggingFace 门控许可约束。有人 fork 了 TME Studio 并打包成「开源病理分析工具」,工具本身没问题,但如果随工具分发了数据样本(哪怕一小段 CSV 做 demo),就违反了「禁止再分发」。

对策:分发工具时不要附带数据;demo 数据用自己合成或公开的无关数据。

坑点 7:跨癌种直接比较绝对量。

肺标本的肺泡被归入「其他」组织(论文附录 A 明说),这让肺的 RELATIVE_AREA_OTHER 天然偏高。乳腺的脂肪组织丰富,也会抬高「其他」。胰腺的促结缔组织增生明显,RELATIVE_AREA_STROMA 天然偏高。

如果有人做「间质占比与预后的关系」,把八个癌种混在一起跑回归,癌种间的构成差异会完全淹没生物学信号。

对策:跨癌种分析必须按癌种分层,或把癌种作为固定效应。癌种内部的横向比较才是有意义的。

坑点 8:假设 case 级对齐是「自动的」。

表里有 TCGA_CASE_ID,看起来直接 join 就行。但 TCGA 分子数据的键是 sample/aliquot barcode(TCGA-XX-XXXX-01A-21R-A12P-07),临床数据的键是 patient barcode(TCGA-XX-XXXX),而 OpenTME 给的是 TCGA_CASE_ID(也是 patient 级)。三者要正确截断才能对上。

更隐蔽的问题:一个病例有多张切片(论文里 3,686 张切片对 3,424 个病例),如果一个病人有两张切片,join 后会产生重复行,让该病人在生存分析里被重复计数。

对策:

  1. join 前先 df.groupby('TCGA_CASE_ID').size() 看有多少病例多切片;
  2. 多切片病例要选一张(最常用的规则是选肿瘤含量最高的)或做平均;
  3. 用 validate='many_to_one' 参数让 pandas 帮你发现问题。

坑点 9:以为 TLS 是「有/无」的二分。

TLS 表给的是「成熟 / 未成熟 / 无」三类。但 TLS 的生物学不是离散的——它有成熟度梯度,而且「未成熟」的定义在不同文献里差异很大(有无生发中心?有无高内皮微静脉?边界是否清晰?)。

OpenTME 论文没有展开 TLS 检测的判据,用户无法知道「未成熟」到底对应什么形态。

对策:使用 TLS 类别前先看缩略图(tertiary_lymphoid_structures.png),抽查几张标注为「成熟」与「未成熟」的切片,建立自己对类别定义的理解。如果要做 TLS 相关研究,建议把「成熟 TLS」当作高置信类,「未成熟」当作需要人工复核的类。

坑点 10:忽略 RUO 后缀的法律含义。

_RUO 出现在每个 CSV 文件名里,不是装饰。Research Use Only 意味着这批数据在任何司法辖区都不能用于临床决策支持。如果一个团队把 OpenTME 的特征拿去做一个「辅助病理医生判断预后」的原型,即使只是内部演示、不对外发布,也可能构成「用于诊断、预防或治疗目的」的边界案例。

对策:内部演示时明确标注「研究原型,非诊断用途」;不要让结果流出到临床科室的实际工作流里。

§11 总结

11.1 一句话定义

OpenTME 是 Aignostics 用商用病理 AI 应用 Atlas H&E-TME,对 TCGA 的 H&E 全切片做了一次统一的计算病理加工,把「看图」的结果以 4,500+ 列的 slide 级特征表形式开放给学术界的派生数据集。

11.2 三条判断

判断一:它的价值在「省掉一次重跑」,不在「提供新数据」。

OpenTME 没有采集任何新数据。它提供的全部原材料(WSI、分子、临床)在 TCGA 都免费可得。它的增量价值是把这些原材料送进一条高质量的商业流水线跑一遍,并把结果交出来——这件事单打独斗的研究者要花数月、要一台 GPU 集群、要一套病理学家验证过的模型才能做到。所以它的正确用途是「从别人算好的地方开始」,不是「替代自己算」。

判断二:它的风险在「不可见」与「不可改」。

不可见指的是模型误差:没有逐类指标、没有概率图、没有标注一致性数据。不可改指的是许可:不能训练、不能再分发、不能商业用。这两条合起来意味着使用者必须接受「黑箱 + 有限授权」的组合。对探索性研究这没问题,对需要严格可复现、需要自建 benchmark 的工作则是硬约束。

判断三:它的长期地位取决于 Atlas 的商业策略。

OpenTME 是「学术放水养鱼」的产物:用开放数据建立引用生态,把用户导向商业产品与 Research Access Program。这套策略能持续多久,取决于 Aignostics 的商业收益。如果某天数据集转私有、或条款收紧到「不能用特征发表」,学术依赖就会断裂。因此任何把它当基础设施的项目,都应有退出方案(比如保留对 TCGA 原始切片的自行处理能力)。

11.3 给三类读者的行动建议

你是 该做什么 不要做什么
临床/流行病学研究者 用 CSV 做 TME-预后关联;先做多切片去重与癌种分层 不要把 8 癌种混在一起跑回归;不要假设数据已清洗
计算病理方法研究者 用自己的流水线在同一批切片上跑,与 OpenTME 对比做校准 不要拿 OpenTME 做训练标签;不要把对比结果做成 benchmark 发布
药企/产业用户 走商业通道拿 polygon 与查看器 不要用学术账号拿学术版数据做商业分析

§12 存照与双口径清单

本条目在成稿过程中遇到三处原文献之间的数字或表述冲突,均按「不裁决、双列存照」处理。

12.1 存照一:切片计数漂移(数据卡表 vs 仓库实测)

冲突:数据集卡「July 2026 Release」表列出的乳腺 1,125、肺 1,041、胰腺 209、前列腺 448、合计 4,691;而直接解析仓库 28,204 个文件名得到的覆盖层目录计数为 1,126 / 1,043 / 210 / 449 / 合计 4,696。

差异分布:乳腺 +1、肺 +2、胰腺 +1、前列腺 +1,其余四个癌种一致。

判断:形态上像数据卡表格的手工统计漏行;但本条目无门控权限核对 CSV 行数,无法确认是「仓库多 5 张」还是「卡表漏 5 行」。

成稿处理:§2.2 双列表格;正文以仓库实测(可复现)为主口径,引用「官方宣称」时以数据卡为准。

12.2 存照二:细胞类别数(9 vs 10)

冲突:Aignostics 的 Atlas H&E-TME for Life Sciences 商业页在同一个页面的两处分别写了「Polygon outputs for 7 tissue segments and 10 cell classes」与「Polygon outputs for 7 tissue segments and 9 cell classes」。

仲裁依据:论文 §3.1 明确「classifies each detected cell into one of nine classes」,附录 A 表 4 逐条列出九类;HuggingFace 数据集卡亦列九类。

成稿处理:采用 9 类;商业页的「10」判为笔误(可能是把某个「其他/背景」类计入,或单纯排版错误),在正文标注但不展开。

12.3 存照三:论文口径 vs 仓库口径(5 癌种 3,634 张 vs 8 癌种 4,696 张)

冲突:论文(2026-04-13)只覆盖膀胱/乳腺/结直肠/肝/肺,3,634 张;仓库(2026-10 抓取)覆盖 8 癌种,4,696 张。

性质:这不是错误,是版本链——数据集是 living resource,论文冻结在首发成果。Aignostics 新闻稿亦明确「数据集将随 Atlas H&E-TME 覆盖范围扩展到更多癌种而扩充」。

成稿处理:§2.1 双口径表并列;§4 给时间线;全文引用规模时一律标注版本。

12.4 遗留疑点清单

以下事实经三轮检索仍无法确证,按纪律记为「未公开」,不作推测:

# 疑点 状态
1 每张切片精确列数(「>4,500」的确切值) 未公开(需 settings/tme_features.yaml 或 User Guide,均在门控后)
2 各癌种 CSV 的精确行数与列数 未公开(gated)
3 CHANGELOG 内容(各版本具体改动) 未公开(gated,401)
4 论文 equal contribution / corresponding author 的逐人归属 未解析(HTML 中为公式图像)
5 分割/分类模型的逐类 Dice/F1 未公开(论文正文无此表)
6 训练标注的规模与标注者间一致性 未公开
7 TLS 检测的具体形态学判据与面积阈值 未公开
8 各切片 IMAGE_RESOLUTION 的分布(20×/40× 比例) 未公开
9 HuggingFace 门控的平均审批时长 未公开(论文只说 Aignostics’ discretion)
10 商业许可下是否允许 AI 训练 未公开(推测按合同约定)
11 数据集首发(4 月)的确切癌种构成 间接推断(论文 4 月 + 卡表 4 月标签)
12 截至抓取时是否有第三方论文以 OpenTME 为主要数据源 未检出

FAQ(高频问答 30 问)

Q1:OpenTME 和 TCGA 是什么关系?
TCGA 是上游数据源(影像来自 GDC,分子与临床来自 TCGA),OpenTME 是在其影像上跑 AI 流水线得到的下游派生特征集。OpenTME 不含任何 TCGA 原始影像或分子数据。

Q2:OpenTME 里有没有图像?
严格说没有诊断级图像。有 28,156 张 PNG 覆盖层缩略图(每张切片 6 类视图),分辨率和用途都是「肉眼检查」,不能用于形态学计算。

Q3:4,696 还是 3,634?
两个都对,属于不同版本。论文 2026-04 口径 3,634 张 / 5 癌种;仓库 2026-07 口径 4,696 张 / 8 癌种。引用需注明版本。

Q4:为什么论文只有 5 癌种?
因为论文定稿时 Atlas H&E-TME 应用本身只支持 5 个癌种。数据集能扩到哪里,取决于应用先在哪里跑通验证。

Q5:下载需要多久批下来?
未公开。论文只写「由 Aignostics 酌情批准」。建议项目启动前就提交。

Q6:个人邮箱可以吗?
论文明确要求机构邮箱。实践中个人邮箱大概率被拒。

Q7:可以用于商业项目吗?
不可以。许可第 1 条明文禁止商业用途,商业合作需走 Atlas H&E-TME for Life Sciences 通道并取得书面同意。

Q8:可以训练模型吗?
取决于训练什么。训练生存预测模型(以 OpenTME 特征为输入)通常可接受;训练复刻 Atlas H&E-TME 的模型、或生成伪标签供其他模型训练,明确禁止;训练通用病理基础模型,大概率违规。

Q9:可以发论文吗?
可以,且被鼓励,但必须遵守 Citation / Attribution Requirement,并致谢 TCGA Research Network。

Q10:可以再分发吗?
不可以。不得再分发、再许可或提供给第三方。访问权授予注册个人。

Q11:怎么拿到细胞坐标?
走 Research Access Program 申请,说明研究目的。公开版不含坐标与 polygon。

Q12:能不能拿几何数据做训练?
即使通过 Research Access Program 拿到几何数据,许可中的「禁止 AI 训练」条款原则上仍适用(具体以获批时的协议为准,未公开)。

Q13:TME Studio 是免费的吗?
是,MIT 许可,代码完全开源。但 MIT 只覆盖代码,不覆盖数据。

Q14:可以用 TME Studio 加载数据吗?
可以,前提是你已获得数据访问权限。TME Studio 需要 HF token 来拉取门控数据。

Q15:有没有在线演示不需要申请?
有。TME Studio 提供 molab 托管的在线演示 notebook,但要真正加载 OpenTME 数据仍需先获批。

Q16:每张切片的 4,500 列都有用吗?
不是。大部分是笛卡尔积产生的共线变量,真正独立的信息维度只有几百个。建模前必须做相关性筛查。

Q17:为什么有 20 µm 和 40 µm 两个半径?
刻画两个空间尺度:20 µm 是紧邻接触,40 µm 是局部微环境。两者差值可反映中距离分布形态,用于区分不同类型的免疫浸润模式。

Q18:WTR 是什么?
Whole Tumor Region,全肿瘤区域,分为肿瘤核心、内外浸润边缘、瘤外组织四个分区。用于分析癌与免疫交界处的空间关系。

Q19:TLS 是什么?
Tertiary Lymphoid Structure,三级淋巴结构,瘤内自发形成的淋巴组织,与免疫治疗应答和预后相关。OpenTME 分成熟/未成熟/无三类。

Q20:能不能做泛癌分析?
只能在 8 个癌种范围内做「跨癌种」分析。TCGA 有 33 个项目,OpenTME 只覆盖 8 个,且类别体系是按 5 癌种设计的,跨癌种绝对量比较需谨慎。

Q21:不同癌种的数据可以合并成一个表吗?
技术上可以(按 TCGA_SLIDE_UUID 或 TCGA_CASE_ID join),但列集合可能不一致,需要用 pd.concat 后检查缺失,并区分「不存在」与「未检出」。

Q22:一个病人有多张切片怎么办?
论文里 3,686 张切片对应 3,424 个病例,说明确有重复。做病例级分析前需先按 TCGA_CASE_ID 聚合(取一张或平均),否则会在生存分析中重复计数。

Q23:怎么把 OpenTME 和 TCGA 的分子数据接起来?
用 TCGA_CASE_ID 与分子数据的 sample barcode 做截断匹配(都截到 TCGA-XX-XXXX),建议用 validate='many_to_one'。注意癌种代码与样本类型代码别截错。

Q24:表里的数值是病理学家的判断还是模型的判断?
全都是模型的判断。病理学家参与的是训练标注,不是逐张审核。

Q25:模型准确率多少?
未公开。论文只说验证覆盖了 ≥90% 的浸润性形态亚型,未给 Dice/F1 等指标。

Q26:怎么判断某张切片的特征可不可信?
看 tissue_qc.png 缩略图判断质量,做内部一致性检查(九类细胞数之和是否等于总数、七类组织占比之和是否接近 100%),异常的切片剔除或降权。

Q27:为什么文件名都有 _RUO?
Research Use Only。这是许可条款在文件层面的落地,提示数据仅限研究,不得用于诊断、预防或治疗。

Q28:OpenTME 会一直更新吗?
论文与新闻稿都说会「随 Atlas H&E-TME 覆盖范围扩展而扩充」。但具体节奏未公开,且 Aignostics 无公开承诺。

Q29:如果 Aignostics 停止维护怎么办?
已获批的副本可继续按当时许可使用(建议存档许可全文),但无法获取新版本,也无法复现生成过程(模型闭源)。

Q30:这个条目本身的可靠性如何?
所有数字均来自论文、HuggingFace API 实测、Aignostics 官方页面与 GitHub API 四处一手来源。三处冲突已双列存照(§12),十二处未公开已登记(§12.4),未作推测。

事实清单(硬事实 32 条)

# 事实 来源
1 OpenTME 由 Aignostics 出品 论文首页、HF 卡
2 论文标题:OpenTME: An Open Dataset of AI-powered H&E Tumor Microenvironment Profiles from TCGA arXiv abs
3 arXiv ID:2604.12075 arXiv abs
4 提交日期:2026-04-13(v1) arXiv 提交记录
5 主分类 cs.CV;副类 cs.AI / cs.LG / q-bio.QM arXiv abs
6 论文许可:CC BY-NC-ND 4.0 arXiv HTML 页脚
7 作者 21 位 arXiv abs
8 通讯邮箱持有者:Lukas Ruff(arXiv 提交人) arXiv 提交记录
9 生成器:Atlas H&E-TME 论文 §3.1
10 主干:DINO 系自监督 ViT 论文 §3.1
11 Atlas 共建方:Aignostics、Charité、LMU Munich、Mayo Clinic 论文 §3.1、HF 卡
12 四段式:QC → 组织分割 → 细胞检测分类 → 邻域 论文 §3.1
13 QC 四类:valid / out-of-focus / artifact / marker 论文附录 A 表 2
14 组织七类:carcinoma / epithelial / stroma / necrosis / blood / vessel / other 论文附录 A 表 3
15 细胞九类:carcinoma / epithelial / fibroblast / lymphocyte / plasma / macrophage / granulocyte / endothelial / other 论文附录 A 表 4
16 QC 输入 patch 224×224 @ 0.5 mpp(≈20×) 论文 §3.1
17 细胞核分割用 StarDist 论文 §3.1
18 细胞分类用 LoRA 适配的分类头 论文 §3.1
19 邻域半径:20 µm 与 40 µm 论文 §3.1、附录 B 表 6
20 每张切片 >4,500 定量读数 论文摘要
21 论文切片数:3,634(初筛 3,686,剔除 52) 论文 §3.2
22 剔除构成:49 缺 mpp/损坏 + 2 非 H&E + 1 全片失焦 论文 §3.2
23 论文病例数:3,424 论文 Table 1
24 论文覆盖 5 癌种 8 项目 论文 Table 1
25 仓库切片数:4,696(实测覆盖层目录) HF API siblings
26 仓库癌种数:8 HF API siblings
27 仓库体积:6,885,779,956 B HF API usedStorage
28 仓库文件数:28,204 HF API siblings
29 CSV 数:40(8×5) HF API siblings
30 仓库创建:2026-03-09T19:24:46Z;最后修改:2026-09-25T08:11:11Z HF API
31 gated=manual;downloads 360;likes 45 HF API
32 TME Studio:MIT,创建 2026-04-08,Star 37 GitHub API

术语表(26 条)

术语 英文 解释
肿瘤微环境 Tumor Microenvironment (TME) 肿瘤细胞及周围免疫、间质、血管、坏死等成分的总和及其空间组织
全切片图像 Whole-Slide Image (WSI) 整张玻片经扫描仪数字化的超高分辨率图像,通常数 GB
苏木精-伊红 Hematoxylin & Eosin (H&E) 病理最常用的常规染色,核染蓝紫、胞质与间质染粉红
派生数据 Derived Data 由原始数据经算法加工得到的次级数据,信息量单向递减
每像素微米 Microns per Pixel (mpp) 图像空间分辨率,OpenTME 统一处理于 0.5 mpp
基础模型 Foundation Model 大规模预训练、可迁移到多种下游任务的模型
自监督学习 Self-Supervised Learning 无需人工标注、从数据本身构造监督信号的预训练方式
DINO self-distillation with no labels 一类自监督视觉预训练框架,Atlas 主干基于此系
视觉 Transformer Vision Transformer (ViT) 把图像切成 patch 后用 Transformer 建模的架构
低秩适配 Low-Rank Adaptation (LoRA) 冻结主干、只训练低秩矩阵的参数高效微调方法
StarDist — 用星凸多边形表征细胞核的分割方法
组织质检 Tissue Quality Control (QC) 分类图像区域为有效/失焦/伪影/笔迹
组织分割 Tissue Segmentation 把有效组织划为七类组织
细胞检测与分类 Cell Detection and Classification 定位核并分到九类之一
邻域分析 Neighborhood Analysis 统计指定半径内细胞类型的共现与距离
全肿瘤区域 Whole Tumor Region (WTR) 肿瘤核心/内外浸润边缘/瘤外四分区
三级淋巴结构 Tertiary Lymphoid Structure (TLS) 瘤内自发形成的淋巴组织,与免疫应答相关
免疫排斥 Immune Exclusion 免疫细胞被挡在癌巢外、仅存于间质的表型
肿瘤浸润淋巴细胞 Tumor-Infiltrating Lymphocyte (TIL) 浸入肿瘤组织的淋巴细胞
实度 Solidity 多边形面积除以其凸包面积,反映边界规则程度
离心率 Eccentricity 形状的狭长程度,0 为圆
圆度 Roundness 形状接近圆的程度
覆盖层 Overlay 在原图缩略图上叠加模型预测着色的可视化图
门控数据集 Gated Dataset 需申请并经审批才能访问的数据集
仅限研究用途 Research Use Only (RUO) 不得用于临床诊断、预防或治疗
基因组数据共享平台 Genomic Data Commons (GDC) NCI 运营的癌症基因组数据平台,TCGA 影像与组学的主要分发口

附录

附录 A:条目速查卡

项 值
条目名 OpenTME
slug opentme
类型 AI 派生特征集(非影像库)
出品方 Aignostics(德国柏林)
论文 arXiv:2604.12075(2026-04-13)
生成器 Atlas H&E-TME
规模(当前) 4,696 张 / 8 癌种 / 8 项目 / 6.89 GB
规模(论文) 3,634 张 / 5 癌种 / 3,424 例
每张产出 >4,500 列 slide 级读数
格式 CSV(40 张)+ PNG(28,156 张覆盖层)
获取 HF gated(manual),机构邮箱 + 酌情批准
许可 非商业 / RUO / 禁 AI 训练 / 禁再分发 / 署名 / 叠加 TCGA
工具 TME Studio(MIT)
抓取时点 2026-10-17
库内互链 tcga(566)、tcga-legacy(25)、tiger(26)、pannuke(218)、panda(560)、camelyon16-17(33/694/699)、midog(298)、sicapv2(328)

附录 B:DAIMS 评估全表

维度 评分(1-10) 依据
D 可发现性 Data Findability 8 HuggingFace 大型平台可检索;arXiv 论文与官方产品页互为指向;标签体系完整(27 个任务/疾病标签)。扣分项是「OpenTME」这个名字与 Atlas H&E-TME 产品名易混,检索时需精确拼写
A 可获取性 Accessibility 5 门控人工审批 + 机构邮箱要求 + 无公开审批时效,构成实质门槛;细胞坐标与 polygon 需另走 Research Access Program;商业用途完全封闭。这是最大失分项
I 可互操作性 Interoperability 7 纯 CSV + 标准列命名,通用性极好;四个 TCGA 键便于与分子/临床 join。扣分项是无官方 schema 描述文件(JSON Schema/数据卡字段说明均在门控内的 PDF 与 yaml 中),外部只能从论文附录 B 反推字段
M 元数据质量 Metadata Quality 8 论文附录 B 给出字段级定义与示例,质量高于同类;数据集卡给出癌种表与许可全文。扣分项是三处口径冲突(§12)与模型指标缺失
S 可持续性 Sustainability 6 依托 HuggingFace(稳定)与 Aignostics(商业化公司,有营收支撑开发);TME Studio 活跃维护。风险是单点依赖、滚动版本无公开 CHANGELOG、无机构级长期托管承诺
综合评级 6.8 / 10(中上) 元数据与互操作性是强项,可获取性与可持续性是短板。对于能过审批门坎的学术团队,实际体验远高于 6.8;对无法获批或需要商业用途者,实际可用性接近 0

附录 C:逐项证据链自证

关键数字/表述 来源 具体位置
3,634 张 / 3,424 例 / 8 项目 论文 Table 1 arXiv HTML 2604.12075v1
初始 3,686 / 剔除 52(49+2+1) 论文 §3.2 Data source and slide selection 同上
>4,500 读数/张 论文摘要与 §3.2 同上
7 组织 / 9 细胞 论文 §3.1、附录 A 表 3/4 同上
20/40 µm 论文 §3.1 第 (4) 段、附录 B 表 6 同上
224×224 @ 0.5 mpp 论文 §3.1 第 (1) 段 同上
StarDist / LoRA 论文 §3.1 第 (3) 段 同上
机构邮箱 + discretion 论文 §3.2 Access and licensing 同上
许可七条 HF 数据集卡 License 节 huggingface.co/datasets/Aignostics/OpenTME
4,696 张 / 8 目录 HF API siblings 逐文件解析 hf-mirror.com/api/datasets/Aignostics/OpenTME
6,885,779,956 B HF API usedStorage 同上
gated=manual / 360 / 45 HF API 顶层字段 同上
createdAt / lastModified HF API 顶层字段 同上
门控表单两字段 HF API cardData.extra_gated_fields 同上
「10 cell classes」vs「9」 官方商业页两处 aignostics.com/products/atlas-he-tme/for-life-sciences
Atlas for Academics 双程序 官方新闻稿 aignostics.com/news/aignostics-launches-dedicated-initiative-for-the-academic-research-community
滚动扩展癌种 官方学术页 + 新闻稿 aignostics.com/products/atlas-he-tme/for-academics
Research Access Program 2 周/30 分钟 官方学术页 同上
TME Studio MIT / 37 star / 时间 GitHub API api.github.com/repos/aignostics/tme-studio

附录 D:获取决策树

你要做什么?
├── 只想看数据长什么样
│   └── TME Studio 的 molab 在线演示(无需数据访问权限)
├── 做学术研究(生存分析 / 分子关联 / 方法校准)
│   ├── 1) 用机构邮箱注册 HuggingFace 账号
│   ├── 2) 在 Aignostics/OpenTME 页提交门控表单
│   ├── 3) 等待审批(周期未公开,建议提前 2-4 周)
│   └── 4) 获批后 git clone 或 huggingface_hub.snapshot_download
├── 需要细胞坐标 / polygon / 跑自己的切片
│   └── Research Access Program(填表 ≤30 分钟,滚动评审,承诺 2 周回复)
├── 商业用途
│   └── Atlas H&E-TME for Life Sciences 商务通道(免费试用)
└── 只想要 TCGA 原始数据自己做流水线
    └── 直接去 GDC(不受 OpenTME 许可约束,但需自建模型)

附录 E:数据加载骨架(代码)

"""OpenTME 最小加载与自检示例。
前提:已在 HuggingFace 获批并完成 huggingface-cli login。
"""

import pandas as pd
from huggingface_hub import snapshot_download

# 只拉某个癌种的 CSV,避免下载 28,156 张 PNG
path = snapshot_download(
    repo_id="Aignostics/OpenTME",
    repo_type="dataset",
    allow_patterns=["data/breast_cancer/*.csv", "settings/*"],
)

base = f"{path}/data/breast_cancer"
main = pd.read_csv(f"{base}/tme_features_breast_cancer_RUO.csv", low_memory=False)
wtr_cell = pd.read_csv(
    f"{base}/whole_tumor_region_cell_features_breast_cancer_RUO.csv", low_memory=False
)
tls = pd.read_csv(
    f"{base}/tertiary_lymphoid_structures_tls_features_breast_cancer_RUO.csv",
    low_memory=False,
)

print("shape:", main.shape, "| unique slides:", main["TCGA_SLIDE_UUID"].nunique())

# --- 自检 1:细胞分类计数之和是否等于总数 ---
cell_cols = [c for c in main.columns
             if c.startswith("CELL_COUNT_") and c.count("_") == 2]
main["_sum_cells"] = main[cell_cols].sum(axis=1)
ratio = (main["_sum_cells"] / main["CELL_N_TOTAL"]).describe()
print("细胞分项和/总数 比值分布:\n", ratio)

# --- 自检 2:七类组织相对面积之和 ---
tissue_cols = [c for c in main.columns if c.startswith("RELATIVE_AREA_")
               and not any(q in c for q in ("VALID_TISSUE", "OUT_OF_FOCUS",
                                            "TISSUE_ARTIFACT", "MARKER"))]
print("组织面积和 分布:\n", main[tissue_cols].sum(axis=1).describe())

# --- 自检 3:一个病例多切片 ---
per_case = main.groupby("TCGA_CASE_ID")["TCGA_SLIDE_UUID"].nunique()
print("多切片病例数:", (per_case > 1).sum(), "/", len(per_case))

# --- 建模前:先做共线性筛查,不要直接丢 4500 列 ---
numeric = main.select_dtypes("number")
corr = numeric.corr().abs()
upper = corr.where(~corr.where(lambda d: d != 1.0).isna())
high = [(c, r) for c in upper.columns for r in upper.index
        if upper.loc[r, c] > 0.95 and r < c]
print(f"|r|>0.95 的列对: {len(high)}")

附录 F:字段命名速查(正则)

import re

PATTERNS = {
    "qc":            r"^(ABSOLUTE_AREA|RELATIVE_AREA)_(VALID_TISSUE|OUT_OF_FOCUS|TISSUE_ARTIFACT|MARKER)$",
    "tissue_area":   r"^(ABSOLUTE_AREA|RELATIVE_AREA)_(CARCINOMA|EPITHELIAL_TISSUE|STROMA|NECROSIS|BLOOD|VESSEL|OTHER)$",
    "tissue_shape":  r"^(REGION_COUNT|AVG_ECCENTRICITY|AVG_EXTENT|AVG_SOLIDICITY|LARGEST_[A-Z_]+)_",
    "cell_global":   r"^(CELL_COUNT|CELL_PERCENTAGE|CELL_DENSITY)_[A-Z_]+$",
    "cell_nucleus":  r"^NUCLEUS_AVG_(AREA|ROUNDNESS|ECCENTRICITY|MAJ_AXIS|MNR_AXIS|PERIMETER)_",
    "cell_x_tissue": r"^CELL_(COUNT|PERCENTAGE|DENSITY)_[A-Z_]+_(CARCINOMA|EPITHELIAL_TISSUE|STROMA|VESSEL|OTHER)$",
    "neighborhood":  r"^(AREA|TOTAL_NUMBER_OF_NEIGHBORS|NUMBER_OF_CELLS_WITH|NUMBER_OF_|DENSITY_OF_|RATIO_OF_|AVG_MIN_DISTANCE_OF_).*_AROUND_.*_(20|40)$",
}

def classify_column(name: str) -> str:
    for tag, pat in PATTERNS.items():
        if re.match(pat, name):
            return tag
    return "key_or_other"

附录 G:跨版本口径对照(写作引用模板)

OpenTME(Aignostics,arXiv:2604.12075)是一个由 Atlas H&E-TME 在 TCGA H&E
全切片上预计算的肿瘤微环境特征集。论文首发版本覆盖 5 个癌种、3,634 张切片
(3,424 例);截至 2026 年 7 月,公开仓库已扩展至 8 个癌种、4,696 张切片
(HuggingFace 数据卡 July 2026 Release)。每张切片提供超过 4,500 列
slide 级定量读数,涵盖组织质检、7 类组织分割、9 类细胞分类与 20/40 µm
邻域统计。数据以门控方式发布,需机构邮箱注册并经 Aignostics 批准,
仅限非商业学术研究,且明确禁止用于复刻 Atlas H&E-TME 的 AI 训练或再分发。

附录 H:库内互链建议(含 rid)

条目 rid 互链理由与写法
TCGA 566 上游本体。写明「OpenTME 的影像与分子注释均来自 TCGA;TCGA 提供原始 WSI 与多组学,OpenTME 只提供派生特征」
TCGA-Legacy 25 同源旧条目,作为 TCGA 历史沿革的补充引用
TIGER 26 方法学前身。Saltz 系谱的 TIL 计算挑战,论文 Related Work 明确以「单一细胞类型 + patch 级」为对照,OpenTME 的差异化正在此
PanNuke 218 论文 Related Work 引用的泛癌核分割基准,是 Atlas H&E-TME 细胞检测环节的方法学参照
PANDA 560 病理 WSI 数据集对照:PANDA 提供切片级标签,OpenTME 提供切片级特征,两者可对比「标签 vs 特征」两种数据形态
PANDA-PLUS 640 病理重标注案例,与 OpenTME 共同说明「加工层决定可用性」
CAMELYON16 / CAMELYON17 694 / 699 病理 WSI 检测基准,同属「TCGA 之外的公开病理队列」
MIDOG 298 有丝分裂检测基准,同属计算病理任务族
SICAPv2 328 前列腺分级数据集;OpenTME 有 prostate_cancer 目录(449 张),可在前列腺议题上互链

尾注

  1. 本条目全部数字来自四类一手来源:arXiv 论文全文(HTML 版)、HuggingFace 数据集 API(逐文件解析)、Aignostics 官方产品页与新闻稿、GitHub API。未使用任何二手转述。
  2. 抓取时点为 2026-10-17。HF 仓库为滚动更新,文中 4,696 张 与 6.89 GB 均为该时点实测值;仓库最后提交为 2026-09-25(sha 86d920d765ddb432dd151f8993242056509720b2)。
  3. 论文口径与仓库口径的差异不视为矛盾,而视为版本链(§4、§12.3)。引用时必须标注版本。
  4. 三处双口径冲突(切片计数、细胞类别数、论文 vs 仓库)已在 §12 逐条存照,正文未作单方面裁决。
  5. 十二处未公开事项已列入 §12.4,全部标注为「未公开」或「未解析」,未作任何推测性补全。
  6. 本条目对许可条款的解读属于编辑层面的转述,不构成法律意见;实际使用时请以 HuggingFace 数据集卡 License 原文与 Aignostics 出具的授权文件为准。
  7. 致谢原文要求:使用 OpenTME 发表的研究应声明「The results published here are in whole or part based upon data generated by the TCGA Research Network: https://www.cancer.gov/tcga」。

相关数据集导航

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

  • cobra — 共享标签:病理图像 / 多模态 / 肿瘤学 / 图像分类 / 评测基准
  • pathseg — 共享标签:病理图像 / 多模态 / 肿瘤学 / 评测基准
  • camelyon17 — 共享标签:病理图像 / 肿瘤学 / 图像分类 / 评测基准
  • unitopatho — 共享标签:病理图像 / 肿瘤学 / 图像分类 / 评测基准
  • mendeley-lbc — 共享标签:病理图像 / 肿瘤学 / 图像分类 / 评测基准
  • all-idb — 共享标签:病理图像 / 肿瘤学 / 图像分类 / 评测基准
  • multi-oscc-histopath — 共享标签:病理图像 / 多模态 / 肿瘤学 / 图像分类
  • pathvqa — 共享标签:病理图像 / 多模态 / 评测基准
  • hancock-hnscc — 共享标签:病理图像 / 多模态 / 肿瘤学
  • panda-plus — 共享标签:病理图像 / 肿瘤学 / 图像分类 / 评测基准

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

返回 AI-Ready 数据集