// Assuming that this is the image youre starting with. // Make sure the image you want to process is the active window before hitting 'Run' // This will only work on 2 channel composite images. // we only want to look at the puncta channel (2), so isolate that run("Duplicate...", "duplicate channels=2"); // if you're only running one-channel images here, use the following command instead to duplicate. // run("Duplicate...", " "); puncta = getTitle(); // Making this image a variable //run("Brightness/Contrast..."); run("Enhance Contrast", "saturated=0.35"); // Spatial high pass filter, since our puncta are really small run("Duplicate...", " "); pfilter = getTitle(); // This is the image we are filtering run("Subtract Background...", "rolling=5"); // Threshold out the bright spots based on intensity setAutoThreshold("Otsu dark"); //run("Threshold..."); setOption("BlackBackground", false); run("Convert to Mask"); // Circle all of the puncta with 'Analyze Particles' function run("Analyze Particles..."); // Measure their brightness (mean) and area on the ORIGINAL RAW IMAGE selectWindow(puncta); run("Set Measurements...", "area mean redirect=None decimal=3"); run("Analyze Particles...", "clear add"); roiManager("Show All without labels"); roiManager("multi-measure"); // You can save the output results however you want. Usually as a CSV file. // Whatever you prefer to run stats in is totally up to you. // Here's the descriptive stats for the area and brighness distributions run("Distribution...", "parameter=Area automatic"); run("Distribution...", "parameter=Mean automatic");