//Returns an array of indexes of ROIs that match //the given regular expression // function findRoisWithName(roiName) { nR = roiManager("Count"); roiIdx = newArray(nR); k=0; clippedIdx = newArray(0); for (r=0; r0) { clippedIdx = Array.trim(roiIdx,k); } return clippedIdx; }; function countRoisWithName(roiName) { nR = roiManager("Count"); roiIdx = newArray(nR); k=0; clippedIdx = newArray(0); for (r=0; r0 ) { roiManager("select", neg);//draw negative setForegroundColor(0, 0, 0); selectWindow("Classified_nuclei_"+filename); roiManager("Fill");} if (lengthOf(g1)>0 ) { roiManager("select", g1);//draw gene1 setForegroundColor(20, 20, 20); selectWindow("Classified_nuclei_"+filename); roiManager("Fill");} if (lengthOf(g2)>0 ) { roiManager("select", g2);//draw gene2 setForegroundColor(53, 53, 53); selectWindow("Classified_nuclei_"+filename); roiManager("Fill");} if (lengthOf(g3)>0 ) { roiManager("select",g3 );//draw gene3 setForegroundColor(119, 119, 119); //gene3 selectWindow("Classified_nuclei_"+filename); roiManager("Fill");} if (lengthOf(g12)>0 ) { roiManager("select", g12);//draw gene1&gene2 setForegroundColor(73, 73, 73); //gene1&gene2 selectWindow("Classified_nuclei_"+filename); roiManager("Fill");} if (lengthOf(g13)>0 ) { roiManager("select",g13 );//draw gene1&gene3 setForegroundColor(139, 139, 139); //gene1&gene3 selectWindow("Classified_nuclei_"+filename); roiManager("Fill");} if (lengthOf(g23)>0 ) { roiManager("select", g23);//draw gene2&gene3 setForegroundColor(169, 169, 169); //gene2&gene3 selectWindow("Classified_nuclei_"+filename); roiManager("Fill");} if (lengthOf(g123)>0 ) { roiManager("select", g123);//draw gene1&gene2&gene3 setForegroundColor(192, 192, 192); //gene1&gene2&gene3 selectWindow("Classified_nuclei_"+filename); roiManager("Fill");} //print ("Group"," ","Image"," ","negative", " ",geneonename+"-only"," ",genetwoname+"-only"," ",genethreename+"-only"," ",geneonename +" and "+genetwoname," ",geneonename+" and "+genethreename," ",genetwoname+" and "+genethreename," ",geneonename+" and "+genetwoname+" and "+genethreename); negativecount = countRoisWithName(":negative"); gene1count = countRoisWithName(":"+geneonename); gene2count = countRoisWithName(":"+genetwoname); gene3count = countRoisWithName(":"+genethreename); gene1and2count = countRoisWithName(":double_"+geneonename+"+"+genetwoname); gene1and3count = countRoisWithName(":double_"+geneonename+"+"+genethreename); gene2and3count = countRoisWithName(":double_"+genetwoname+"+"+genethreename); gene1and2and3count = countRoisWithName(":triple_"+geneonename+"+"+genetwoname+"+"+genethreename); //print (trgroup," ",filename," ",negativecount," ",gene1count," ",gene2count," ",gene3count," ",gene1and2count," ",gene1and3count," ",gene2and3count," ",gene1and2and3count); print("[Cell counts]", trgroup+ " "+filename+" "+"negative "+negativecount+" "+total+" "+ 0); print("[Cell counts]", trgroup+ " "+filename+" "+geneonename+" "+gene1count+" "+total+" "+ 20); print("[Cell counts]", trgroup+ " "+filename+" "+genetwoname+" "+gene2count+" "+total+" "+ 53); print("[Cell counts]", trgroup+ " "+filename+" "+genethreename+" "+gene3count+" "+total+" "+ 119); print("[Cell counts]", trgroup+ " "+filename+" "+geneonename+"+"+genetwoname+" "+gene1and2count+" "+total+" "+ 73); print("[Cell counts]", trgroup+ " "+filename+" "+geneonename+"+"+genethreename+" "+gene1and3count+" "+total+" "+ 139); print("[Cell counts]", trgroup+ " "+filename+" "+genetwoname+"+"+genethreename+" "+gene2and3count+" "+total+" "+ 169); print("[Cell counts]", trgroup+ " "+filename+" "+geneonename+"+"+genetwoname+"+"+genethreename+" "+gene1and2and3count+" "+total+" "+ 192); exit ("Classification&Counting finished!"); }; n = roiManager("count"); total=n; for (j=0; j0 ) { roiManager("select", neg);//draw negative setForegroundColor(0, 0, 0); selectWindow("Classified_nuclei_"+filename); roiManager("fill");} if (lengthOf(g1)>0 ) { roiManager("select", g1);//draw gene1 setForegroundColor(20, 20, 20); selectWindow("Classified_nuclei_"+filename); roiManager("Fill");} if (lengthOf(g2)>0 ) { roiManager("select", g2);//draw gene2 setForegroundColor(53, 53, 53); selectWindow("Classified_nuclei_"+filename); roiManager("Fill");} if (lengthOf(g12)>0 ) { roiManager("select",g12 );//draw gene1&gene2 setForegroundColor(73, 73, 73); //gene1&gene2 selectWindow("Classified_nuclei_"+filename); roiManager("Fill");} //print ("Group"," ","Image"," ","negative", " ",geneonename+"-only"," ",genetwoname+"-only"," ",genethreename+"-only"," ",geneonename +" and "+genetwoname," ",geneonename+" and "+genethreename," ",genetwoname+" and "+genethreename," ",geneonename+" and "+genetwoname+" and "+genethreename); negativecount = countRoisWithName(":negative"); gene1count = countRoisWithName(":"+geneonename); gene2count = countRoisWithName(":"+genetwoname); gene1and2count = countRoisWithName(":double_"+geneonename+"+"+genetwoname); //print (trgroup," ",filename," ",negativecount," ",gene1count," ",gene2count," ","NA"," ",gene1and2count," ","NA"," ","NA"," ","NA"); print("[Cell counts]", trgroup+ " "+filename+" "+"negative "+negativecount+" "+total+" "+ 0); print("[Cell counts]", trgroup+ " "+filename+" "+geneonename+" "+gene1count+" "+total+" "+ 20); print("[Cell counts]", trgroup+ " "+filename+" "+genetwoname+" "+gene2count+" "+total+" "+ 53); print("[Cell counts]", trgroup+ " "+filename+" "+geneonename+"+"+genetwoname+" "+gene1and2count+" "+total+" "+ 73); exit ("Classification&Counting finished!"); /// setBatchMode(true); -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html