我编写了一个从文件夹(image_dir)读取nifti卷的代码。我想将每个体积的轴向切片保存到单独的文件夹中。运行代码时,所有文件夹都在p1
中提供的位置的文件夹中创建。但是所有图像都存储在相应的文件夹外部,即文件夹p1
中。请帮助我纠正它。
import matplotlib
from scipy import ndimage
#from scipy.ndimage import morphology
import os
import nibabel as nib
from nibabel import processing
import numpy as np
import matplotlib.pyplot as plt
import glob
import scipy.ndimage.interpolation
from os.path import join
import cv2
from PIL import Image
image_dir ='/home/user1/Documents/Segmentation/'
p1 = '/home/user1/Downloads/T1_Axial/'
image_filenames = sorted(glob.glob(image_dir + '**/*.nii', recursive=True))
for img in image_filenames:
filename = os.path.basename(img)
filename = os.path.splitext(filename)[0]
path = '{}'.format(filename)
cp = join(p1, path)
print(cp)
os.mkdir(str(cp))
medical_image = nib.load(img)
image = medical_image.get_fdata()
img_affine = medical_image.affine
for i in range(image.shape[2]):
axial_image=image[:, :, i]
img1 = nib.Nifti1Image(axial_image, np.eye(4))
nib.save(img1,cp + '' + str(i) + '.nii')