npy格式:数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中。
npz 格式:数组是以压缩的原始二进制格式保存在扩展名为.npy的文件中。
以下代码展示了如何批量处理nii 转化成npz 数据
import os
import numpy as np
import SimpleITK as sitk
NII_DIR = 'D:/MRIRegistration/Data/'
def get_filelist(dir, Filelist):
if os.path.isdir(dir):
for s in os.listdir(dir):
newDir = os.path.join(dir, s)
Filelist.append(newDir)
return Filelist
list = get_filelist(NII_DIR, [])
print(len(list))
for e in list:
Refimg = sitk.ReadImage(e)
RefimgArray = sitk.GetArrayFromImage(Refimg)
fileName = e.split('\\')[-1]
fileName = fileName.replace('nii','npz')
outPutDir = 'D:/voxelmorph-master/DataMask/atlas_norm.npz'
np.savez(outPutDir, vol_data=RefimgArray)