python,Openslide自动切.SVS格式(WSI)病理图像

随着深度学习在医疗界的发展,病理图像也越来越来重要。但是病理图像大多数在10万×10万分辨率,用平常的图像处理库没有办法读取。开源的openslide库提供清洁便利的读取方法。
首先安装,openslide,如果是ubuntu用户,直接 sudo apt install python-openslide,然后
导入库

import openslide

然后导入DeepZoomGennerator,主要是多层金字塔形式封装

from openslide.deepzoom import DeepZoomGenerator

打开所需要读入的文件,给出文件名,

slide = openslide.open_slide('02.svs')

类别调用

highth = 2000
data_gen = DeepZoomGenerator(slide, tile_size=highth, overlap=0, limit_bounds=False)
  • tile_size可以设成自己想切的图像大小。
  • limit_bounds表示的是大图整个边缘可能达不到自己设的长和宽。False,则丢弃边缘图。True,保存
  • overlap表示的是否边缘overlap,引入其他信息
    输出总共切图个数和一共有多少个金字塔,
print(data_gen.tile_count)
print(data_gen.level_count)
1036
17
  • num_w,图像切片宽度个数
  • num_h, 图像切片长度个数
  • data_gen.get_tite(level,(row,col)),level范围在data_gen.level_count,最大的为金字塔底层,最小为0。row,范围是(0,num_w)。col,范围是(0,num_h).还有其他的API切图,可以看官方文档
    也可以自己实现,不调用API.
num_w = int(np.floor(w/width))+1
num_h = int(np.floor(h/highth))+1
for i in range(num_w):
    for j in range(num_h):
        img = np.array(data_gen.get_tile(16, (i, j))) #切图
        io.imsave(join(result_path, "02"+str(i)+'_'+str(j)+".png"), img) #保存图像
SVS是一种常用的数字病理图像格式,通常用于存储组织图像WSI表示全扫描图像,它是一种高分辨率的数字病理图像格式,可以用于详细分析组织结构。 要对SVS格式WSI图像进行分割,可以使用计算机视觉和图像处理技术。以下是一般的步骤: 1. 加载图像:使用适当的图像处理库或软件加载SVS格式WSI图像。 2. 预处理:进行预处理操作,如调整图像大小、调整亮度和对比度等,以便更好地适应后续的分割算法。 3. 区域选择:根据具体任务的需求,选择感兴趣的区域进行分割。可以使用手动选择或自动选择算法来确定感兴趣区域。 4. 特征提取:根据分割任务的要求,提取适当的特征。可以使用传统的计算机视觉特征提取方法,如纹理特征、颜色特征等,也可以使用深度学习方法进行端到端的特征学习。 5. 分割算法:根据特征和任务需求,选择合适的分割算法。常见的分割算法包括阈值分割、区域生长、边缘检测、分水岭算法等。 6. 后处理:对分割结果进行后处理操作,如去噪、填充空洞、平滑边界等,以提高分割的准确性和鲁棒性。 请注意,SVS格式WSI图像通常具有很高的分辨率和复杂的结构,因此图像分割可能需要大量的计算资源和时间。此外,对于特定的分割任务,可能需要针对具体应用场景进行算法的优化和调整。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水煮城府、器

谢谢你的欣赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值