3 votes

Convertir le code MATLAB en logiciel professionnel

Je travaille en MATLAB pour écrire un logiciel de traitement/visualisation d'images médicales qui utilise beaucoup la boîte à outils de traitement d'images de MATLAB. J'ai choisi d'utiliser MATLAB principalement en raison de sa disponibilité et de mon aisance à l'utiliser. Mon objectif initial était de terminer mon algorithme et de le tester. J'ai largement ignoré la partie GUI - j'ai donc un logiciel qui fonctionne mais avec une GUI très maladroite (des boîtes de texte pour entrer des chiffres pour la plupart des opérations).

J'envisage maintenant de passer de MATLAB à C /C++/Tcl/autre, mais je ne suis pas sûr de la meilleure plateforme à utiliser. J'ai besoin de convertir ce programme en un exécutable autonome très rapide - je ne peux pas travailler en installant d'abord le programme d'installation MCR, puis en utilisant l'exe comme dans MATLAB. J'ai vu quelques suggestions dans d'autres messages - sur l'utilisation de la combinaison python/c++.

Je cherche également l'aide d'autres personnes qui peuvent m'aider à convertir mon code de démonstration en un logiciel professionnel. Comment puis-je estimer au mieux le temps nécessaire à un programmeur expérimenté pour écrire l'interface graphique et insérer le code logique ? En utilisant MATLAB GUIDE, je peux écrire cela en quelques heures avec toutes les fonctionnalités de base, mais j'espère rendre ce logiciel vraiment génial. J'ai déjà une liste détaillée des fonctionnalités et une mise en page, il n'y aura donc pas trop d'itérations.

Par ailleurs, existe-t-il une catégorie de programmeurs de logiciels comme les designers industriels qui peuvent aider à concevoir l'interface graphique ? Je ne suis pas une personne créative et mon code/les interfaces graphiques le reflètent. Je ne cherche pas seulement quelqu'un pour m'aider avec la couleur de fond, les symboles d'outils, etc., mais aussi pour m'aider à comprendre comment un utilisateur peut vouloir utiliser certaines fonctions.

Je sais que je pose trop de questions et j'apprécie votre temps.

4voto

Yair Altman Points 4091

Pour votre information, toute interface graphique que vous pouvez concevoir avec Java Swing est intrinsèquement disponible dans Matlab proprement dit. Jetez un coup d'oeil à mes soumissions sur le Échange de fichiers o http://UndocumentedMatlab.com par exemple. Cela vous permet de programmer une interface graphique Java d'apparence élégante sans avoir besoin d'apprendre ou de programmer en Java - vous pouvez faire tout cela à partir de votre code Matlab. Vous pouvez consulter un expert en interface graphique pour lui donner un aspect professionnel, mais vous pouvez facilement programmer l'interface graphique vous-même. Si vous compilez et déployez, elle fonctionnera sans problème sur d'autres plates-formes (Windows, Linux, ...) puisque Java est multiplateforme. En tant que programme médical, il peut avoir l'avantage supplémentaire de ne pas nécessiter une nouvelle soumission à la FDA, car vous utilisez exactement le même moteur de calcul Matlab pour le déploiement que pour le développement.

Le compilateur Matlab PAS d'augmenter vos performances, puisqu'elle utilise le même moteur de calcul que la version de développement. Donc, si les performances sont vraiment un problème pour vous, vous devriez essayer de profiler et d'optimiser les points chauds des performances dans Matlab. En cas d'échec, vous devrez peut-être convertir votre application en C/C++, mais ce n'est qu'en dernier recours - cela pourrait coûter cher en termes d'argent, de temps, de précision et de frustration.

3voto

Pablo Rodriguez Points 461

Essayez le deploytool dans Matlab et jouez un peu avec.

J'ai récemment fait quelque chose comme ça. L'interface a été réalisée en Java, mais les calculs de base ont été effectués par le MCR. La toute première exécution a été un peu plus longue - elle a dû décompresser le programme - mais elle a été extrêmement rapide par la suite.

Je l'ai également essayé avec un modèle Simulink lié à une interface GUIDE. Il était plus rapide que Matlab/Simulink eux-mêmes.

Je pense personnellement que cela vaut la peine d'installer le MCR si vous avez déjà des algorithmes prêts. Une réécriture est toujours problématique : vous devez tester et déboguer à nouveau, et les résultats peuvent ne pas être exactement les mêmes. Donc, il peut être plus facile de demander à quelqu'un de faire juste l'interface utilisateur et de la lier au programme Matlab.

Oui, il existe des spécialistes des interfaces graphiques. Si vous utilisez la stratégie MCR, vous devrez simplement les laisser faire leur magie.

En ce qui concerne le temps... cela dépend de la complexité de votre logiciel et de la quantité d'images que vous voulez ajouter, mais laissez au moins deux mois pour avoir quelque chose de valable après avoir écrit les spécifications, surtout si vous devez expliquer les détails à quelqu'un d'autre.

1voto

Hamish Grubijan Points 2078

En fonction de la version de Matlab, vous pouvez compiler votre code Matlab dans un assemblage .Net et le combiner avec une belle interface graphique .NET Forms ou WPF - cela devrait être un plaisir pour les yeux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X