mhd_2_nii
import SimpleITK as sitk
import pandas as pd
# 通过此脚本,数据集中的 mhd 数据可以自动读取和转换为 nii.gz 格式数据
path_name = input("输入mhd文件存放的路径:")
spacing_x = []
spacing_y = []
spacing_z = []
img_prefix = input("输入不同数据集的前缀:")
for i in range(32):
pre_fix = path_name + '\\' + img_prefix + str(i)
file_name = pre_fix + '.mhd'
save_name = pre_fix + '.nii.gz'
itkimage = sitk.ReadImage(file_name)
spacing = itkimage.GetSpacing()
spacing_x.append(spacing[0])
spacing_y.append(spacing[1])
spacing_z.append(spacing[2])
out_arr = sitk.GetArrayFromImage(itkimage)
out = sitk.GetImageFromArray(out_arr)
# 将.mhd格式的数据转换为.nii.gz格式,后续直接从.nii.gz读取数据
sitk.WriteImage(out, save_name)
# print(out_arr.shape)
dataframe = pd.DataFrame(
{'spacing_x': spacing_x, 'spacing_y': spacing_y, 'spacing_z': spacing_z})
print(dataframe.head())
csv_name = "spacing_info.csv"
dataframe.to_csv(csv_name, index=False, sep=',', header=None)
print("create spacing_info csv")
print("down")