使用radiomics等库对病理信息进行分析时,可能需要用到NRRD格式的原文件与NII格式的MASK掩膜文件,所以还需要掌握DCM转NRRD以及NRRD转NII的方法
DCM转NRRD可参考这位博主的博客:dcm图片到nrrd的格式转换(二维到三维)
核心代码如下
import SimpleITK as sitk
import os
def DCMtoNRRD(file_path):
out_path = file_path
dcms_name = sitk.ImageSeriesReader.GetGDCMSeriesFileNames(file_path)
dcms_read = sitk.ImageSeriesReader()
dcms_read.SetFileNames(dcms_name)
dcms_series = dcms_read.Execute()
sitk.WriteImage(dcms_series,out_path+'\\NRRD'+'.nrrd') #保存
因为掩膜可能需要用到nii文件,所以需要NRRD文件转NII文件的方法
可以参考这位博主的博客:nrrd文件格式转NIFTI
需要用到vkt库 若未安装请pip install vkt
核心代码如下:
import vtk
def readnrrd(filename):
reader = vtk.vtkNrrdReader()
reader.SetFileName(filename)
reader.Update()
info = reader.GetInformation()
return reader.GetOutput(), info
def writenifti(image,filename, info):
writer = vtk.vtkNIFTIImageWriter()
writer.SetInputData(image)
writer.SetFileName(filename)
writer.SetInformation(info)
writer.Write()
m, info = readnrrd(r'C:\Users\Miao\Desktop\T1nr\1.nrrd')
writenifti(m,r'C:\Users\Miao\Desktop\T1nr\1.nii', info)