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圖像:

