Measuring overlapping particles

This is my image and I currently have this macro:

original = getTitle();
makeRectangle(390,1170,489,687);
run("Crop");
run("Duplicate...", "title=["+original+"_copy");
duplicate = getTitle();
run("Pseudo flat field correction", "blurring=8");
close(duplicate + "_background");
run("8-bit");
run("Variance...", "radius=0");
setAutoThreshold("Mean dark");
setOption("BlackBackground", true);
run("Convert to Mask");
run("EDM Binary Operations", "iterations=0 operation=close");
run("Fill Holes");
run("EDM Binary Operations", "iterations=160 operation=open");
run("Set Measurements...", "fit redirect=None decimal=3");
run("Analyze Particles...", "pixel display");
run("Create Selection");
selectWindow(original);
run("Restore Selection");

This is the output:

I’m trying to find the major and minor axes of the ellipse in the cropped section. I’ve tried using the watershed based plugins to split the particles up but it hasn’t been working for me. Anyone have any advice?

Thanks

@Thomas_Wu

Have you looked at the Ellipse Split plugin? Perhaps this would help you? You would just need to create a binary image for input. This obviously won’t help in the case of fully overlapping objects, but should work in the example you provided here.

eta


This is the result when I use the Ellipse Split plugin.
These are the settings I used. Should I change them?

@Thomas_Wu

So… I have not used the plugin myself. I am sure @twagner can provide you better help.

eta :slight_smile:

@Thomas_Wu

Unfortunately, the ellipse split plugin works internally by default with imagej’s watershed algorithm. It seems that this procedure is not able to split your particle apart. However, if you find a way to split you object like this:

You can select the image under “Binary splitted image” and use the Ellipse split plugin.

1 Like