《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 =? 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倍,第二層是10倍,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,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疑問,可以加QQ交流咨詢。