Poor thresholding of droplets and particle counting

Hello :slight_smile:

I have been imaging condensation droplets over different time scales but can’t threshold accurately on ImageJ to be able to get data such as average droplet area, surface coverage etc… to find droplet diameters and growth.

On early images with little disperse droplets I can threshold fine and attain the detail I want using this macro: *see example of overlayed ROI -

By cropping a middle sample size, thresholding (Huang), then using the different binary processes to fill the droplet shapes, negate odd background noise and watershed conjoined droplets. Although this didn’t get the exact shape, it was good data to attain what I needed.

run(“8-bit”);
//setTool(“rectangle”);
makeRectangle(363, 333, 1337, 1337);
run(“Crop”);
setAutoThreshold(“Huang”);
//run(“Threshold…”);
//setThreshold(0, 188);
run(“Convert to Mask”);
run(“Fill Holes”);
run(“Erode”);
run(“Dilate”);
run(“Watershed”);
run(“Analyze Particles…”, “display exclude clear summarize”);

This breaks down when droplets are closely packed and I can’t threshold to get individual droplets - the droplets tend to merge together into big blobs. I have tried lots of different threshold techniques and filters but can’t separate out individual shapes. Please see poor example:

Please see attached the raw image examples and a densely packed example that I haven’t been able to get any analysis from at all.
early example raw.tiff (12.0 MB)
late example raw.tiff (12.0 MB)
boss level packing.tiff (12.0 MB)

Any tips or help whatsoever would be greatly appreciated. I have been watching so many different tutorials and reading blogs but I can’t seem to get any closer!

Thank you in advance.

1 Like

Hi
@FRANK
I get this:

with this macro:


run("Duplicate...", "title=1");
run("Duplicate...", "title=2");
run("RGB to CMYK");
selectWindow("CMYK_2");
run("Stack to Images");
selectWindow("Y");
setAutoThreshold("Huang");
//run("Threshold...");
setOption("BlackBackground", false);
run("Convert to Mask");
run("Fill Holes");
run("Watershed");
run("Set Measurements...", "area fit add redirect=None decimal=2");
run("Analyze Particles...", "display exclude clear add");
roiManager("Show All without labels");
selectWindow("2");
roiManager("Show All without labels");
1 Like

They may want an additional background correction step due to the uneven lighting in the image’s lower right corner.

1 Like