| Prima Homepage ImaLab Generating C++ Modules User Manual The Command Shell Running Imalab Plugin Process Pixels and Images Interactive selection Graphics: plots, profiles Image file I/O Image display Connectivity Analysis Image Processing(1) Gaussian operators Technical Documentation Creating New Modules Tutorial Tutorial Download |
Qu'on veuille étudier une séquence d'images ou une seule image avec ImaLab, il faut savoir que de nombreuses initialisations doivent se faire dans un certain ordre. Grosso modo, il faut d'abord lire une image, ou une séquence; puis créer la fenêtre d'affichage, calculer les images filtrées, et ensuite on pourra tracer des courbes, afficher des graphiques. Il faut aussi lancer gnuplot, geomview, etc. De plus en plus, les initialisations sont faites automatiquement, selon les besoins, mais il est toujours utile de savoir ce qui doit se passer. Par exemple, les programmes ne peuvent pas deviner combien on veut avoir de places sur l'écran - par défaut, l'écran sera ridiculement petit, avec 1 seule place. On reprend dans ce paragraphe l'ordre usuel des opérations au démarrage de ImaLab. Lire une séquencels-seq "olea" liste les séquences existants dans un répertoire (sous-repertoire de asthma-images), et initialise la variable image-dir. La variable dirlist indique les répertoires qu'on peut lister ainsi. (Alain: en cas de modif, mettre à jour la valeur de dirlist dans le code). load-sequence "olea001"charge la séquence indiqué, dans le vecteur ima-sequence; le nom est toujours relatif a image-dir. On peut afficher les images pendant le chargement: load-sequence(name,true) Ensuite, on peut visualiser la séquence avec les fonctions defile et view-pages. Lors d'une même session avec ImaLab, on peut charger d'autres séquences ultérieurement, avec des dimensions différentes: toutes les structures de données s'adapteront. Lecture d'une sous-sequence load-subsequence(nom,i1,i2,visu)Le booléen visu indique si on veut visualiser la séquence pendant le chargement (cela évite d'attendre). La variable globale sequence-step permet de réduire la densité de la séquence, et de ne lire qu'une image sur n; cette variable vaut 1 initialement. nd-load-subsequence(nom,i1,i2,visu)Les paramètres sont les mêmes que pour la fonction load-subsequence ci-dessus, mais les images sont prises chez Nicolas, selon ses conventions: le nom - WORK1 par ex. - est le nom d'un repertoire dans nd-ima-path, les images ont pour nom sequence-testiii. La séquence est chargée dans ima-sequence, et peut ensuite être affichée, donnée aux opérateurs, etc. comme toute séquence. nd-show-subsequence(nom,i1,i2,visu)affiche seulement les images d'une séquence chez Nicolas, selon le gamma et le delai en vigueur. (Si le numéros des images sont difficiles à lire, penser à changer la couleur des graphiques - SetColor). Initialiser l'image couranteLa fonction image-setup effectue "les" calculs standard pour l'image
courante, et initialise un certain nombre de variables globales.
soit pour une image de la séquence:
image-setup(i) La fonction image-setup initialise les variables suivantes:
Les calculs de filtres multi-échelles se font avec les paramètres
et la fonction MultiFilter dans libFilter (module modFilter, fichier Filter2.cc) |