本文主要是介绍openslide安装以及常见命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. openslide安装
conda install openslide
conda install openslide-python
2. openslide常用命令
- 读取文件
import openslide
from openslide.deepzoom import DeepZoomGeneratordata_path = './TCGA-IB-7890-01Z-00-DX1.B71A3F90-DBD9-4010-9152-0DEF1459B93E.svs'
#
wsi = openslide.open_slide(data_path)
其运行方式类似 python 的文件系统,即建立一个和文件的连接,在对文件进行处理的同时实时的传输数据,而不是将数据直接放入内存中。
- 图像的原始大小:
[w,h] = wsi.level_dimensions[0]
输出:
113543 76343
- 图像切块
各参数及其含义,参考官方说明:
class openslide.deepzoom.DeepZoomGenerator(osr, tile_size=a, overlap=1, limit_bounds=False)
- osr – slide对象(open_slide读取的对象)
- tile_size (int) – 单个图块的宽度和高度。
- overlap (int) – 裁剪的图像与图像之间的重叠
- limit_bounds (bool) – True 则仅渲染非空的切片的区域
dz = DeepZoomGenerator(wsi, tile_size=256, overlap=0, limit_bounds=False)
只需要上方这一行代码,就实现了切割操作,将原始WSI根据不同分辨率分成多层,并在不同分辨率下切割成多个块;
- 层数(不同分辨率数)
print('生成的层数:',dz.level_count)
输出:
生成的层数: 18
- 切割的块数
print('切分成的块数:',dz.tile_count)
输出:
切分成的块数: 177241
- 每层尺寸大小
print('每层尺寸大小:',dz.level_dimensions)
输出:
每层尺寸大小: ((1, 1), (2, 2), (4, 3), (7, 5), (14, 10), (28, 19), (56, 38), (111, 75), (222, 150), (444, 299), (888, 597), (1775, 1193), (3549, 2386), (7097, 4772), (14193, 9543), (28386, 19086), (56772, 38172), (113543, 76343))
- 切分后每层的块数
print('切分的每层的块数:',dz.level_tiles)
输出:
切分的每层的块数: ((1, 1), (1, 1), (1, 1), (1, 1), (1, 1), (1, 1), (1, 1), (1, 1), (1, 1), (2, 2), (4, 3), (7, 5), (14, 10), (28, 19), (56, 38), (111, 75), (222, 150), (444, 299))
113543//256=443.52≈444
76343/256 = 298.2≈299
这篇关于openslide安装以及常见命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!