I am working in MATLAB to write a medical image processing/visualization software that uses MATLAB’s image processing toolbox heavily. My choice of using MATLAB was largely based on availability and my comfort in it and my initial goal was to complete my algorithm and test it. I have largely ignored the GUI part – so I have a software that works but with a very clunky GUI (textboxes for entering numbers for most operations).
Now, I am thinking about switching from MATLAB to C /C++/Tcl/other but I am not sure what the best platform is? I need to convert this into a very- fast standalone executable – cannot work with first installing MCR installer and then using the exe as in MATLAB. I saw some suggestions in other posts – about using python/c++ combination.
I am also looking for help from other people who can help me convert my demo code into a professional software. How can I best estimate the time-frame it will require for an experienced software programmer to write the GUI and insert the logic code? Using MATLAB GUIDE, I can write that in a couple of hours with all the basic features, but I am hoping to make this software really slick. I already have a detailed list of features and a layout so there won’t be too many iterations.
Also, is there a category of software programmers like Industrial Designers who can help design the GUI? I am not a creative person and my code/GUIs reflect that. I am not just looking for someone to help with the background color, tool symbols etc. but also to help with how a user may want to use certain features.
I know I am asking too many questions and I appreciate your time.
FYI, any GUI that you can design using Java Swing is inherently available in Matlab proper. Take a look at my submissions on the File Exchange or http://UndocumentedMatlab.com for examples. This enables you to program a slick-looking Java GUI without needing to learn or program in Java - you can do it all from within your Matlab code. You may wish to consult with a GUI expert to make it appear professional, but you can easily program the GUI yourself. If you compile and deploy, it will work seamlessly on other platforms (Windows, Linux, ...) since Java is cross-platform. As a medical program, it may have the added benefit of not requiring re-submission to the FDA, because you're using the exact same Matlab computation engine for deployment as for development.
The Matlab compiler will NOT increase your performance, since it uses the same computational engine as the development version. So, if performance is really an issue for you, you should try to profile and optimize the performance hotspots in Matlab. If this fails, you may indeed need to convert your application to C/C++ but I would really do that as a last resort - it could cost quite a bit in terms of money, time, accuracy and frustration.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With