gpt4 book ai didi

python - Python 中的 ITK : SimpleITK or not?

转载 作者:搜寻专家 更新时间:2023-10-31 02:21:33 26 4
gpt4 key购买 nike

感谢 Python 中的 SimpleITK,我已经开始使用 ITK 工作了一周。尽管目前我对 SimpleITK 很满意,但我注意到一些功能,例如 Powell optimization schemeOnePlusEvolutionary 不是在 SimpleITK 中可用。这似乎与基于地标的注册方法相同。

所以,我想知道是否有一种方法可以在 SimpleITK 中检索 ITK(在 C++ 中)中可用的所有功能,或者如果有必要执行我自己的包装吗?

如果没有,我稍后会学习 C++ 来这样做!

谢谢!

最佳答案

你是对的。 SimpleITK 的功能有限。然而,可以使用 WrapITK 接口(interface)访问 Python 中的整个 ITK 库。这是一个旧界面,我认为已经有一段时间没有更新了。但是,仍然可以从源代码编译新版本并使用 WrapITK。

这个过程并不十分顺利。我过去曾在 Windows 机器上完成构建,然后注意到我不得不遇到的一些不太顺利的步骤。我会把它们放在这里。由于您没有提到您的操作系统,我将继续解释 Windows 的设置。让我们看看您是否能够启动并运行它。

  • ITK-4.6 + Python2.7 + CMake + VS2008专业版(均为32位)
  • VS2008 之后的版本都不能编译生成 python 绑定(bind)所必需的 GCCXML
  • 配置 CMAKE 后,需要额外设置以下标志:
    • ITK_WRAP_PYTHON
    • ITK_WRAP_*(所有类型:float、double 等)
    • ITK_BUILD_SHARED_LIBS(如果设置了第一个标志则自动设置)
  • 在 VS2008 中,仅在 Release模式下构建。项目浏览器中的项目数量将超过 500 个。应该构建大约 300-350 个。
  • 构建时,请确保您具有可访问的 Internet 连接以下载 GCCXML(在 VS2008 中开始构建后可能会下载)。验证下载时应该没有错误。如果有,可能是目录创建权限错误。
  • 项目构建时应该没有错误
  • WrapITK.pth 文件从 ITK build/Wrapping/Generators/Python/Release 复制到 Python/Lib/site-packages
  • 将以下内容添加到您的 Path 变量中:
    • C:\ProgramLibs\ITK\build2008\lib\Release
    • C:\ProgramLibs\ITK\build2008\bin\Release
    • C:\ProgramLibs\ITK\build2008\lib
  • 现在 ITK 应该可以正常工作(下面是一个测试 python 文件,您可以使用它对构建运行完整性检查)。除了每次您第一次在程序中或在 Python 解释器上调用 itk.Image 时,都会有十几个警告,它们需要时间来执行。这是一个已知的问题。一旦你通过了这个,它就很顺利了。

测试文件

import itk
pixelType = itk.UC
imageType = itk.Image[pixelType, 2]
readerType = itk.ImageFileReader[imageType]
writerType = itk.ImageFileWriter[imageType]
reader = readerType.New()
writer = writerType.New()
reader.SetFileName("<input image file location>")
writer.SetFileName("D:/Output.png")
writer.SetInput( reader.GetOutput() )
writer.Update()

关于python - Python 中的 ITK : SimpleITK or not?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31285492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com