在 python 中读取 *.mhd/*.raw 格式 [英] Reading *.mhd/*.raw format in python

查看:27
本文介绍了在 python 中读取 *.mhd/*.raw 格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

谁能告诉我如何在 python 中读取包含 .mhd/.raw 文件的数据集?

Can anyone please tell me the way I can read a dataset containing .mhd/.raw files in python?

推荐答案

最简单的方法是使用 SimpleITK (MedPy 也将 ITK 用于 .mhd/.raw 文件).命令

The easiest way is to use SimpleITK (MedPy uses ITK for .mhd/.raw files too). Command

pip install SimpleITK

适用于许多 python 版本.要阅读 .mhd/.raw,您可以使用此代码 来自 kaggle

works for many python versions. For reading .mhd/.raw you can use this code from kaggle

import SimpleITK as sitk
import numpy as np
'''
This funciton reads a '.mhd' file using SimpleITK and return the image array, origin and spacing of the image.
'''

def load_itk(filename):
    # Reads the image using SimpleITK
    itkimage = sitk.ReadImage(filename)

    # Convert the image to a  numpy array first and then shuffle the dimensions to get axis in the order z,y,x
    ct_scan = sitk.GetArrayFromImage(itkimage)

    # Read the origin of the ct_scan, will be used to convert the coordinates from world to voxel and vice versa.
    origin = np.array(list(reversed(itkimage.GetOrigin())))

    # Read the spacing along each dimension
    spacing = np.array(list(reversed(itkimage.GetSpacing())))

    return ct_scan, origin, spacing

这篇关于在 python 中读取 *.mhd/*.raw 格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆