美文网首页
NRRD批量转换成NIFTI

NRRD批量转换成NIFTI

作者: 小蜜蜂Stats | 来源:发表于2021-06-08 00:18 被阅读0次

    3D slicer, MITK默认会将医学图像保存为格式为NRRD的图像,但是我们还是习惯于操作NIFTI格式的数据,于是就有了NRRD转换成NIFTI的需求。
    之前自己有一个比较笨的方法,就是将NRRD图像导入到MITK软件中,然后再另存成NIFTI的数据。如果数据少,还可以接受。但是当数据比较多时,这种方法过于耗时耗力。
    为了解决这个问题,网上搜索了一些解决方案,并将两个代码进行了合并[1],供使用,具体代码如下。代码中baseDir可以修改成指定的目录,files里面*后面的部分,改为自己匹配的文件名。

    import os
    from glob import glob
    import numpy as np
    import vtk
    
    def readnrrd(filename):
        """Read image in nrrd format."""
        reader = vtk.vtkNrrdReader()
        reader.SetFileName(filename)
        reader.Update()
        info = reader.GetInformation()
        return reader.GetOutput(), info
    
    def writenifti(image,filename, info):
        """Write nifti file."""
        writer = vtk.vtkNIFTIImageWriter()
        writer.SetInputData(image)
        writer.SetFileName(filename)
        writer.SetInformation(info)
        writer.Write()
    
    
    baseDir = os.path.normpath(r'G:/aurora-nrrd/')
    files = glob(baseDir+'/*label.nrrd')
    
    for file in files:
        m, info = readnrrd(file)
        writenifti(m,  file.replace('label.nrrd', 'label.nii'), info)
    

    1. python - Nrrd to Nifti file conversion - Stack Overflow

    相关文章

      网友评论

          本文标题:NRRD批量转换成NIFTI

          本文链接:https://www.haomeiwen.com/subject/ypfdeltx.html