openslide包常用函数用法总结

前言

全视野数字切片(whole slide images, WSIs)尺寸可高达15w*15w像素,一般处理图像的库无法处理,需要用到openslide库。本文简要介绍openslide库中几个常用函数的用法。
详细用法介绍请参照:https://openslide.org/api/python/


1、导入openslide包

如果还没安装请去:http://t.csdn.cn/RT8lw

import openslide

2、读入WSI图像

#  读入WSI图像,生成一个slide实例
slide = openslide.Openslide('tumor_001.tif')

3、查看WSI的金字塔信息

医学影像大部分为金字塔结构,有多个level的分辨率,他们是按照一定的缩放倍数(下采样因子)进行缩放的。其中 level 0 的分辨率是WSI的最高分辨率

#  查看WSI的level数
print(slide.level_count)
#OUT:8

#  查看WSI各个level的分辨率
print(slide.level_dimensions)
#OUT: ((97792, 221184),(48896, 110592),(24448, 55296),(12224, 27648),
#(6112, 13824),(3056, 6912),(1528, 3456),(764, 1728))

#  查看WSI各个level的缩放倍数
print(slide.level_downsamples)
#OUT:(1.0, 2.0, 4.0, 8.0, 16.0, 32.0, 64.0, 128.0)

4、读取WSI指定区域

所用函数为: read_region(location, level, size) 返回一个 RGBA图像,参数介绍:
1.location:(tuple),表示 起始点在level 0下的坐标
2.level: (int),在哪个level下截取
3.size:(tuple),区域大小

#  读取level8的整个图像 size:(764, 1728)
image = slide.read_region((0,0), 8, slide.level_dimensions[8])
image = image.convert('RGB') #转换为RGB图像

#  在level 1分辨率下读取2个相邻的256*256大小的图像块
patch1 = slide.read_region((0,0), 1, (256,256))
patch2 = slide.read_region((0,512), 1, (256,256))
# level 1 下256相当于level 0 的512,缩放比例2倍

# 保存
patch1.save('tumor_level_8.png')

# 转换为ndarray
patch1_array = np.array(patch1)
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值