日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

医学病理图片(SVS格式)的格式转换与显示——python实现

發布時間:2023/12/16 python 83 豆豆
生活随笔 收集整理的這篇文章主要介紹了 医学病理图片(SVS格式)的格式转换与显示——python实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在公司一直忙于做svs文件的處理工作,期間看了很多的博客還有國外的一些api文檔,感覺稍微有了點了解,所以打算寫下這篇博客記錄這段時間的工作情況;

SVS文件是什么?

最開始拿到SVS文件一臉懵逼的,這貨長這樣(在windows下可以用Aperio ImageScope這個開源軟件打開):

我現在接觸的這種圖片的大小一般在60M-1.5G之間,可以將圖片放大到20倍左右,上面的這張圖片來自于網站https://openslide.org/demo/,支持網頁在線查看,有興趣小伙伴可以去這個網站看看。當圖片放大到最大分辨率時,可以看到組織里面的每一個細胞,可以說真的非常高清了。

SVS文件如何轉存成通用格式(保持高分辨率)?這里以上面鏈接里面的 CMU-1-JP2K-33005.svs 文件為例,文件大小為:132.6M

我首先想到了opencv,因為圖片處理這一塊opencv比較方便。但是令我想不到的是,opencv竟然讀取的時候就出錯了“ cv2.error: OpenCV(3.4.2) /io/opencv/modules/imgcodecs/src/loadsave.cpp:74: error: (-215:Assertion failed) pixels <= (1<<30) in function 'validateInputImageSize' ”,說明svs文件大小超出范圍,于是我只能換其他方法。

然后我google了很多方法(注:以下很多網站都得翻墻...):

1. OpenSlide(openslide-python): https://openslide.org/

OpenSlide這是一個開源C庫,有python的接口,很好用。具體的openslide的使用,大家可以自行百度,這里有一個不錯的鏈接:https://blog.csdn.net/weixin_41787032/article/details/79817926

不得不說,openslide對于病理圖片的切片處理還是很不錯的,但是要想把保存整張高分辨率圖片,我很驚訝地發現,圖片的大小以倍數增加(使用tiff格式存儲,大概擴大了十倍,但是如果以jpg格式的話,圖片確實會很小,但是是屬于有損壓縮,這里并沒有選擇。話說png也是個不錯的選擇),因為我取的是 level=0下的dimensions,這樣可以保持圖片的最大分辨率,但是與此同時,如果圖片再大一點或者電腦的性能略低的話,電腦就有可能卡死,或者報MemoryError的錯誤,于是我放棄了繼續使用openslide。下面是我的代碼,很簡單:

import openslide import numpy as np import scipy.misctest = openslide.open_slide('test.svs')img = np.array(test.read_region((0, 0), 0, test.dimensions)) scipy.misc.imsave('test.tif', img)

2. libvips(pyvips): http://jcupitt.github.io/libvips/API/current/Examples.md.html

libvips也是一個C庫,但是也有python接口,叫pyvips,使用方法請查看官方文檔:https://libvips.github.io/pyvips/。

這個方法有點無腦了,直接讀取然后存儲,一點兒都不拖泥帶水。但是問題是,存儲后的圖片大小變得特別大,但是不會出現存儲不了的情況,也就是不會出現內存錯誤之類的現象而導致存儲失敗。下面是我的代碼:

import pyvipsimg = pyvips.Image.new_from_file('test.svs', access='sequential') img.write_to_file('test.tif')

3. reaConverter(windows軟件,支持命令行批量操作)

這是一款windos下的軟件,可以支持多種格式的圖片自動轉換,這是鏈接:https://www.reaconverter.com/convert/svs_to_tiff.html。問題是,轉換過后的圖片大小依然非常大,而且轉換時間很長,每一樣都是我所不能接受的。而且,軟件也是付費的,傷不起。。。(軟件長這個樣子)

其實,對于svs文件的高分辨率存儲,我現在也還是沒有太好的解決辦法。我現在所能存儲的結果都是,文件變得特別大,這樣對于存儲以及后續的處理都非常麻煩,所以我們研究了一下,還是決定對svs文件進行切片處理,然后進行識別等一系列操作,存儲這一環節就被省略掉了。如果大家有什么好的建議不妨探討一下;

SVS文件的顯示

這里我就直接說方法了,也就是很牛掰的Deep Zoom。微軟有一個軟件叫做DeepZoomComposer,原理和這個一樣,可以實現將一張高清大圖分成好幾個分辨率下的小圖,并且小圖是由一張張小的切片組成的,下面是這種圖片的效果(左邊是縮略圖,右邊是最大分辨率下眼睛部位的圖片):

既然這么牛掰的技術,python肯定也會有相應的api的。有很多庫都支持deep zoom,像:openslide,py_wsi,pyvips等等,不過這里我還是要用pyvips,不為什么,只是因為簡單無腦。。。下面是將svs文件轉換成dzi文件格式保存:

import pyvipsimg = pyvips.Image.new_from_file('test.svs', access='sequential') img.dzsave('test')

執行以上代碼后,會生成兩份文件,分別是:test.dzi,test_files,前者是單個文件,后者是一個文件夾,里面存儲了svs文件不同分辨率下的切片,test.dzi里面的文件內容如下:

<?xml version="1.0" encoding="UTF-8"?> <Image xmlns="http://schemas.microsoft.com/deepzoom/2008"Format="jpeg"Overlap="1"TileSize="254"><Size Height="32893"Width="46000"/> </Image>

要想將dzi文件展示出來,有一個java庫叫做OpenSeaDragon(https://openseadragon.github.io/examples/tilesource-dzi/),將OpenSeaDragon下載下來并解壓放在任何一個你喜歡的本地文件夾中,重命名為:openseadragon。此外還需要一個html文件(源自:https://blog.csdn.net/qianqianyixiao1/article/details/50420398),這里起名為test.html,內容如下:

<!DOCTYPE html> <html lang='en'><head><meta charset='UTF-8'><title>OpenSeadragon_Demo0</title><script src='../openseadragon.min.js'></script> </head><body><div id='openSeadragon1' style='width:1850px; height:960px;'></div> </body><script type='text/javascript'>OpenSeadragon({id: 'openSeadragon1',prefixUrl: '../images/',tileSources: {Image: {xmlns: 'http://schemas.microsoft.com/deepzoom/2008',Url: './test_files/',Overlap: '1',TileSize: '254',Format: 'jpeg',Size: {Height: '32893',Width: '46000'}}}}); </script></html>

記得將里面的數據替換成dzi文件里面的數據,然后就可以將test.dzi文件刪除了。然后將test.html和test_files文件夾置于同一目錄(這里我的目錄起名為:zoomFiles)下,然后放入到openseadragon文件夾中(下圖所示),然后你就可以點擊test.html文件,在網頁里就能得到顯示對應的結果了(如下圖所示,最后一張為文件存放規則)。

總結

以上是生活随笔為你收集整理的医学病理图片(SVS格式)的格式转换与显示——python实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 少妇无码一区二区三区免费 | 中文字幕在线观看网 | 久久精品区 | 女人下部全棵看视频 | 中文字幕乱码一区二区三区 | 国产一区二区精品在线观看 | 日韩免费片 | 欧美精品五区 | 高清乱码免费看污 | 女仆乖h调教跪趴1v1 | 爱如潮水3免费观看日本高清 | 大地资源中文第三页 | 三级久久久 | 男男gay羞辱feet贱奴vk | 一级淫片免费看 | 天天操天天射天天舔 | 亚洲欧美影院 | 不卡三区 | 国产a毛片 | 国产精品美女一区二区三区 | av成人免费 | 6080福利| 国内精品久久久久久久久 | 特级新鲜大片片 | 日韩丰满少妇无码内射 | 国产精品一品二区三区的使用体验 | 亚洲一区二区色图 | 天堂资源中文在线 | av黄色一级片 | 国产视频二 | 看片网址国产福利av中文字幕 | 日韩一区二区三区免费 | 另类天堂 | 337p日本欧洲亚洲大胆精筑 | 青青青在线免费观看 | 国产精品无遮挡 | 日本中文在线 | 天天噜夜夜噜 | 国产精品伦理一区 | 狠狠操伊人 | 97国产高清 | 久久福利小视频 | 成人手机在线播放 | 欧美性爱精品一区 | 一级黄色av| 成人羞羞网站 | 天堂va欧美va亚洲va老司机 | 欧美日本韩国一区 | 无码精品a∨在线观看中文 福利片av | 日本免费无人高清 | 国产成人在线网站 | 久久成人久久爱 | 日韩av网址大全 | 国产jk精品白丝av在线观看 | 亚洲a∨无码无在线观看 | 丁香婷婷色 | 欧美人妻一区二区 | 男女考妣视频 | 亚洲成a人 | 国产夫妻在线观看 | 国产 第1190页 | 丰满肥臀噗嗤啊x99av | 黄色小视频免费看 | 男生把女生困困的视频 | 少妇做爰免费视看片 | 免费观看一区二区 | 久久福利视频网 | 国产精品久久久久久久久久久久久久久久久久 | 天堂中文在线免费观看 | 天天摸天天碰 | 亚洲精品观看 | 超污视频在线观看 | 亚洲 欧美 激情 另类 校园 | 亚洲天堂网址 | 91色蝌蚪| 精品人妻中文无码av在线 | 人人妻人人澡人人爽欧美一区双 | 色图自拍偷拍 | 欧美视频日韩视频 | 中国一级特黄录像播放 | 中文字幕一区二区三区久久久 | 久久国产加勒比精品无码 | 亚洲第一在线播放 | 天天碰免费视频 | 深夜小视频在线观看 | 欧美怡红院视频一区二区三区 | 任你躁av一区二区三区 | 男女羞羞在线观看 | 一区二区三区少妇 | 亚洲国产日韩一区 | 国产一区二区三区在线视频 | 无码一区二区三区免费 | 国产精品久久久久久久久久久久久久久久久久 | 免费午夜视频在线观看 | 色夜av| 日本久久网 | 欧美日韩一卡 | 国产成人tv | 在线观看一二三区 |