HistoEMC-ViT:基于深度学习与ViT的子宫内膜癌分子分类项目

深度学习病理组学子宫内膜癌分子分型

分支1Tags0
文件最后提交记录最后更新时间
6 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
4 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前
10 个月前

深度学习通过活检及冰冻组织病理图像预测子宫内膜癌分子分型:一项多中心前瞻性诊断研究

Figure 1.png

本仓库包含 HistoEMC-ViT 的代码,源自

刘青青等人的《深度学习通过活检及冰冻组织病理图像预测子宫内膜癌分子分型:一项多中心前瞻性诊断研究》。

前置条件

依赖项

本代码在以下依赖环境中测试通过:

  • Python 相关依赖项
    • python 3.9
    • cython 0.29.24
  • PyTorch 相关依赖项
    • pytorch 1.8.2
    • torchvision 0.9.2
    • tensorboardX 2.4
    • einops 0.3.2
    • timm 0.4.12
  • numpy 1.19.5
  • scipy 1.7.1
  • pandas 1.3.2
  • pyTables 3.5.2
  • h5py 3.1

Conda 环境

修改 shell_scripts/setup_environment.sh 中的 conda 环境信息,以便在 meta-main.sh 中使用。

数据集准备

dataset_files/TCGA-Molecular Classification of Endometrial Cancer/info/example.csv 中提供了一个包含 80 张 TCGA 切片的示例数据集。

请从 癌症基因组图谱(TCGA) 下载相应的切片(svs 格式),并保存至 dataset_files/TCGA-Molecular Classification of Endometrial Cancer/WSI

在后续步骤中,中间结果将保存至 dataset_files/TCGA-Molecular Classification of Endometrial Cancer 的子目录下。

创建图像块

从切片中提取 1024×1024 图像块的方法如下:

bash meta-main.sh create_patches

结果将保存至dataset_files/TCGA-Molecular Classification of Endometrial Cancer/patches

提取特征

使用特征提取器ViT-L-16提取特征的步骤如下:

bash meta-main.sh extract_feature 

结果将保存至dataset_files/TCGA-Molecular Classification of Endometrial Cancer/features

创建 Patch 图(适用于 HistoEMC-ViT + Graph,可选)

编译 Cython 扩展:

python setup.py build_ext --inplace

构建将自动保存为 pickle 文件的图表:

bash meta-main.sh build_slide_graph

结果将保存至dataset_files/TCGA-Molecular Classification of Endometrial Cancer/slide_graph

创建10折划分

bash meta-main.sh create_splits

数据集将被随机划分为10折。在每一折中,训练集与测试集的比例为9:1。

结果将保存至dataset_files/TCGA-Molecular Classification of Endometrial Cancer/splits

训练与评估

若要运行不包含切片图的HistoEMC-ViT聚合器训练,可使用TCGA-Molecular Classification of Endometrial Cancer-vit_aggr作为实验代码。此代码将config_files/TCGA-Molecular Classification of Endometrial Cancer-vit_aggr.yaml用作配置文件。

bash meta-main.sh train_eval TCGA-Molecular Classification of Endometrial Cancer-vit_aggr

要使用切片图运行 HistoEMC-ViT 聚合器训练,请将 TCGA-Molecular Classification of Endometrial Cancer 用作实验代码。这将使用 config_files/TCGA-Molecular Classification of Endometrial Cancer-graph_vit_aggr.yaml 作为配置文件。

bash meta-main.sh train_eval TCGA-Molecular Classification of Endometrial Cancer-graph_vit_aggr

汇总评估统计

本部分汇总各折的性能统计数据。根据已执行的实验情况,可使用

bash meta-main.sh eval_aggr TCGA-Molecular Classification of Endometrial Cancer-vit_aggr

bash meta-main.sh eval_aggr TCGA-Molecular Classification of Endometrial Cancer-graph_vit_aggr

性能统计信息将保存至dataset_files/TCGA-Molecular Classification of Endometrial Cancer/train/TCGA-Molecular Classification of Endometrial Cancer-graph_vit_aggr/fold_aggr

致谢

处理部分(补丁创建、特征提取和数据集划分)基于ViT-WSI的代码开发。感谢原作者将其代码公开供社区使用。