Python中Gzip Nrrd文件转Nii

在Python中使用itk把Nrrd文件转为Nii文件的时候,遇到了Unsupported encoding: gzip这个提示。
下面是Python中使用itk Nrrd转Nii的原代码,供参考。

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()


if __name__ == '__main__':
    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)

出自nrrd文件格式转NIFTI


后面看到另外一篇文章,使用SimpleITK来进行转换,两行代码就搞定了,非常简单。

img = sitk.ReadImage("your_image.nrrd")
sitk.WriteImage(img, "your_image.nii.gz")

出自Convert nrrd to nii.gz


还有一种方法,但是还没有尝试过。

import nrrd
import nibabel as nib
import numpy as np

# nrrd 文件保存路径
data_path=r'./data/1.nrrd'
save_path='./data/1.nii'

data,options=nrrd.read(data_path)  # 读取 nrrd 文件
img=nib.Nifti1Image(data,np.eye(4)) # 将 nrrd 文件转换为 .nii 文件
nib.save(img,save_path) # 保存 nii 文件

出自医学影像中用 python 读取 nrrd 文件,nrrd转nii,以及遇到的一些问题和解决方法

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值