本文介绍了在python中读取* .mhd / *。raw格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
任何人都可以告诉我在python中读取包含 .mhd / .raw文件的数据集的方式吗?
Can anyone please tell me the way I can read a dataset containing .mhd/.raw files in python?
推荐答案
最简单的方法是使用(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,您可以使用此代码
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格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!