将MATLAB代码转换为专业软件

时间:2010-01-11 21:18:00

标签: user-interface matlab image-processing

我正在MATLAB中编写一个医学图像处理/可视化软件,该软件大量使用MATLAB的图像处理工具箱。我选择使用MATLAB主要是基于可用性和我的舒适度,我最初的目标是完成我的算法并测试它。我在很大程度上忽略了GUI部分 - 所以我有一个可以工作的软件但是有一个非常笨重的GUI(用于输入大多数操作的数字的文本框)。

现在,我正在考虑从MATLAB切换到C / C ++ / Tcl / other,但我不确定最佳平台是什么?我需要将其转换为非常快速的独立可执行文件 - 无法首先安装MCR安装程序,然后在MATLAB中使用exe。我在其他帖子中看到了一些建议 - 关于使用python / c ++组合。

我也在寻求其他人的帮助,他们可以帮助我将我的演示代码转换为专业软件。如何才能最好地估计有经验的软件程序员编写GUI并插入逻辑代码所需的时间范围?使用MATLAB GUIDE,我可以在几个小时内编写所有基本功能,但我希望能让这个软件变得非常灵活。我已经有了详细的功能列表和布局,因此迭代次数不会太多。

此外,是否有一类像工业设计师这样的软件程序员可以帮助设计GUI?我不是一个有创造力的人,我的代码/ GUI反映了这一点。我不只是寻找有人帮助处理背景颜色,工具符号等,而且还帮助用户了解如何使用某些功能。

我知道我问的问题太多,我很感激你的时间。

3 个答案:

答案 0 :(得分:4)

仅供参考,您可以使用Java Swing设计的任何GUI本身都可以在Matlab中使用。有关示例,请查看File Exchangehttp://UndocumentedMatlab.com上的提交内容。这使您可以编写外观漂亮的Java GUI而无需在Java中学习或编程 - 您可以在Matlab代码中完成所有操作。您可能希望咨询GUI专家以使其看起来很专业,但您可以自己轻松地对GUI进行编程。如果您编译和部署,它将在其他平台(Windows,Linux,...)上无缝工作,因为Java是跨平台的。作为医疗计划,它可能具有不需要重新提交给FDA的额外好处,因为您使用完全相同的Matlab计算引擎进行部署和开发。

Matlab编译器将 NOT 提高性能,因为它使用与开发版本相同的计算引擎。因此,如果性能确实是一个问题,那么您应该尝试在Matlab中分析和优化性能热点。如果失败了,你可能确实需要将你的应用程序转换为C / C ++,但我真的会这样做作为最后的手段 - 它可能在金钱,时间,准确性和挫折方面花费相当多。

答案 1 :(得分:3)

在Matlab中尝试deploytool命令并稍微玩一下。

我最近做了这样的事情。界面是用Java制作的,但核心计算是由MCR完成的。第一次运行有点冗长 - 它不得不对程序进行解压缩 - 但后来速度非常快。

我还尝试使用链接到GUIDE界面的Simulink模型。它比Matlab / Simulink本身更快。

我个人认为如果你已经准备好算法,那么安装MCR是值得的。重写总是有问题的:你必须再次测试和调试,结果可能不完全相同。因此,让某人只使用用户界面并将其链接到Matlab程序可能更容易。

是的,那里有GUI专家。如果你使用MCR策略,你只需要让他们做他们的魔法。

关于时间......这取决于你的软件的复杂程度和想要投入的眼睛糖的数量,但是在编写规范之后至少要花几个月才能得到一些有价值的东西,特别是如果你必须向别人解释细节。

答案 2 :(得分:1)

根据Matlab版本,您可以将Matlab代码编译成.Net程序集并将其与一个漂亮的.NET Forms或WPF GUI结合起来 - 应该是一个不错的眼睛。