python - 如何在 Python 中更改 SimpleITK 图像的方向

标签 python python-2.7 simpleitk

我使用了 this code将一系列dicom图像读入python

series_IDs = sitk.ImageSeriesReader.GetGDCMSeriesIDs(data_directory)
series_file_names = sitk.ImageSeriesReader.GetGDCMSeriesFileNames(data_directory, series_IDs[0])
series_reader = sitk.ImageSeriesReader()
series_reader.SetFileNames(series_file_names)
series_reader.LoadPrivateTagsOn()
image3D=series_reader.Execute()
size = image3D.GetSize()

目前,它的方向如下:

enter image description here

我需要将方向更改为以下方向:

enter image description here

python中有没有可以改变SimpleITK图像方向的命令?

最佳答案

扩展您的代码以执行此操作我会考虑从您加载的图像中构建一个新图像,然后为其添加自定义方向。或者,ITK 在可用的 python 包装中有一个 orientimage 过滤器。这不是 simpleitk 但可能会解决您的问题

import SimpleITK as sitk

series_IDs = sitk.ImageSeriesReader.GetGDCMSeriesIDs(data_directory)
series_file_names = sitk.ImageSeriesReader.GetGDCMSeriesFileNames(data_directory, series_IDs[0])
series_reader = sitk.ImageSeriesReader()
series_reader.SetFileNames(series_file_names)
series_reader.LoadPrivateTagsOn()
image3D=series_reader.Execute()
size = image3D.GetSize()

#get image data
image_out = sitk.GetImageFromArray(sitk.GetArrayFromImage(img))

#setup other image characteristics
image_out.SetOrigin(img.GetOrigin())
image_out.SetSpacing(img.GetSpacing())
#set to RAI
image_out.SetDirection(tuple(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0))
sitk.WriteImage(image_out, 'test.mha')

关于python - 如何在 Python 中更改 SimpleITK 图像的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60024404/

相关文章:

SimpleITK OrientedBoundingBoxVertices - 在什么坐标系中定义顶点?

python - 在使用 simpleITK (python) 注册期间捕获警告

python - 在Python中解析CityGML时没有结果

python - 如何使用 __pycache__ 文件夹运行 Python 项目?

python-2.7 - undefined symbol : OPENSSL_sk_num

c# - SimpleITK - 如何获得图像中的最大和最小强度?

python - 如何避免此错误 "SyntaxError: unexpected EOF while parsing"

python - python 中的函数输入和递归

c++ - 在 SWIG 中将结构从 C++ 函数返回到 Python

python - 在Python中调用函数中的子函数来处理同一个文件?