如何在Python(不使用MedPy)或C中将*.mha文件转换为*.nii文件?

San*_*ram 5 c++ python image-processing

我想*.mha处理Python. 但它需要MedPy依赖ITK包的包。我目前在安装ITK软件包时遇到问题。我在想是否有一种方法可以将*.mha文件转换为*.nii文件(可能使用其他方式C++),因为我可以使用它来Python读取*.nii文件。任何相关的指示都是非常受欢迎的。

Hay*_*den 6

您可以在 Python 中安装 SimpleITK 并使用它来进行转换。例如,

import SimpleITK as sitk

root_path = '/path/to/image'
nii_path = root_path + '/data.nii'
mha_path = root_path + '/data.mha'

img = sitk.ReadImage(nii_path)
sitk.WriteImage(img, mha_path)
Run Code Online (Sandbox Code Playgroud)


g.s*_*evo 1

解决此问题的另一种途径是安装 sci-kit 映像和 simpleitk。

这不需要从源代码构建或包装 ITK,并允许读取 MHA 文件和写入 NIFTI 格式。

pip install scikit-image 
pip install SimpleITK or easy_install -U SimpleITK
Run Code Online (Sandbox Code Playgroud)

安装这些后,如果您运行以下代码,这应该可以工作

import skimage.io as io

path = 'C:/test.mha' #path to your MHA file
outpath = 'C:/test.nii'

img = io.imread(path,plugin='simpleitk')
io.imsave('outpath',img,plugin='simpleitk')
Run Code Online (Sandbox Code Playgroud)