SimpleITK 和 Nibabel 读取 nii 数据

#使用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[:, :, 30], cmap='gray')  # channel_last
    plt.show()


path = '/home/lei/train/img/DCE-5.nii'
data = read_data(path)
show_img(data)

nibabel只能显示单张图像

#使用SimpleITK
import SimpleITK as sitk
import matplotlib.pyplot as plt


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]):
        plt.imshow(data[i, :, :], cmap='gray')
        print(i)
        plt.show()


# 单张显示
def show_img(ori_img):
    plt.imshow(ori_img[20], cmap='gray')
    plt.show()

path = '/home/lei/train/img/ADC.nii'  # 数据所在路径
data = read_img(path)
show_img(data)

参考:https://blog.csdn.net/weixin_42338058/article/details/84190420

你可能感兴趣的:(SimpleITK 和 Nibabel 读取 nii 数据)