首页 > 其他分享 >NRRD批量转换成NIFTI

NRRD批量转换成NIFTI

时间:2023-07-13 11:57:37浏览次数:41  
标签:info 转换成 NIFTI writer NRRD __ reader

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)

 

标签:info,转换成,NIFTI,writer,NRRD,__,reader
From: https://www.cnblogs.com/ybqjymy/p/17549995.html

相关文章

  • 如何实现MySQL 字符串转换成数组的具体操作步骤
    MySQL字符串转换成数组在MySQL中,我们经常需要对字符串进行处理和转换。有时候,我们需要将一个字符串拆分成多个部分,然后进行进一步的处理。这时,将字符串转换成数组是一种常见的操作。方法一:使用SUBSTRING_INDEX函数MySQL提供了SUBSTRING_INDEX函数,可以用于将一个字符串按照指定......
  • Java中如何将int型转换成float型 这个问题怎么解决?
    Java中如何将int型转换成float型在Java中,将int型转换成float型可以通过类型转换来实现。这在处理数字计算或者进行数据类型转换时非常常见。下面我们来解决一个实际问题,示范如何将int型转换成float型。实际问题假设我们要编写一个Java程序来计算一个人的BMI(BodyMassIndex)指数......
  • scala class、Map、List 转换成Json(Gson、json4s、JSONUtil)
    实例代码importcn.hutool.json.JSONUtilimportcom.google.gson.GsonobjectEntitytoJsonTest{defmain(args:Array[String]):Unit={valgson=newGsonvalpeople=JJ("gl",12,List("basketball","baseball"),......
  • 使用Java的快速将Web中表格转换成Excel的方法
    使用Java的快速将Web中表格转换成Excel的方法引言在Web应用程序开发中,经常需要将数据以Excel表格的形式导出。本文将介绍如何使用Java快速将Web中的表格数据转换为Excel文件,并提供具体示例代码。1.准备工作首先,我们需要引入ApachePOI库来处理Excel文件。以下是Maven依赖项:<depend......
  • fastjson将date转换成了long
     记录一个bug,这个问题是使用fastjson的时候遇到了将date的数据转换成long类型而不是转换成string环境fastjson使用的是1.2.76造成的原因更具环境大家可能已经猜测到了真实的原因-版本太低造成的。这个项目的存在时间比较久所以在使用的依赖上版本比较低,除了源码之外......
  • vue自动将px转换成rem
    1.首先下载lib-flexiblenpminstalllib-flexible--save2.在main.js中引用 lib-flexibleimport'lib-flexible/flexible'3.安装px2rem-loader(将px转换成rem)npminstallpx2rem-loader4.配置px2rem(在build/utils.js中配置px2rem)我这边是根据iphone6的设计图尺寸......
  • python 将中文数字转换成阿拉伯数字
    日常遇到的中文数字主要有两种情况:1.“二零零一”这种类型,只包含[0-9]对应的十个中文字,需要转换成数字:2001。这种情况的转换十分简单。2.“三百二十一”这种类型,还有“十百千万亿……”等汉字,需要转换成数字:321,这种情况比较复杂。考虑:1.“四千三百二十一”,即万以内的数......
  • [Leetcode] 0709. 转换成小写字母
    709.转换成小写字母点击上方跳转至Leetcode题目描述给你一个字符串s,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。 示例1:输入:s="Hello"输出:"hello"示例2:输入:s="here"输出:"here"示例3:输入:s="LOVELY"输出:"lovely" 提示:1<=s.l......
  • [连载]Java程序设计(01)---任务驱动方式:英制单位转换成公制单位
    任务:你所在的公司是一家美国的服装设计和制造公司,现在这家公司打算进入欧洲市场,于是需要一个将英制单位(英寸)换算为公制单位(厘米)的程序。已知1英寸=2.54厘米,该程序输入以英寸为单位的长度,显示该长度对应的厘米数。例如:输入英寸:2.5,输出:2.5英寸=6.35厘米。packagecom.lovo;importj......
  • 将MultipartFile对象转换成File对象
    将MultipartFile对象转换成File对象//将MultipartFile对象转换成File对象privateFileconvertToFile(MultipartFilemultipartFile)throwsIOException{//获取文件名StringfileName=Objects.requireNonNull(multipartFile.getOriginalFilename......