# #coding=utf-8
import SimpleITK as sitk
'''
功能:读取filepath下的dcm文件
返回值:读取得到的SimpleITK.SimpleITK.Image类
其他说明: file = sitk.ReadImage(filepath)
获取基本信息,大小,像素间距,坐标原点,方向
file.GetSize()
file.GetOrigin()
file.GetSpacing()
file.GetDirection()
'''
def readdcm(filepath):
# filepath = "./T2"
series_id = sitk.ImageSeriesReader.GetGDCMSeriesIDs(filepath)
print(series_id)
# print('oooo')
series_file_names = sitk.ImageSeriesReader.GetGDCMSeriesFileNames(filepath, series_id[0])
# print(series_file_names)
# print('wwwww')
series_reader = sitk.ImageSeriesReader() # 读取数据端口
# print(series_reader)
# print('kkkk')
series_reader.SetFileNames(series_file_names) # 读取名称
images = series_reader.Execute() # 读取数据
# print(images)
# print('eeeee')
# print(images.GetSpacing())
# sitk.WriteImage(images, "T2_1.nii.gz")#保存为nii
return images
if __name__ == '__main__':
filepath = "201015/" # 保存路径
dcm_images = readdcm(filepath) # 读取文件
sitk.WriteImage(dcm_images, "111.nii.gz") # 保存为nii
或者使用软件MRIcron