python-openslide

本文介绍了OpenSlide官网及下载安装方法,展示了利用其读取大图并下采样显示的示例。同时详细解释了OpenSlide的多个参数及用法,如读取图像、关闭图像,还说明了幻灯片级别数、不同级别下的宽高、下采样因子等概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openslide官网http://openslide.org/api/python/
可以下载使用,并安装
安装方法:

sudo pip install openslide-tools
sudo pip install python-openslide

 

下面贴一个自己利用openslide读取的大图,并进行下采样显示:

# -*- coding: utf-8 -*-
#coding:utf-8import openslide
import numpy
import matplotlib.pyplot as plt
from PIL import Image
import scipy.miscimport

timestart=time.time()
source=openslide.open_slide("/home/ccf/CCF/Colorecal-cancer_FCN/data/svs/2017-01-15-02-55-11.ndpi")    
#filelist=os.listdir(source)
#该文件夹下所有的文件(包括文件夹)
downsamples=source.level_down
samples[w,h]=source.level_dimensions[0]
size1=int(w*(downsamples[0]/downsamples[2]))
size2=int(h*(downsamples[0]/downsamples[2]))
region=numpy.array(source.read_region((0,0),2,(size1,size2)))
scipy.misc.imsave("/home/ccf/CCF/Colorecal-cancer_FCN/data/save/2017-01-15-02-55-11_2.tif" ,region)
end=time.time()
print(end-start)
#plt.figure()
#plt.imshow(region)
#plt.show()
#print (region)

   

大家看看就好,可以借鉴一下,写的不好
下面解释一些openslide的里面的一下参数,并说明用法
(1)、opensilde.OpenSlide(filename)——读取图像

source=openslide.open_slide("/home/ccf/CCF/Colorecal-cancer_FCN/data/svs/2017-01-15-02-55-11.ndpi")

 

(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 #得出高倍下的(宽,高)    
print (m,n)  

 

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

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

 

(5)、level_downsamples 每一个级别K的对应的下采样因子,下采样因子应该对应一个倍率

slide_level_downsamples = slide.level_downsamples[2]      
print slide_level_downsamples 

 

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

 

 slide_downsamples = slide.get_best_level_for_downsample(5.0)
 print slide_downsamples  

 

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

 tile = numpy.array(slide.read_region((0,0),6, (size1,size2)))  


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值