Login  Register

Re: Macro to measure particles and save ROI on to original image

Posted by eloiselockyer on May 19, 2017; 2:56pm
URL: http://imagej.273.s1.nabble.com/Macro-to-measure-particles-and-save-ROI-on-to-original-image-tp5018747p5018761.html

Thank you for your help, I ended up modifying my code last night to get it to work and this is what I have now:

dir=getDirectory("Choose a Directory");
print(dir);
greenDir=dir + "/Green/";
blueDir=dir + "/Blue/";
print(greenDir);
print(blueDir);
File.makeDirectory(greenDir);
File.makeDirectory(blueDir);
list = getFileList(dir);

for (i=0; i<list.length; i++) {
     if (endsWith(list[i], ".tif")){
               print(i + ": " + dir+list[i]);
             open(dir+list[i]);
             imgName=getTitle();
         baseNameEnd=indexOf(imgName, ".tif");
         baseName=substring(imgName, 0, baseNameEnd);

         run("Split Channels");
         roiManager("Reset");

         selectWindow("C1-" + imgName);  
         run("Duplicate...", "title=");
         saveAs("Tiff", greenDir + "originalgreen" + baseName);
         selectWindow("C1-" + imgName);
         setAutoThreshold("Default dark");
         //run("Threshold...");
         //setThreshold(1, 255);
         setOption("BlackBackground", false);
         run("Convert to Mask");
         run("Analyze Particles...", "size=60-Infinity pixel show=Outlines display exclude summarize add");
         selectWindow("originalgreen" + imgName);
         roiManager("Show All with labels");
         run("Flatten");
         saveAs("Tiff", greenDir + baseName + "overlaygreen.tif");
         close();
     }
}

for (i=0; i<list.length; i++) {
     if (endsWith(list[i], ".tif")){
               print(i + ": " + dir+list[i]);
             open(dir+list[i]);
             imgName=getTitle();
         baseNameEnd=indexOf(imgName, ".tif");
         baseName=substring(imgName, 0, baseNameEnd);

         run("Split Channels");
         roiManager("Reset");


         selectWindow("C2-" + imgName);
         run("Duplicate...", "title=");
         saveAs("Tiff", blueDir + "originalblue" + baseName);
         selectWindow("C2-" + imgName);
         //run("Threshold...");
         //setThreshold(23, 255);
         setOption("BlackBackground", false);
         run("Convert to Mask");
         run("Analyze Particles...", "size=60-Infinity pixel show=Outlines display exclude summarize add");
         selectWindow("originalblue" + imgName);
         roiManager("Show All with labels");
         run("Flatten");
         saveAs("Tiff", blueDir + baseName + "overlayblue.tif");
         run("Close All");
     }
}