refer:

(CNS复现)CLAM——Chapter_00_clam复现-CSDN博客

  1. 切patch
python create_patches_fp.py --source /data/qgking/zkx/WSI_datasets/PAIP/img --save_dir /data/qgking/zkx/CLAM/Datasets/paip2020 --patch_size 256  --seg --patch --stitch

每张大小不一样,发现patch数目也不同的

生成csv文件,将自动生成的process_list_autogen.csv处理成Step_2.csv

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 提取特征
CUDA_VISIBLE_DEVICES=0 python extract_features_fp.py --data_h5_dir /data/qgking/zkx/CLAM/Datasets/paip2020 --data_slide_dir /data/qgking/zkx/WSI_datasets/PAIP/img --csv_path /data/qgking/zkx/CLAM/Datasets/paip2020/Step_2.csv --feat_dir /data/qgking/zkx/CLAM/FEATURES_DIRECTORY/paip_msi_vs_mss_resnet_features --batch_size 512 --slide_ext .svs

默认是resnet提取

使用之前存下来的patch的坐标信息,在整个wsi图片上进行裁减,最后得到若干张固定大小和固定通道的patch

生成Step_3.csv文件,这边会用到下载的原始csv文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. spilt

修改添加自己的任务

parser.add_argument('--task', type=str, choices=['task_1_tumor_vs_normal', 'task_2_tumor_subtyping','task_3_msi_vs_mss']) # add your task here

运行后文件生成在splits文件夹,8:1:1 进行10折划分

 python create_splits_seq.py --task task_3_msi_vs_mss --seed 1 --label_frac 0.75 --k 10

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. train

安装topk

git clone https://github.com/oval-group/smooth-topk.git
cd smooth-topk
python setup.py install
  1. eval

修改代码,添加task

 CUDA_VISIBLE_DEVICES=0 python eval.py \--drop_out 0.25 \--k 10 \--models_exp_code /data/qgking/zkx/CLAM/results/task_3_msi_vs_mss_CLAM_50_s1 \--save_exp_code task_3_msi_vs_mss_CLAM_50_s1_cv \--task task_3_msi_vs_mss  \--model_type clam_sb \--results_dir results \--data_root_dir /data/qgking/zkx/CLAM/FEATURES_DIRECTORY

结果,因为张数太少吧,结果不是很好

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 可视化

还没弄


总结:

构建两个model,第一个model用于进一步的提取特提取,第二个model用于分类。

现在第一个不动。第二个分类网络替换成其他的然后运行train不就可以了么


PAIP自己的二分类方法

chhan95/PAIP2020: MSI-High Classification in Colorectal Cancer

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐