1. 读取&显示nii
import nibabel as nib
import os
from nibabel.viewers import OrthoSlicer3D
root_path = r'E:\data\CTA\test\images'
files = [file for file in os.listdir(root_path)]
for file in files:
example_filename = os.path.join(root_path, file)
img = nib.load(example_filename)
OrthoSlicer3D(img.dataobj).show()
会依次显示每一组图像,展示的为其中一组图像。
2. nii转换dcm
import SimpleITK as sitk
# 任意读取一个dicom格式的医学图像,为了获取dicom头信息
image = sitk.ReadImage(r"E:\file\work\IMG-0001-00001.dcm")
keys = image.GetMetaDataKeys() # 获取它的头信息
# 读取要转换格式的图像nii
image2=sitk.ReadImage(r'E:\data\train_before_clean\CTA20130913_LIYINGJIN_mask.nii.gz')
for key in keys:
# 把第一张图像的头信息,插入到第二张图像
image2.SetMetaData(key, image.GetMetaData(key))
# 保存为dicom格式
sitk.WriteImage(image2, r'E:\data\dcm\CTA20130913_LIYINGJIN_mask.dcm')