基于Python的HE染色结果标准化

基于Python的HE染色结果标准化 HE染色图像标准化对于非计算机专业的人来说有点麻烦啥都不会连当个脚本小子都不会找到了一个网友写的python代码基于A. Vahadane, T. Peng, A. Sethi, S. Albarqouni, L. Wang, M. Baust, K. Steiger, A. M. Schlitter, I. Esposito, and N. Navab, “Structure-Preserving Color Normalization and Sparse Stain Separation for Histological Images,” IEEE Trans. Med. Imaging, vol. 35, no. 8, pp. 1962–1971, 2016.这篇文章代码在GitHubGitHub - xindubawukong/Vahadane: Structure-Preserving Color Normalization and Sparse Stain Separation for Histological Images需要安装spams和cv2opencv在conda中安装conda install opencvspams win安装pip install spams-bin照着给出的示例改了改也不会什么写代码反正能凑合着用增加了一个批处理import numpy as np import matplotlib.pyplot as plt import spams import cv2 import utils import os from vahadane import vahadane from sklearn.manifold import TSNE %load_ext autoreload %autoreload 2 %matplotlib inline # 定义批量处理的源文件夹和目标文件夹 source_folder ./data/spleen/ target_path ./data/spleen/K85-1-4.tif result_folder ./output/ # 注意这里是结果文件夹而不是结果文件路径 # 获取源文件夹下的所有文件路径 source_files os.listdir(source_folder) # 遍历每个文件并进行处理 for file_name in source_files: # 构造完整的源文件路径和目标文件路径 source_path os.path.join(source_folder, file_name) # 使用 os.path.splitext() 分离文件名和扩展名 file_name_without_extension, extension os.path.splitext(file_name) # 构建输出文件名加上 Spleen- 前缀 result_file_name Spleen- file_name_without_extension extension output_path os.path.join(result_folder, result_file_name) # 使用 output_path 保存当前文件的输出路径 # 读取源图像和目标图像 source_image utils.read_image(source_path) # 如果成功读取了图像 if source_image is not None: target_image utils.read_image(target_path) vhd vahadane(LAMBDA10.01, LAMBDA20.01, fast_mode1, getH_mode0, ITER50) Ws, Hs vhd.stain_separate(source_image) Wt, Ht vhd.stain_separate(target_image) img vhd.SPCN(source_image, Ws, Hs, Wt, Ht) cv2.imwrite(output_path, cv2.cvtColor(img, cv2.COLOR_RGB2BGR)) # 使用 output_path 作为结果文件的路径 else: print(无法读取图像文件, source_path)注意目录和文件不要有英文虽然原作者用的是.png格式不过不知道为啥我这里跑.png就报错这东西麻烦是麻烦点总比拍照片拍几天舒坦