Bonjour à tous,

J'ai des scans de plaques de 12 puits dans lesquels sont des larves de poissons. Il y a a chaque fois 3 plaques par scan, qui sont toujours positionées exactement au même endroit. J'aimerais pouvoir sélectionner 36 Rois par scans, les enregistrer dans un dossier en .jpeg, afin que je puisse ensuite lancer un Batch processing qui analyze les particules et me donne leur taille (la taille des larves donc).

Pour l'instant, j'ai réussi à écrire la macro qui me séléctionne et renomme tous les ROIs. En fouillant sur le net, j'ai aussi trouvé comment enregistré les ROIs en .jpeg. Malheureusement, ce dernier bout de code m'oblige à cliquer 2 fois pour chaque enregistrement (pour valider le nom de fichier et valider le chemin). Moi j'aimerais que le nom de fichier utilisé pour le .jpg du roi soit justement le nom du ROI (ex. 1-C4), et que le chemin soit toujours le même. Je pourrais ainsi m'épargner de nombreux clics, sachant que le nombre de ces chers poissons est de 90'000 environs.

Voici le code:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
roiManager("reset")
 
// this select ROI of the top plate
 
makeOval(1520, 80, 560, 560)
roiManager("Add")
makeOval(2130, 80, 560, 560)
roiManager("Add")
makeOval(2740, 80, 560, 560)
roiManager("Add")
makeOval(3350, 80, 560, 560)
roiManager("Add")
 
makeOval(1520, 690, 560, 560)
roiManager("Add")
makeOval(2130, 690, 560, 560)
roiManager("Add")
makeOval(2740, 690, 560, 560)
roiManager("Add")
makeOval(3350, 690, 560, 560)
roiManager("Add")
 
makeOval(1520, 1300, 560, 560)
roiManager("Add")
makeOval(2130, 1300, 560, 560)
roiManager("Add")
makeOval(2740, 1300, 560, 560)
roiManager("Add")
makeOval(3350, 1300, 560, 560)
roiManager("Add")
 
//this select ROI in the middle plate
 
makeOval(1520, 2100, 560, 560)
roiManager("Add")
makeOval(2130, 2100, 560, 560)
roiManager("Add")
makeOval(2740, 2100, 560, 560)
roiManager("Add")
makeOval(3350, 2100, 560, 560)
roiManager("Add")
 
makeOval(1520, 2710, 560, 560)
roiManager("Add")
makeOval(2130, 2710, 560, 560)
roiManager("Add")
makeOval(2740, 2710, 560, 560)
roiManager("Add")
makeOval(3350, 2710, 560, 560)
roiManager("Add")
 
makeOval(1520, 3320, 560, 560)
roiManager("Add")
makeOval(2130, 3320, 560, 560)
roiManager("Add")
makeOval(2740, 3320, 560, 560)
roiManager("Add")
makeOval(3350, 3320, 560, 560)
roiManager("Add")
 
//this select ROI of the bottom plate
 
makeOval(1520, 4120, 560, 560)
roiManager("Add")
makeOval(2130, 4120, 560, 560)
roiManager("Add")
makeOval(2740, 4120, 560, 560)
roiManager("Add")
makeOval(3350, 4120, 560, 560)
roiManager("Add")
 
makeOval(1520, 4730, 560, 560)
roiManager("Add")
makeOval(2130, 4730, 560, 560)
roiManager("Add")
makeOval(2740, 4730, 560, 560)
roiManager("Add")
makeOval(3350, 4730, 560, 560)
roiManager("Add")
 
makeOval(1520, 5340, 560, 560)
roiManager("Add")
makeOval(2130, 5340, 560, 560)
roiManager("Add")
makeOval(2740, 5340, 560, 560)
roiManager("Add")
makeOval(3350, 5340, 560, 560)
roiManager("Add")
 
//this will rename the ROIs with the well IDs
 
roiManager("Select", 0)
roiManager("Rename", "1-A4")
roiManager("Select", 1)
roiManager("Rename", "1-A3")
roiManager("Select", 2)
roiManager("Rename", "1-A2")
roiManager("Select", 3)
roiManager("Rename", "1-A1")
roiManager("Select", 4)
roiManager("Rename", "1-B4")
roiManager("Select", 5)
roiManager("Rename", "1-B3")
roiManager("Select", 6)
roiManager("Rename", "1-B2")
roiManager("Select", 7)
roiManager("Rename", "1-B1")
roiManager("Select", 8)
roiManager("Rename", "1-C4")
roiManager("Select", 9)
roiManager("Rename", "1-C3")
roiManager("Select", 10)
roiManager("Rename", "1-C2")
roiManager("Select", 11)
roiManager("Rename", "1-C1")
 
roiManager("Select", 12)
roiManager("Rename", "2-A4")
roiManager("Select", 13)
roiManager("Rename", "2-A3")
roiManager("Select", 14)
roiManager("Rename", "2-A2")
roiManager("Select", 15)
roiManager("Rename", "2-A1")
roiManager("Select", 16)
roiManager("Rename", "2-B4")
roiManager("Select", 17)
roiManager("Rename", "2-B3")
roiManager("Select", 18)
roiManager("Rename", "2-B2")
roiManager("Select", 19)
roiManager("Rename", "2-B1")
roiManager("Select", 20)
roiManager("Rename", "2-C4")
roiManager("Select", 21)
roiManager("Rename", "2-C3")
roiManager("Select", 22)
roiManager("Rename", "2-C2")
roiManager("Select", 23)
roiManager("Rename", "2-C1")
 
roiManager("Select", 24)
roiManager("Rename", "3-A4")
roiManager("Select", 25)
roiManager("Rename", "3-A3")
roiManager("Select", 26)
roiManager("Rename", "3-A2")
roiManager("Select", 27)
roiManager("Rename", "3-A1")
roiManager("Select", 28)
roiManager("Rename", "3-B4")
roiManager("Select", 29)
roiManager("Rename", "3-B3")
roiManager("Select", 30)
roiManager("Rename", "3-B2")
roiManager("Select", 31)
roiManager("Rename", "3-B1")
roiManager("Select", 32)
roiManager("Rename", "3-C4")
roiManager("Select", 33)
roiManager("Rename", "3-C3")
roiManager("Select", 34)
roiManager("Rename", "3-C2")
roiManager("Select", 35)
roiManager("Rename", "3-C1")
 
//this will save the ROIs as .jpeg
 
n = roiManager("count"); 
 for (i=0; i<n; i++) { 
        roiManager("select", i); 
        run("Duplicate..."); 
        saveAs("Jpeg"); 
        close(); 
  }
C'est surtout la dernière partie qui est importante.

Je pense que l'astuce est assez simple, mais je m'y connais pas encore trop en prog.

Merci