一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
posts - 3121,comments - 209,views - 578万
3D slicer, MITK默认会将医学图像保存为格式为NRRD的图像,但是我们还是习惯于操作NIFTI格式的数据,于是就有了NRRD转换成NIFTI的需求。
之前自己有一个比较笨的方法,就是将NRRD图像导入到MITK软件中,然后再另存成NIFTI的数据。如果数据少,还可以接受。但是当数据比较多时,这种方法过于耗时耗力。
为了解决这个问题,网上搜索了一些解决方案,并将两个代码进行了合并,供使用,具体代码如下。代码中baseDir可以修改成指定的目录,files里面*后面的部分,改为自己匹配的文件名。
复制代码
 1 import os
 2 from glob import glob
 3 import numpy as np
 4 import vtk
 5 
 6 
 7 def readnrrd(filename):
 8     """Read image in nrrd format."""
 9     reader = vtk.vtkNrrdReader()
10     reader.SetFileName(filename)
11     reader.Update()
12     info = reader.GetInformation()
13     return reader.GetOutput(), info
14 
15 
16 def writenifti(image,filename, info):
17     """Write nifti file."""
18     writer = vtk.vtkNIFTIImageWriter()
19     writer.SetInputData(image)
20     writer.SetFileName(filename)
21     writer.SetInformation(info)
22     writer.Write()
23 
24 
25 if __name__ == '__main__':
26     baseDir = os.path.normpath(r'G:/aurora-nrrd/')
27     files = glob(baseDir+'/*label.nrrd')
28     for file in files:
29         m, info = readnrrd(file)
30         writenifti(m,  file.replace('label.nrrd', 'label.nii'), info)
复制代码

 

posted on   一杯清酒邀明月  阅读(120)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2022-07-13 Qt 路径中常用字符“./”、“../”、“/”、“*”的含义
2022-07-13 MATLAB 函数汉化方法
2022-07-13 Git 入门指南
2022-07-13 ARM、STM32之间的关系以及STM单片机介绍
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示