【SimpleITK】分割label覆蓋到原圖上顯示

醫療影像跟自然場景下圖像的區別之一就是“像素”範圍不一樣,在將label覆蓋到原圖上時也略微不同,但是必須要將圖像歸一化到[0,255][0,255]
我們使用SimpleITK的相關API來解決這個問題。
涉及到的API:

  • sitk.ReadImage
  • sitk.Cast
  • sitk.RescaleIntensity
  • sitk.LabelOverlay

數據爲BraTS2019的數據,label 有4個,[0,1,2,4]。

from __future__ import print_function
%matplotlib inline
import matplotlib.pyplot as plt
from ipywidgets import interact, FloatSlider
import SimpleITK as sitk
from myshow import myshow, myshow3d

data:

img_T1 = 'MICCAI_BraTS_2019_Data_Training/HGG/BraTS19_CBICA_ATV_1/BraTS19_CBICA_ATV_1_t1.nii.gz'
seg = 'MICCAI_BraTS_2019_Data_Training/HGG/BraTS19_CBICA_ATV_1/BraTS19_CBICA_ATV_1_seg.nii.gz'
img_T1 = sitk.ReadImage(img_T1)
# To visualize the labels image in RGB with needs a image with 0-255 range
img_T1_255 = sitk.Cast(sitk.RescaleIntensity(img_T1), sitk.sitkUInt8)

myshow3d(img_T1)

在這裏插入圖片描述
覆蓋label:

seg = sitk.ReadImage(seg)
myshow(sitk.LabelOverlay(img_T1_255, seg), "Brain tumor label")

在這裏插入圖片描述
完美~賊方便~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章