全尺寸病理图像读取方法

openslide读取全尺寸病理图像方法

全扫描(whole slide image)图像非常的大,处理起来比较麻烦,openslide提供了一个很好的接口,具体参考openslide官网http://openslide.org/api/python/

import openslide
  • opensilde.OpenSlide(filename)——读取图像
slide = openslide.OpenSlide('path/to/img/1.tif')

或者

img_path = 'path/to/img/1.tif'
slide1 = openslide.OpenSlide(img_path)
  • 图像的尺寸
print(slide.level_dimensions[0])

level_count是幻灯片中的级别数。级别从0(最高分辨率)到 level_count - 1(最低分辨率)编号。dimensions[0] 就表示在0级别下,也就是最高分辨率的情况下slide的宽和高(元组)

downsamples代表的将原始WSI图像进行缩放的倍数,与level_dimentions是相对应的:

# 原始图像经各个level水平缩放后的长和宽
In [10]: slide.level_dimensions
Out[10]:
((97792, 221184),
 (48896, 110592),
 (24448, 55296),
 (12224, 27648),
 (6112, 13824),
 (3056, 6912),
 (1528, 3456),
 (764, 1728),
 (382, 864),
 (191, 432))

# downsamples,下采样因子,将原始WSI图像进行缩放的倍数,与level_dimentions是相对应的
In [12]: slide.level_downsamples
Out[12]: (1.0, 2.0, 4.0, 8.0, 16.0, 32.0, 64.0, 128.0, 256.0, 512.0)
 
# level_dimentions图像的长宽乘以对应的level_downsamples的缩放倍数,可以得到原始图像大小
In [16]: np.array(slide.level_dimensions[-1])*slide.level_downsamples[-1]
Out[16]: array([ 97792., 221184.])

get_best_level_for_downsample(downsample) :对给定的下采样因子返回一个下采样级别,参数downsamples必须是浮点数

slide_downsamples = slide.get_best_level_for_downsample(5.0)
print slide_downsamples
上述代码得到  2 
  • patch = numpy.array(slide.read_region(起始点坐标, 选取的图像等级, 选取的图像等级下的宽高)),
    read_region(location, level, size) 返回一个RGBA图像,包含指定区域的内容。
tile = numpy.array(slide.read_region((0,0),6,slide.level_dimensions[6]))
  • get_thumbnail(size) 返回一个缩略图的RGB图像,size为(width,height)元组
slide_thumbnail = slide.get_thumbnail(slide.level_dimensions[6])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值