Problems identifying particles with "Analyze Particles"

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems identifying particles with "Analyze Particles"

olivine
Hello,

I'm using ImageJ to measure grain sizes and shapes in rock microstructures. I have binary images with black domains (grains) separated by white lines ~1 pixel wide (grain boundaries). Using the wand tracing tool, I can select any individual grain domains and measure its size properly. However, when I want to 'Analyze Particles' on the whole image, ImageJ is unable to identify the individual grain domains (most are interconnected). One way it works is if I first 'erode' the image, making the boundaries 3 pixels wide (much too wide to have meaningful data).

The wand tool identifies grains correctly when it is set to 'legacy' mode. I suspect that the Analyze Particles routine uses the '8-connected' mode, and thus connects most of the grains to each other. Would there be a way to modify the Analyze Particles routine, maybe through a plugin, to make it use the 'legacy' mode to identify individual domains?

Another way I got some results was by doing a 'Watershed' process on the picture. This effectively makes all the boundary pixels 4-connected (so Analyze Particles works), but it also cuts some of the elongated grains into separate domains, which I need to avoid. Would there be a way to make grain boundaries 4-connected by a process other than Watershed?

Thanks in advance for any help.
Reply | Threaded
Open this post in threaded view
|

Re: Problems identifying particles with "Analyze Particles"

Nathaniel Ryckman
It's all open source.

http://rsbweb.nih.gov/ij/download/src/

olivine wrote
Hello,

I'm using ImageJ to measure grain sizes and shapes in rock microstructures. I have binary images with black domains (grains) separated by white lines ~1 pixel wide (grain boundaries). Using the wand tracing tool, I can select any individual grain domains and measure its size properly. However, when I want to 'Analyze Particles' on the whole image, ImageJ is unable to identify the individual grain domains (most are interconnected). One way it works is if I first 'erode' the image, making the boundaries 3 pixels wide (much too wide to have meaningful data).

The wand tool identifies grains correctly when it is set to 'legacy' mode. I suspect that the Analyze Particles routine uses the '8-connected' mode, and thus connects most of the grains to each other. Would there be a way to modify the Analyze Particles routine, maybe through a plugin, to make it use the 'legacy' mode to identify individual domains?

Another way I got some results was by doing a 'Watershed' process on the picture. This effectively makes all the boundary pixels 4-connected (so Analyze Particles works), but it also cuts some of the elongated grains into separate domains, which I need to avoid. Would there be a way to make grain boundaries 4-connected by a process other than Watershed?

Thanks in advance for any help.