文件夹内含有不同的病人,每个病人含有不同的序列,每个序列都生成一个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("完成")
本文介绍如何使用SimpleITK库高效地读取并处理单个病人在特定文件夹下的DICOM序列,将其转换为nii.gz格式,减少了不必要的循环操作。
1万+

被折叠的 条评论
为什么被折叠?



