信息速览
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 就能开始分析」的速度。
导语读法三则:
- 只想要数据:直奔 §6 获取与许可,再读坑点 1(把派生当原始)。申请表格很短,但机构邮箱与「禁止 AI 训练」两条会卡住不少人。
- 想做多组学关联:直奔 §3 特征字典与 §5,那里讲清楚了「哪一列能接上 TCGA 的哪个字段」,以及 case 级对齐为什么是整个流程里最容易出错的一步。
- 想评这个数据能不能信:直奔 §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_cancer600、liver_cancer411 完全一致——说明这两个癌种的切片集自 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
三点说明:
_RUO后缀不是可有可无的。 RUO 即 Research Use Only(仅限研究用途)。它出现在每个文件名里,是许可条款在文件层面的落地——即使文件被单独拷出目录,后缀本身就在提示「这不是诊断级数据」。tme_features是主表。 其余四张分别对应全肿瘤区域(WTR)的细胞层、组织层、邻域层,以及三级淋巴结构(TLS)层。主表回答「这张切片整体长什么样」,WTR 表回答「肿瘤核心与浸润边缘分别长什么样」,TLS 表回答「有没有、有几种成熟度的淋巴结构」。- 缩略图漏帧。 六类覆盖图中,
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:
- 来源:通过美国国家癌症研究所基因组数据共享平台(NCI Genomic Data Commons, GDC)取回五个癌种对应的 TCGA 项目的全部诊断级 FFPE 切片。注意是「全部诊断级切片」而非「每例一张」——一个病例可能有多张切片,所以切片数(3,686)远大于病例数(3,424)。
- 初筛:得到 3,686 张候选。
- 剔除 52 张,理由分三类:
- 49 张:缺少分辨率元数据(mpp)或文件损坏;
- 2 张:非 H&E(1 张免疫组化 IHC,1 张 Masson 三色染色);
- 1 张:整片失焦(out-of-focus),未通过质检。
- 最终 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 类。
三条对使用者有实际影响的定义细节:
- 间质包含 TLS。 这是个易错点:如果某人想算「TLS 占间质比例」,不能只拿
ABSOLUTE_AREA_TLS除以ABSOLUTE_AREA_STROMA就完事——TLS 本身已经在 STROMA 里了,直接相除得到的是「间质中有多少被识别为 TLS」的合理口径,但要意识到分母不是「非 TLS 间质」。 - 肺的肺泡归「其他」。 这会让肺标本的
RELATIVE_AREA_OTHER显著高于其他癌种,做跨癌种比较时若不归一化会得出荒谬结论。 - 癌类别包含免疫细胞。 定义写的是「含癌细胞与免疫细胞的区域」——即区域级划分,不是细胞级。所以
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 扩癌种带来的隐性代价
扩癌种不是简单地多跑几张图。三个工程后果:
- 跨癌种可比性下降。 七类组织、九类细胞的类别定义是为五癌种设计的。胰腺的导管腺癌伴大量促结缔组织增生、胃的印戒细胞、前列腺的筛状结构,都会落进「其他」或产生系统性误分。跨癌种的
RELATIVE_AREA_STROMA对比在 5 癌种内部尚可,在 8 癌种跨度上要格外谨慎。 - 表结构可能漂移。 不同癌种的 CSV 列集合是「实际产生的列」的交集与并集,若某些癌种里某种细胞从未出现,其列可能整个缺失或全零。做合并分析时必须先做列对齐(
pd.concat会自动补 NaN,但那会把「不存在」和「未检出」混为一谈)。 - 论文与数据的引用断裂。 这是最现实的麻烦:任何写「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 流程,但门槛比常见的「点同意即下载」高:
- 用 HuggingFace 账号打开
huggingface.co/datasets/Aignostics/OpenTME; - 页面显示
gated: manual(人工审批,不是自动放行); - 填写门控表单。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」;
- 提交后等待 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 拿到数据后的合规动作清单
给实验室的落地建议(按顺序):
- 记录审批人与日期。HF 门控授权是拉取动作,不是逐文件授权;将来发表时可能需要说明获取路径。
- 不要镜像到公共盘。第 4 条禁止提供给第三方。内部共享要给每个使用者单独申请。
- 在代码仓库里加 NOTICE 文件,写清:数据来源、许可要点、禁止训练条款。避免新加入的成员不知情拿去做训练集。
- 不要把它和 TCGA 的受限数据混放。TCGA 里有部分受控访问数据(如部分 germline),OpenTME 是开放层,两者许可不同,混放会造成合规混乱。
- 发表时同时引三样:OpenTME 论文、Aignostics 的 Citation / Attribution 要求、TCGA Research Network 致谢模板(https://www.cancer.gov/tcga)。
- 版本固定。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」,包含两个程序:
- OpenTME:开放数据集本身(本文主题);
- 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 遗留疑点里登记):
- 逐类分割/分类指标(Dice/F1)未公开;
- 标注规模与一致性未公开;
- QC 模型的误检率未公开;
- TLS 检测的判据(面积阈值?生发中心要求?)未公开;
- 切片级空间分辨率(
IMAGE_RESOLUTION)的分布未公开(TCGA 切片扫描倍率不一,20×/40× 混杂会对形态特征产生尺度效应); - 模型版本与数据版本的对应关系未公开(哪批切片用的是哪个 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 随机挑出几个共线变量中的任意一个,结果不可复现。
对策:
- 先做相关性聚类,每簇只保留一个代表;
- 优先用「比率」而非「绝对量」(
RELATIVE_AREA优于ABSOLUTE_AREA); - 邻域特征先做「每类细胞选一个核心指标」(如
RATIO_OF_LYMPHOCYTE_AROUND_CARCINOMA_CELL_IN_STROMA_20),不要 9×9×5×2 全上; - 用 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 后会产生重复行,让该病人在生存分析里被重复计数。
对策:
- join 前先
df.groupby('TCGA_CASE_ID').size()看有多少病例多切片; - 多切片病例要选一张(最常用的规则是选肿瘤含量最高的)或做平均;
- 用
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 张),可在前列腺议题上互链 |
尾注
- 本条目全部数字来自四类一手来源:arXiv 论文全文(HTML 版)、HuggingFace 数据集 API(逐文件解析)、Aignostics 官方产品页与新闻稿、GitHub API。未使用任何二手转述。
- 抓取时点为 2026-10-17。HF 仓库为滚动更新,文中
4,696 张与6.89 GB均为该时点实测值;仓库最后提交为 2026-09-25(sha86d920d765ddb432dd151f8993242056509720b2)。 - 论文口径与仓库口径的差异不视为矛盾,而视为版本链(§4、§12.3)。引用时必须标注版本。
- 三处双口径冲突(切片计数、细胞类别数、论文 vs 仓库)已在 §12 逐条存照,正文未作单方面裁决。
- 十二处未公开事项已列入 §12.4,全部标注为「未公开」或「未解析」,未作任何推测性补全。
- 本条目对许可条款的解读属于编辑层面的转述,不构成法律意见;实际使用时请以 HuggingFace 数据集卡 License 原文与 Aignostics 出具的授权文件为准。
- 致谢原文要求:使用 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 — 共享标签:病理图像 / 肿瘤学 / 图像分类 / 评测基准
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

