查看医学图像方法

it2024-01-23  66

SimpleITK 和 Nibabel 的区别:

SimpleITK 加载数据是channel_first,即(155,240,240);

Nibabel 是 channel_last,即(240,240,155),其中155是图像通道数,也就是155张图像,可以把nii看成二维图像,也可以看成三维。

But  nibabel加载出来的图像被旋转了90度,横过来了,不知道什么原因。

SimpleITK 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:/my_data/t1ce.nii.gz' #数据所在路径 data = read_img(path) show_img(data) Nibabel 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[:,:,85], cmap = 'gray') #channel_last plt.show() path = 'F:/my_data/t1ce.nii.gz' data = read_data(path) show_img(data)

 

最新回复(0)