医疗3D规划软件的最佳技术
我想开发一个新的互动3D规划软件,类似于这个 http://www.materialise.com/materialise/view/en/131410-SimPlant.html
我在寻找一些专家的建议,想知道用什么技术来构建软件的不同部分(比如:用户界面、图像处理、可视化、3D等)。
这个软件需要能够快速处理图像,同时我也希望能尽快把软件推向市场,所以使用的技术应该支持快速开发和高性能。如果有任何建议,我都非常感激。
3 个回答
ITK并不是建立在VTK之上的,不过它们之间是有关系的。你可以很方便地用ITK处理数据,然后再切换到VTK来进行可视化和交互。
我们在Python中使用VTK、ITK和wxPython的组合,开发了一些相当大且复杂的医学图像处理和可视化应用(比如实验和手术规划)。这些组件的许可协议允许你在商业应用中使用它们。
你可以看看VTK(vtk.org),这是一个通用的可视化工具包,还有ITK(itk.org),这是一个基于VTK的图像分析工具包。它们都是BSD许可证的,意思是你可以自由使用和修改它们。
Python图像库,PIL,在快速开发和良好性能之间找到了一个不错的平衡。如果你选择Python作为主要编程语言,你还可以使用scipy及其核心部分numpy来满足更高级的图像处理需求。类似地,第三方的Python扩展在可视化(包括3D)方面也做得很好——你可以看看EPD,也就是Enthought Python发行版,了解哪些库可能最适合你完成这些任务。如果你不想和Enthought合作进行商业分发,你也可以自己构建版本……不过,值得一提的是,他们在商业联系和技术能力方面都很出色,看看他们的产品可能会有帮助;-)。
如果你想深入到C++中去使用某些特定组件,Boost.Python、SIP或者Cython可以让你轻松地将这些组件集成到你的Python项目中。对于用户界面等方面,PyQt也非常不错……
换句话说,虽然我可能有些偏见,但如果我是你,我会毫不犹豫地选择Python作为“核心”,并研究我提到的各种可视化、用户界面等选项。有一点需要注意:如果你想快速推出产品,建议使用Python 2.6,因为最新的3.1版本虽然在很多方面都很好,但可能还缺少许多第三方扩展的兼容版本,而这些扩展会让你在使用Python 2.6时的体验更加轻松和愉快!