import SimpleITK as sitk
import numpy as np
import matplotlib.pyplot as plt
def dcm_nii(image_path, result_path, index):
print('文件'+str(index)+': '+image_path)
reader = sitk.ImageSeriesReader()
dicom_names = reader.GetGDCMSeriesFileNames(image_path)
reader.SetFileNames(dicom_names)
image2 = reader.Execute()
# image_array = sitk.GetArrayFromImage(image2) # z, y, x
origin = image2.GetOrigin() # x, y, z
spacing = image2.GetSpacing() # x, y, z
print(spacing)
print(origin)
# exit(0)
# image3 = sitk.GetImageFromArray(image_array) ##其他三维数据修改原本的数据,
if index < 10 :
sitk.WriteImage(image2, result_path + 'pancreas_0' + str(index) + '.nii.gz')
else:
sitk.WriteImage(image2, result_path+'pancreas_'+str(index)+'.nii.gz') # 这里可以直接换成image2 这样就保存了原来的数据成了nii格式了。
print('-'*100)
Dicom 转 nii 格式
最新推荐文章于 2024-02-20 20:20:50 发布