当前位置: 首页 > news >正文

基于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就报错这东西麻烦是麻烦点总比拍照片拍几天舒坦
http://www.zskr.cn/news/1355070.html

相关文章:

  • 惠普OMEN游戏本性能管家:OmenSuperHub让你的笔记本重获新生
  • filer.js vs 传统文件API:为什么这个类UNIX封装库能提升3倍开发效率?
  • 杭州市拱墅区悦夏废品:专业的杭州厂房拆除选哪个公司 - LYL仔仔
  • AI-HF_Patch终极指南:如何为AI-Shoujo游戏安装完整增强补丁
  • Ventoy启动盘制作终极指南:一U盘启动所有系统的免费解决方案
  • TV Bro电视浏览器:终极Android电视网页浏览解决方案,让大屏上网变得简单高效
  • TQVaultAE:分布式游戏资产管理系统的架构设计与技术实现
  • 如何高效使用Poppins字体:跨语言几何字体完全指南
  • 如何快速安装HS2-HF Patch:HoneySelect2终极汉化与MOD整合完整指南
  • 从0到1开发filer.js应用:构建一个功能完备的浏览器文件管理器
  • 读写场景下的锁选择策略
  • 【Python】模块module/软件库package安装及问题(自用)
  • 解决Windows系统顽固组件移除难题:EdgeRemover技术解析与实现
  • 长春主流敬老院品牌盘点:适配多元养老需求 - 奔跑123
  • 显卡驱动清理终极指南:如何用DDU彻底解决驱动问题
  • react-contextmenu无障碍访问指南:键盘导航与屏幕阅读器支持
  • 如何实现跨平台资源下载神器:从微信视频号到抖音网页版的全能解决方案
  • 终极浏览器自动化控制方案:Chrome DevTools Protocol 完整指南
  • REFramework开发指南:从零构建RE引擎游戏的高级Mod系统
  • 反PUA30天 Day24:被PUA久了,你可能已经中了这三个自我怀疑 |乐想屋
  • 长春正规疗养院排行:5家机构核心服务全解析 - 奔跑123
  • Balena Etcher:3分钟学会安全烧录系统镜像的终极指南
  • Finch微服务部署:基于Finagle的生产环境最佳实践
  • Shutter Encoder:突破专业视频处理瓶颈的开源编码解决方案
  • 番茄小说下载器:三分钟搞定海量小说离线阅读终极指南
  • 强力解锁Unity游戏资源:UABEA助你轻松编辑Asset Bundle文件
  • Sigil EPUB编辑器终极教程:5个技巧让你3倍效率提升
  • FinceptTerminal社区贡献指南:如何参与开源项目并提交优质代码
  • 为Hermes Agent配置自定义Taotoken提供商接入大模型
  • PHP二维码生成与读取终极指南:从基础到高级应用的完整解决方案