怎样用python-nibabel批量处理并保存nii图像?
我有一批病人,每个人都做了fMRI,一共180期。我需要把这些人的左右脑翻转过来,我现在已经会了单个人的nii图像翻转,现在想批量把180期的nii图像都处理并保存。
这是现在的代码,已经实现了批量读取文件,处理文件,就是最后一步分别保存文件我不会,请帮我看看应该怎么写这个部分?
list = get_filelist(NII_DIR, [])
print(len(list))
type(list)
for i in list:
def read_nii_file1(nii_path):
nii_img=nib.load(nii_path)
return nii_img
nii_img=read_nii_file1(os.path.join(i))
from nilearn.image import new_img_like
print(nii_img.affine.shape)
print(nii_img.affine)
def flip_image(image, axis):
try:
new_data = np.copy(image.get_fdata())
for axis_index in axis:
new_data = np.flip(new_data, axis=axis_index)
except TypeError:
new_data = np.flip(image.get_fdata(), axis=axis)
return new_img_like(image, data=new_data)
new_image = flip_image(nii_img, axis=[0])
affine = new_image.affine.copy()
hdr = new_image.header.copy()
new_data = new_image.get_fdata()
new_nii = nib.Nifti1Image(new_data, affine, hdr)
#就是后面这个地方我不知道怎么分别保存处理之后的nii图像
New_NII_DIR = ('/Users/lena/test_new/001.nii')
nib.save(new_nii, New_NII_DIR)