Bonsoir,
Je travaille actuellement à l'analyse de données expérimentales en imagerie optique. Les données brutes sont des fichiers .TIF multi frames, le "film" de l'enregistrement. J'essaie de réaliser sous Matlab un programme permettant d'afficher les frames intéressants. Par exemple, pour plusieurs fichiers de taille identique, je veux sélectionner une séquence de frames et les afficher à la suite sur une ligne, avec une ligne pour chaque fichier dans le même plot, pour pouvoir comparer visuellement ces fichier. Mon programme est grossièrement constitué d'une fonction qui génère une interface graphique pour controler différents parametres et charger les fichier à traiter. Sur cette interface, après avoir choisi tous les paramètres, il y a un bouton pour lancer la deuxieme fonction, qui plotte les fichiers selon ces parametres.
Le premier problème : le plot sort toujours vide avec le bouton de lancement, alors que si je lance le contenu de la fonction à part depuis mon éditeur, il est bon. Je ne vois pas pourquoi. J'ai peut-être mal appelé ma fonction, c'est mon premier programme avec Matlab et je n'ai pas encore d'automatismes...
Quelqu'un aurait une idée ?
L'architecture globale :
La fonction file_select est appelée dans ui_interface, elle permet de stocker le chemin des fichiers voulus dans une liste
time_windows ouvre une boite de dialogue pour choisir la fenetre temporelle interessant que l'on veut voir plotée
index_list_gen génère la liste des index des frames correspondant à la fenetre temporelle. Cette liste dépend de certains parametres d'acquisition choisis dans l'interface.
La fonction frm_plot genere la figure, elle a besoin de la liste des fichiers et des indices
La portion de la fonction pour l'interface qui appelle la fonction pour le plot et la fonction pour le plot :Code:function ui_interface(h,eventdata) function file_select(h,eventdata) function time_windows(h,eventdata) function index_list_gen(h,eventdata) function frm_plot(h,eventdata)
Le code entier :Code:%LAUNCH uicontrol('Style', 'pushbutton', 'String', 'LAUNCH',... 'Position', [10 100 200 50],... 'Callback', @frm_plot); %%%%%%%%%%%%%%%%%% function frm_plot(h,eventdata) global file_list index_list pos=0; figure for j = 1:length(file_list) for i = 1:length(index_list) pos=pos+1; subplot(size(file_list,1),length(index_list),pos) imagesc(imread(file_list{j,:},index_list(i))) end end
Cliquez pour afficher
Je m'arrache les cheveux depuis un moment...
Merci à celui ou celle qui a lu jusque là, et merci de votre aide
-----