文章目录
- 1. SimpleITK实现
-
- 2. 读图像的meta信息
其实SimpleITK文档里都有,直接搬过来
1. SimpleITK实现
1.1 代码
import SimpleITK as sitk
dicom_folder = "./MRA_219/"
reader = sitk.ImageSeriesReader()
dicom_names = reader.GetGDCMSeriesFileNames(dicom_folder)
reader.SetFileNames(dicom_names)
image = reader.Execute()
size = image.GetSize()
print("Image size:", size[0], size[1], size[2])
saveNiiPath = "./TOF_3D_multi-slab.nii.gz"
sitk.WriteImage(image,saveNiiPath,useCompression=True)
参考:
- discourse.itk Reading dicom series with SimpleITK and filesort
- SimpleITK:Dicom Series Reader
小插曲
- 一开始以为使用SimpleITK转的结果和使用3D Slicer转的不一样
- 后来发现是因为SimpleITK转的结果位于服务器上,打开反应慢,没有把图像加载完整,导致最大值是600多,而3D Slicer转的结果在本地,打开是完整的,最大值是1124.。。
- 把服务器上的结果拉到本地,就对了
- SimpleITK转的结果和3D Slicer界面导出的结果是一致的
2. 读图像的meta信息
参考:Read Image Meta-Data Dictionary and Print
reader = sitk.ImageFileReader()
reader.SetFileName(sys.argv[1])
reader.LoadPrivateTagsOn()
reader.ReadImageInformation()
for k in reader.GetMetaDataKeys():
v = reader.GetMetaData(k)
print(f'({k}) = = "{v}"')
print(f"Image Size: {reader.GetSize()}")
print(f"Image PixelType: {sitk.GetPixelIDValueAsString(reader.GetPixelID())}")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)