SimpleITK 和 Nibabel 讀取醫學圖像 nii 數據(2D顯示)


SimpleITK 和 Nibabel 區別在於:(nii圖像可以看成2維,也可以看成三維)

SimpleITK讀取數據是(X,Y,Z)顯示,Nibabel讀取圖像是(Z,Y,X)顯示,也就是Nibabel加載的圖像會旋轉90°,其中X表示通道數,即切片層數。詳情 

import SimpleITK as sitk
import skimage.io as io
 
def read_img(path):
    img = sitk.ReadImage(path)
    data = sitk.GetArrayFromImage(img)
    return data
#顯示一個系列圖
def show_img(data):
    for i in range(data.shape[0]):
        io.imshow(data[i,:,:], cmap = 'gray')
        print(i)
        io.show()
#單張顯示
def show_img(ori_img):
    io.imshow(ori_img[60], cmap = 'gray')
    io.show()
path = 'F:/BaiduNetdiskDownload/COVID-19CTSeg/data/volume-0.nii'
data = read_img(path)
show_img(data)
import nibabel as nib
import matplotlib.pyplot as plt
 
def read_data(path):
    image_data = nib.load(path).get_data()
    return image_data
#  單張顯示
def show_img(ori_img):
    plt.imshow(ori_img[:,:,60], cmap = 'gray')
    plt.show()
 
path = 'F:/BaiduNetdiskDownload/COVID-19CTSeg/data/volume-0.nii'
data = read_data(path)
show_img(data)

SimpleITK圖像:

Nibabel圖像:
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM