1、共有AD_001-AD_015共15个.nii文件
分别查看每个文件的详细信息,以得到shape维度信息
import nibabel as nib
file = 'D:\\图像分割\\AD\\AD_015\\AD_015.nii' #你的nii或者nii.gz文件路径
img = nib.load(file)
print(img)
2、通过查看得到每个文件都为四维,只是大小不同
开始进行格式转换
import os
import numpy as np
import nibabel as nib
import imageio
import matplotlib
from nibabel.viewers import OrthoSlicer3D
from matplotlib import pylab as plt
def read_niifile(niifilepath): #读取niifile文件
img = nib.load(niifilepath) #下载niifile文件(其实是提取文件)
img_fdata = img.get_fdata() #获取niifile数据
return img_fdata
def save_fig(niifilepath,savepath): #保存为图片
fdata = read_niifile(niifilepath) #调用上面的函数,获得数据
(x,y,z,_) = fdata.shape #获得数据shape信息:(长,宽,维度-切片数量,第四维)
for k in range(z):
silce = fdata[:,:,k,:] #三个位置表示三个不同角度的切片
imageio.imwrite(os.path.join(savepath,'{}.png'.format(k)),silce)
#将切片信息保存为png格式
if __name__=='__main__':
niifilepath='D:\\图像分割\\AD\\AD_015\\AD_015.nii'
savepath='F:\\AD\\AD_015'
if not os.path.exists(savepath):
os.makedirs(savepath)
save_fig(niifilepath,savepath)
3、结果如下: