欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

热力图和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降维图)

  1. 数据介绍部分:这次作图是基于医院胃的WSI图切成的patch,我们保存的格式是h5的格式,这部门数组会用来生成热力图;PCA图调用的是测试生成的slide_id.npy文件(由tok-50的归一化数组构成)。热力图和PCA降维图
    [slide数据是这样,每张wsi的topk-50(postive)和topk-50(negtive),分别对应着数组数据和patch_id.
  2. 接下来给出部分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