/
gzmeasure.ijm
101 lines (91 loc) · 2.57 KB
/
gzmeasure.ijm
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
ide = getImageID(); //remnant of a forgone era
//main: collect image info, save metadata
//loop 1x
Dialog.create("Number of segments");
Dialog.addNumber("How many segments are visible?", 3);
Dialog.show(); //get input from user: number of segments
number = Dialog.getNumber();
dir = getDirectory("home") + "Desktop/temp/";
imgdir = getDirectory("home") + "Desktop/GZ_Tzach_Pictures/for_measurements/";
name = getTitle();
print("\\Clear") //clears log window
print("img_title " + name);
print("no_segments " + number);
selectWindow("Log");
saveAs("Text", "" + dir + "/" + name + "_meta.txt");
//prep: set parameters linewidth and color; clear previous measurements
//loop 1x
run("Line Width...", "line=2");
run("Colors...", "foreground=red background=white selection=yellow");
run("Clear Results");
//measure:
//loop 3x
for (b=0; b<3; b++) {
query = "1: Draw a line measuring the width of the growthzone at its widest part:";
measure_length();
if (number>0) {
query = "2: Draw a line along the first stripe:";
measure_length();
}
if (number>1) {
query = "3: Draw a line along the second stripe:";
measure_length();
}
if (number>2) {
query = "4: Draw a line along the third stripe:";
measure_length();
}
if (number>0) {
query = "5: Draw a line from the tip of the growthzone to the first stripe:";
measure_length();
}
query = "6: Draw a line from the tip of the growthzone to the middle of (1), the cross section of the growth zone:";
measure_length();
if (number>1) {
query = "7: Draw a line between the first and second stripe:";
measure_length();
}
if (number>2) {
query = "8 Draw a line between the second and third stripe:";
measure_length();
}
saveAs("Measurements", "" + dir + "/" + name + b+1 + "_len.txt");
run("Clear Results");
if (number>0) {
query = "9: Draw the area of the growthzone up to the first stripe:";
measure_area();
}
if (number>1) {
query = "10: Draw the area of the growthzone between the first and second stripe:";
measure_area();
}
if (number>2) {
query = "11: Draw the area of the growthzone between the second and third stripe:";
measure_area();
}
saveAs("Measurements", "" + dir + "/" + name + b+1 + "_area.txt");
run("Clear Results");
selectImage(name);
close();
open(imgdir + name);
}
//final: close image
selectImage(name);
close();
//functions: measure length and measure area
//no loop
function measure_length() {
setTool("line");
waitForUser(query);
run("Measure");
updateResults;
run("Draw");
}
function measure_area() {
//run("Clear Results");
setTool("polygon");
waitForUser(query);
run("Measure");
updateResults;
run("Draw");
}