Win10安裝openslide-python介面處理醫學SYS格式檔案

DeepHao發表於2020-12-30

下載

首先進入官網下載Win10平臺的Binaries檔案,需要根據自己的系統下載32位或64位Binaries檔案
1

配置與安裝

然後解壓,放置在你想要放置的目錄,新增bin以及lib環境變數
1
然後輸入

pip install openslide-python

安裝完成後就可以使用了
在這裡插入圖片描述

SVS轉PNG

我們以資料夾第一張圖為例,由於這裡我們的SVS儲存的格式為RGBA四個通道,所以轉成jpeg會報錯(別問我怎麼知道它存的RGBA,因為我存JPG報錯了的φ(゜▽゜*)♪),報錯如下:

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
e:\anaconda3\envs\paddle\lib\site-packages\PIL\JpegImagePlugin.py in _save(im, fp, filename)
    613     try:
--> 614         rawmode = RAWMODE[im.mode]
    615     except KeyError as e:

KeyError: 'RGBA'

The above exception was the direct cause of the following exception:

OSError                                   Traceback (most recent call last)
<ipython-input-12-38951423c55b> in <module>
----> 1 im.save("your_file.jpg")

e:\anaconda3\envs\paddle\lib\site-packages\PIL\Image.py in save(self, fp, format, **params)
   2156 
   2157         try:
-> 2158             save_handler(self, fp, filename)
   2159         finally:
   2160             # do what we can to clean up

e:\anaconda3\envs\paddle\lib\site-packages\PIL\JpegImagePlugin.py in _save(im, fp, filename)
    614         rawmode = RAWMODE[im.mode]
    615     except KeyError as e:
--> 616         raise OSError("cannot write mode %s as JPEG" % im.mode) from e
    617 
    618     info = im.encoderinfo

OSError: cannot write mode RGBA as JPEG

1
使用如下程式碼進行處理,我們可以使用matplotlib庫進行顯示,利用PIL庫將圖片存為PNGTIFF格式都是可以滴

import openslide
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

test = openslide.open_slide('DATASET_A_DIB/SAS_21883_001.svs')
img = np.array(test.read_region((0, 0), 0, test.dimensions))
print(img.shape)
im = Image.fromarray(img)
im.save("your_file.png")
plt.imshow(img)
plt.show()

1
我建議最好存成TIFF格式,因為TIFF格式在醫學影像更為通用,當然TIFF格式比PNG格式大得多,如下所示
1
PNG格式
1

TIFF格式
1
我們將兩者圖片放大,TIFF載入更快,但兩種格式在這次的SVS資料集上並無差別

支援

由於網站位於國外,下載比較困難,我這裡上傳至CSDN一份,也可以評論留言獲取

相關文章