Increasing accuracy of geometric shape detection

Hello all,

I am using ImageJ as a means to detect and record the shapes of many geometric particles. I have been using the Circ. measurement within Analyze Particles to categorize each particle as either a hexagon(Circ. ≃ .9), triangle (Circ. ≃ .6), or distorted triangle (.6 > Circ. > .9). The accuracy of this method has not been substantial to correctly categorize each shape. For example, the Circ. calculation from Analyze Particles of a nearly perfect hexagon is inaccurate and therefore mislabels the shape of the particle. The Polygon Selections tool is able to provide accurate measurements however this method is simply too tedious for the large amount of particles I am trying to analyze.

Is there some way to increase the accuracy of the Analyze Particles tool that could improve my consistency of correct shape detection? Or is there a better method for geometric shape detection and categorization?

I have tried adjusting image threshold, contrast, and size.

example.tif (1.3 MB)

Thank you for any advise you can give me.

Here are some plugins for an extended particle analysis which might be helpful:

https://blog.bham.ac.uk/intellimic/g-landini-software/

See also:

The issue you raise is most likely because the “hexagon” in your image is not a hexagon.
Hexagons have 6 corners, a “digitised hexagon” (where the boundaries have been encoded by a chain of connected pixels) has many more corners.
You are dealing with digitised boundaries and the discretisation brings in a number of issues (e.g. a very relevant one is boundary encoding and length) that prevents to apply the formula of an perfect hexagon to a digitised one and obtain the same number. Similarly this happens to circularity. You won’t get a circularity of 1.0 by analysing the encoded boundary of a seemigly circular shape (because it is not a circle).
You could try some transformation of your regions to see if they can reveal some more morphological information. E.g. use a moprhological filter to reduce boundary details and re-analyse, or skeletonize the regions and inspect the number of “end points” in the skeleton. Another type of analysis that might show the gross geometry of a shape is the “curvature scale space”.