forked from JaneliaSciComp/ColorMIP_Mask_Search
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Batch_Mask_Search_Macro.ijm
83 lines (59 loc) · 2.68 KB
/
Batch_Mask_Search_Macro.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
// need to pre-open only 1 image as dataset stack
OverlapPercent=1;
colorFlux=2;
dir=getDirectory("Choose a Directory for 2D Mask.tif");
list=getFileList(dir);
Array.sort(list);
setBatchMode(true);
if(nImages>1){
titlelist=getList("image.titles");
for(i=0; i<titlelist.length; i++){
selectWindow(titlelist[i]);
if(nSlices>1)
StackTitle=titlelist[i];
}
}else
StackTitle=getTitle();
StackID=getImageID();
StackTitleSlice=nSlices();
if(StackTitleSlice==1)
StackTitleCplugin=StackTitle+" ("+StackTitleSlice+") slice";
else
StackTitleCplugin=StackTitle+" ("+StackTitleSlice+") slices";
myDir0 = dir+File.separator+"Search_results"+File.separator;
File.makeDirectory(myDir0);
for(i=0; i<list.length; i++){
print("");
tifindex=lastIndexOf(list[i],"tif");
if(tifindex!=-1){
open(dir+list[i]);
originalMaskTitle=getTitle();
originalMask=getImageID();
dotindex=lastIndexOf(list[i],".");
truname=substring(list[i],0,dotindex);
makeRectangle(765, 0, 259, 85);
setForegroundColor(0, 0, 0);
run("Fill", "slice");
originalMaskTitleSlice=nSlices();
if(nSlices>1)
exit("Mask has multiple slices");
a=getTime();
makeRectangle(765, 0, 259, 85);
// print("mask=["+originalMaskTitle+" (1) slice] 1.threshold=40 negative=none 2.threshold=50 data=["+StackTitle+" ("+StackTitleSlice+") slices] 2.threshold=100 %="+OverlapPercent+" pix="+colorFlux+" duplicated=1 result=[Two windows] slice=[overlap value + line name] scoring=% clear");
run("ColorMIP Mask Search", "mask=["+originalMaskTitle+" (1) slice] 1.threshold=40 negative=none 2.threshold=50 data=["+StackTitle+" ("+StackTitleSlice+") slices] 2.threshold=60 %="+OverlapPercent+" pix="+colorFlux+" duplicated=1 result=[Two windows] slice=[overlap value + line name] scoring=% clear");
//run("ColorMIP Mask Search", "maskm="+originalMaskTitle+" (1) slice 1.threshold=40 data="+StackTitle+" ("+StackTitleSlice+") slices 2.threshold=100 %="+OverlapPercent+" pix="+colorFlux+" duplicated=2 result=[Two windows] slice=[overlap value + line name] scoring=% clear");
//run("ColorMIP Mask Search", "maskm="+originalMaskTitle+" 1.threshold=30 data="+StackTitle+" 2.threshold=90 %="+OverlapPercent+" pix="+colorFlux+" duplicated=1 result=[Two windows] slice=[overlap value + line name] clear");
b=getTime();
Gap=b-a;
Gap=Gap/1000/60;
print(Gap+" min for the searching process "+truname);
selectWindow("Original_RGB.tif_"+OverlapPercent+".0 %_"+originalMaskTitle+"");
PositiveStackSlice=nSlices();
save(myDir0+truname+"_Result_"+PositiveStackSlice+".tif");
close();
print("After the duplication elimination; "+PositiveStackSlice+" positive slices");
selectWindow(originalMaskTitle);
close();
}
}
"Done"