医学图像处理的最佳编程语言

Bek*_*ekh 7 c# c++ python image-manipulation image-processing

我正在寻找一种医疗解决方案,供外科医生用于3D显示Dicom图像.此外,该软件将允许他们对图像执行一些分割和操作.

我可能会使用VTK包www.vtk.org/来协助这个项目.

现在,我想知道用C#,C++或Python做这个项目是否更容易和更好?我很感激在寻找如何在这三个选项之间做出选择的任何帮助.

Dav*_*eau 6

Python越来越受到三维可视化的欢迎 - 例如,几个实验室将它用于脑部图像.所以它绝对适用于那种问题.图书馆方面,我想你知道比vtk和co之类的东西可以在python中使用.

http://neuroimaging.scipy.org/site/doc/manual/html/faq/why.html

当然,理论上,在C++ 中实现它将导致更快的程序,其他一切都相同(相同的算法,精通语言的程序员等等)并给予"无限时间".但是python肯定比C++更有效率:在给定的时间内,你将在python中完成比在C++中更多的事情,除非你是C++中比python更好的程序员.此外,如果需要与不是程序员的科学人员进行交互,python将比C++更具可读性.研究人员/科学家制作的C++在我的经历中往往非常糟糕(甚至比Fortran更差:)).

我可以预见的最大问题是如果python不够快/内存效率,那么从架构的角度来看它涉及很多约束.我认为图像不会出现这种情况(python,因为大多数高级语言,当需要数十万个具有大量交互的对象时,会出现可伸缩性问题 - 这是为项目使用C++的少数几个领域之一从头开始仍然有意义恕我直播).

免责声明:我应该提到我在科学蟒蛇社区中参与了很多,而且我不是图像处理专家.

  • +1我们使用C++和Python进行数字任务.我们遇到Python问题的唯一一次是我们有大量的小对象.然后Python倾向于使用太多内存.如果它太慢,你不能简单地通过调用库加速它,因为小对象的I/O太慢而你仍然有内存问题.但是如果你有一个大对象而且你可以调用一个库来完成一些繁重的工作,那么Python的往返时间要快得多,我会选择它. (3认同)