OpenSlide使用教程

发布时间 2023-05-09 14:29:13作者: 一杯清酒邀明月

  WSI(Whole-Slide-Image)的病理切片大小为几十M到几G不等,原图像素点可达到上亿,常规的python图像读取方式无法直接处理。因此,openslide的使用,可以还原金字塔构建、生成tiles、指定区域切片提取等。
本文是自己在学习和实验中用过的openslide的常用方法的总结。
官网链接: https://openslide.org/api/python/

1、level_count属性
病理图为金字塔结构,level_count属性是获取svs有多少层。在svs中存储了每一层采样的tiles。一般情况下Level0为原图,也就是highest resolution,然后每一级进行下采样,level_count -1为lowest resolution。

1 import openslide as opslide
2 
3 #读取svs格式的病理图
4 slide = opslide.open_slide('../WSI/HobI17-092737210733.svs')
5 level_count = slide.level_count
6 print('level_count: ', level_count)
level_count: 3

2、level_dimensions
获取宽高

1 level_dim = slide.level_dimensions
2 print('level_dim: ', level_dim)
3 l = len(level_dim)
4 print('l: ',l)
5 wh = np.zeros((l, 2))
6 for i in range(l):
7     print('level: ', i)
8     wh[i, :] = level_dim[i]
9     print('w: ', wh[i,0], ' ,h: ', wh[i,1])
level_dim: ((25895, 31579), (6473, 7894), (1618, 1973))
l: 3
level: 0
w: 25895.0 ,h: 31579.0
level: 1
w: 6473.0 ,h: 7894.0
level: 2
w: 1618.0 ,h: 1973.0

由此可以看出每次的下采样为4。