Bonjour tout le monde,
Tout d'abord, je tiens à dire que je me suis mis à ImageJ depuis peu pour faire du traitement d'image (mesure de surface et de teintes RVB) et que je n'y connais rien en programmation.
J'ai réalisé ma première macro grâce à l'outils très simple d'utilisation d'ImageJ (à savoir Plugins/Macros/Record...) qui permet de faire les mesures.
Cependant, cette macro ne marche que pour une seule image à la fois mais ça fonctionne bien.
Maintenant, j'ai plusieurs images que je nomme A, B, C, D et E de manière systèmatique et j'ai crée une nouvelle macro pour me qu'elle me fasse le traitement sur ces 5 images. Mais malheureusement, tout n'est pas bien qui fini bien, car si il me manque une des images (que se soit, A, B, C, D ou E), la macro ne fait rien. Il me faut obligatoirement les 5.
J'ai bien essayé avec la fonction "if/else" mais n'y connaissant pas grand chose ça n'a pas aboutit.
Voilà ma macro :
Et ma question est donc, comment puis faire pour que ma macro fonctionne même si une image est abasente(par exemple: si l'image A est absente, la macro passe à l'image B; et si l'image B est absente, la macro passe à l'image C,... ainsi de suite)?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 run("Set Measurements...", "area mean redirect=None decimal=3"); selectWindow("A.bmp"); run("RGB Stack"); setSlice(3); setAutoThreshold("Default"); //run("Threshold..."); setThreshold(0, 80); //setTool("wand"); doWand(1312, 824); run("Measure Stack"); doWand(3292, 816); run("Measure Stack"); doWand(2312, 1360); run("Measure Stack"); close(); selectWindow("B.bmp"); run("RGB Stack"); setSlice(3); ... ... selectWindow("E.bmp"); run("RGB Stack"); setSlice(3); setAutoThreshold("Default"); //run("Threshold..."); setThreshold(0, 80); //setTool("wand"); doWand(1312, 824); run("Measure Stack"); doWand(3292, 816); run("Measure Stack"); doWand(2312, 1360); run("Measure Stack"); close();
Ou est-ce que ma macro est juste trop pourrie et qu'il y a nettement plus simple à faire pour que ça ne bug pas?
Je vous remercie par avance,
Bien cordialement,
Xander
Partager