#使用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.youkuaiyun.com/weixin_42338058/article/details/84190420
本文介绍如何使用nibabel和SimpleITK两种库读取并显示医学影像数据,包括单张图像和系列图像的展示方法。通过具体代码示例,展示了从读取NIfTI格式的医学图像文件到使用matplotlib进行图像显示的过程。
507

被折叠的 条评论
为什么被折叠?



