Problems redirecting measurements from "Analyze Particles" to another image

jython
#1

I have been working on a jython script in Fiji to measure the size and shape of soft latex particles embedded in vitreous ice and imaged by cryoTEM. I have my example script and exemplar image in a github repository.

I am trying to redirect the overlay from the binary image to the processed (background subtracted to compensate for fluctuations in ice thickness.) The code does not redirect the overlays… This is my largest concern at the moment. I am hoping a few other pairs of eyes will discover what I missed.

I had tried to perform a watershed separation on my binary image (code not included here) but the result had fine lines separating the particles. if someone sees a good way to do this, I would appreciate pointers.

Best regards,
John Minter

#2

@John_Minter It could be caused by a threaded behaviour.

As a workaround just add all particles to the ROI Manager which you can then enable on the original image.

So instead of:

IJ.run(impAna, "Analyze Particles...", "display exclude summarize")

use something like:

IJ.run(impAna, "Analyze Particles...", "display exclude summarize add")

Overlays can be generated on the selected image from the ROI Manager with:

IJ.run("From ROI Manager", "");

Here I changed the last lines of your code (omitted the redirect):

IJ.run("Set Measurements...", "area mean centroid center perimeter fit shape display add decimal=3")
IJ.run(impAna, "Analyze Particles...", "display exclude summarize add")
IJ.selectWindow("processed")
IJ.run("From ROI Manager", "");
IJ.saveAs("Results", csvPath)

By the way my compliment you generated a nice reproducible example on Github.

#3

Thanks for the tip. It works! The next step will be to filter by other information in the Results (e.g. circularity to get the well-segmented round particles…)