如何在Python中实现itk-image和SimpleITK-image之间的转换?

2024-07-03 06:31:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道在C++中实现ITK图像和SimuleIK图像之间转换的方法,这是SimeLITK中的一个例子(例子/信息集成.cxx). 在

  //
  // Extract the itk image from the SimpleITK image
  //
  InternalImageType::Pointer itkImage =
    dynamic_cast <InternalImageType*>( image.GetITKBase() );
  ...
  //
  // Return to the simpleITK setting by making a SimpleITK image using the
  // output of the blur filter.
  //
  sitk::Image blurredImage = sitk::Image( blurFilter->GetOutput() );

但在Python中,当我使用坐像(itkImage)“其中itkImage是itkImage,我得到一个错误”this=_SimpleITK.新图像(*参数) NotImplementedError:重载函数“new”“Image”“的参数数目或类型错误。”。在Python中,不可能在C++中转换“动态转换”类型。在

有一种可能的解决方案,使用PyBuffer将itkImage转换为numpy数组,然后使用SimpleITK将数组最终转换为SimpleITK图像。但我没能建造出itkPyBuffer。我认为这种方法不能直接解决这个问题。在

<>你能帮我把C++代码转换成可用的Python代码吗?谢谢您。在


Tags: the方法代码图像image类型参数错误
1条回答
网友
1楼 · 发布于 2024-07-03 06:31:21

我可以复制一个SimpleITK映像不能在Python中从itk映像实例化。我没有找到绕过PyBuffer的方法,所以您可能需要编译。下面是一个小错误的描述,可能会对您有所帮助:https://pypi.python.org/pypi/MedPy/0.1.0

相关问题 更多 >