热力图和PCA降维图
程序员文章站
2022-03-27 12:46:02
## 标题热力图和PCA降维图@TOC数据介绍部分:这次作图是基于医院胃的WSI图切成的patch,我们保存的格式是h5的格式,这部门数组会用来生成热力图;PCA图调用的是测试生成的slide_id.npy文件(由tok-50的归一化数组构成)。[slide数据是这样,每张wsi的topk-50(postive)和topk-50(negtive),分别对应着数组数据和patch_id.接下来给出部分heatmap和PCA代码。import numpy as npimport matplotli...
热力图和PCA降维图(热力图和PCA降维图)
- 数据介绍部分:这次作图是基于医院胃的WSI图切成的patch,我们保存的格式是h5的格式,这部门数组会用来生成热力图;PCA图调用的是测试生成的slide_id.npy文件(由tok-50的归一化数组构成)。
[slide数据是这样,每张wsi的topk-50(postive)和topk-50(negtive),分别对应着数组数据和patch_id. - 接下来给出部分heatmap和PCA代码。
import numpy as np
import matplotlib.pyplot as plt
import torch
import os
import h5py
from PIL import Image
from sklearn.decomposition import PCA
def heatmap(index)
f=h5py.file(r"xxxxx.h5",'r')
keys = []
for key in f.keys():
keys.append(key)
print('keys',keys)
for i in index:
arr = f['imgs'].value[i]
img = Image.froarray(arr,'RGB')
save_path = os.path.join(str(i)+'_pos.png')
img.save(save_path)
def PCA_pic():
path = r"xxx.npy"
data = np.load(path,allow_pickle = True)
pca_data = data[63]#这边第63个元素是clam_model里data_csv对应的h5文件的np数组数据
postive_data = pca_data['postive_data']
negative_data = pca_data['negative_data']
postive_idx = pca_data['postive_idx']
negative_idx = pca_data['negative_idx']
pca_data = torch.cat((postive_data,negative_data),0)
make_heatmap(negative_idx.tolist())
pca = PCA(n_components = 2)
reduced_X = pca.fix.transform(pca_data)
plt.scatter([x[0] for x in reduced_X[0:50]],[x[1] for x in reduced_X[0:50]],c = 'r')
plt.scatter([x[0 for x in reduced_X[50:100]],[x[1] for x in reduced_X[50:100],c='b')
plt.show()
我可能会跌倒,但我总是会再爬起来,谢谢诶
感谢一直帮助的小伙伴!
本文地址:https://blog.csdn.net/qq_43504327/article/details/110480558
上一篇: Django xadmin安装及使用详解
推荐阅读