NRRD批量轉換成NIFTI

3D slicer, MITK默認會將醫(yī)學圖像保存為格式為NRRD的圖像,但是我們還是習慣于操作NIFTI格式的數(shù)據(jù),于是就有了NRRD轉換成NIFTI的需求。
之前自己有一個比較笨的方法,就是將NRRD圖像導入到MITK軟件中,然后再另存成NIFTI的數(shù)據(jù)。如果數(shù)據(jù)少,還可以接受。但是當數(shù)據(jù)比較多時,這種方法過于耗時耗力。
為了解決這個問題,網上搜索了一些解決方案,并將兩個代碼進行了合并[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 ?

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容