加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

LINUX教学:openslide-python使用心得

发布时间:2020-12-13 17:53:08 所属栏目:Linux 来源:网络整理
导读:《LINUX教学:openslide-python使用心得》要点: 本文介绍了LINUX教学:openslide-python使用心得,希望对您有用。如果有疑问,可以联系我们。 全扫描(whole slide image)图像非常的大,处理起来比拟麻烦,openslide提供了一个很好的接口,具体参考openslide官网h

《LINUX教学:openslide-python使用心得》要点:
本文介绍了LINUX教学:openslide-python使用心得,希望对您有用。如果有疑问,可以联系我们。

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

起首先导入模块,这里是openslide-matlab的安装?

安装openslide-python下面两个敕令就可以了

sudo apt-get install openslide-tools

sudo apt-get install python-openslide

import?openslide?

(1)、opensilde.OpenSlide(filename)——读取图像

?slide = openslide.OpenSlide('/media/xhj/LENOVO/data/Metastasis/Tumor_005.tif')?

(2)、close()——封闭图像

slide.close()?

level_count——幻灯片中的级别数.级别从0(最高分辨率)到level_count - 1(最低分辨率)编号.这里没理解slide级别数是什么意思,代码返回为10,可能应该是slide的层数,好比40倍,20倍,10倍等有多少层

level_count = slide.level_count?
print 'level_count = ',level_count?

上述代码获得 level_count =? 10

(3)、dimensions? ? ? ? (width,height)在0级别下,也便是最高分辨率的情况下slide的宽和高(元组)

[m,n] = slide.dimensions #得出高倍下的(宽,高)(97792,219648)?
print (m,n)?

上述代码得到? (97792,219648),图像够年夜的

(4)、level_dimensions[k]? ? 得到(width,height)元组,k下级别k,是指在k水平下的下面举例就知道k的意思,每张全扫描最高级别是0,也便是最高分辨率,这个分辨率在不同的全扫描图片中是不一样的,有的第0层是40倍,第二层是10倍,而有的第0层是20倍,k指对应的层数

[m1,n1] = slide.level_dimensions[1] #级别k,且k必需是整数,下采样因子和k有关?
print (m1,n1)? ? ? # m1 = m/下采样因子 此时k为1?

上述代码得到? ? ? ? (49152,110080)? ? 如果k为2 得到? (24576,55296) ? k为3得到? (12288,27648)
(5)、level_downsamples? ? 每一个级别K的对应的下采样因子,下采样因子应该对应一个倍率

slide_level_downsamples = slide.level_downsamples[2]?
print slide_level_downsamples?

上述代码获得? 3.97569444444?

(6)、get_best_level_for_sownsample(downsample)? 对给定的下采样因子返回一个下采样级别,downsamples必需是浮点数

?slide_downsamples = slide.get_best_level_for_downsample(5.0)?
print slide_downsamples?

上述代码获得? 2? ?

(7)、read_region(location,level,size)? 返回一个RGBA图像,包括指定区域的内容.location指0级别下左上角位置的坐标,元组,level指级别,整数,size是(width,height)是元组,

tile?=?numpy.array(slide.read_region((0,0),6,?(1528,3432)))?

plt.figure()?

plt.imshow(tile)?

pylab.show()?

上述代码可以得到左上角坐标(0,6级别下,年夜小是(1528,3432)的图
(8)、get_thumbnail(size)? 返回一个缩略图的RGB图像,size为(width,height)元组

slide_thumbnail = slide.get_thumbnail((1528,3432))?
tile = numpy.array(slide_thumbnail)?
# scipy.misc.imsave('/home/xhj/PycharmProjects/openslide-experiment/save/thumbnail.jpg',tile)?
plt.imshow(slide_thumbnail)?
plt.imshow(tile)?
pylab.show()?

本文永远更新链接地址

linux

学习更多LINUX教程,请查看站内专栏,如果有LINUX疑问,可以加QQ交流咨询。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读