文件夹内含有不同的病人,每个病人含有不同的序列,每个序列都生成一个nii.gz
import SimpleITK as sitk
import os
folderPath = r'C:\Users\Desktop\DATA1'
for i in os.listdir(folderPath):
file = os.path.join(folderPath,i)
for folder in os.listdir(file):
imagePath = os.path.join(file,folder)
reader = sitk.ImageSeriesReader()
dicom_names = reader.GetGDCMSeriesFileNames(imagePath)
reader.SetFileNames(dicom_names)
image = reader.Execute()
sitk.WriteImage(image, file + '_' + folder + '_image.nii.gz')
print("完成")
如果只想处理单个病人的数据,可以减少一个for循环。
import SimpleITK as sitk
import os
folderPath = r'C:\Users\Desktop\DATA1\S12345'
for folder in os.listdir(folderPath):
imagePath = os.path.join(folderPath,folder)
reader = sitk.ImageSeriesReader()
dicom_names = reader.GetGDCMSeriesFileNames(imagePath)
reader.SetFileNames(dicom_names)
mage = reader.Execute()
sitk.WriteImage(image, folderPath+ '_' + folder + '_image.nii.gz')
print("完成")