Python DCM转NRRD及NRRD转NII

使用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)

你可能感兴趣的:(python,开发语言)