首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中的ITK : SimpleITK还是非?

Python中的ITK : SimpleITK还是非?
EN

Stack Overflow用户
提问于 2015-07-08 06:54:52
回答 2查看 2.1K关注 0票数 2

多亏了SimpleITK in Python,我已经开始与SimpleITK合作一周了。尽管目前我对SimpleITK很满意,但我注意到Powell optimization schemeOnePlusEvolutionary one这样的特性在SimpleITK中是不可用的。以地标为基础的注册方法似乎也是如此。

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

如果不是,我以后将学习C++这样做!

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-16 19:25:09

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

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

  • ITK-4.6 + Python2.7 + CMake + VS2008专业人员(全部32位)
  • 没有比VS2008更晚的东西可以编译GCCXML,这是生成python绑定所必需的。
  • 配置CMAKE之后,需要额外设置以下标志:
    • ITK_WRAP_PYTHON
    • ITK_WRAP_* (所有类型:浮动、双等)
    • ITK_BUILD_SHARED_LIBS (如果设置了第一个标志,则自动设置)

  • 在VS2008中,只在发布模式下构建。项目资源管理器中的项目数将超过500个。大约300-350应该被建造。
  • 在构建时,请确保您有一个可访问的下载GCCXML的internet选项(在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之外,还有十几个警告,它们需要时间来执行。这是一个众所周知的问题。一旦你通过了这件事,就很顺利了。

测试文件

代码语言:javascript
复制
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()
票数 2
EN

Stack Overflow用户

发布于 2015-07-08 07:23:07

还有WrapITK,它是ITK的python包装,您可以使用它来编译(因此,您必须自己编译它,但至少不需要编写代码扭曲)。见http://kitware.com/blog/home/post/888http://www.itk.org/Wiki/ITK/WrappingInstallation.t

但是请注意,可能不是所有的过滤器都包装好了(Filters,最近一次更新是在2009年,所以现在情况可能更好)。我遇到的唯一一个编译好的wrapITK包是Devide RE https://www.youtube.com/watch?v=-b1zS536R2M (如果我没有记错的话,它有一个旧版本的ITK,3.2 ),但也可能还有Slicer和vist运动会拥有它(http://www.itk.org/pipermail/insight-users/2009-August/031910.html)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31285492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档