当前位置:   article > 正文

openslide包常用函数用法总结_slide.read_region

slide.read_region

前言

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


1、导入openslide包

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

import openslide
  • 1

2、读入WSI图像

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

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/244803
推荐阅读
相关标签
  

闽ICP备14008679号