Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

identifying connecting particles

Im trying to write a program that analyses images (U8) for particle centers. My two major problems are speed (repetition rate) and identifying connecting particles.

Concerning connecting particles:

I have tried using "Ratio of equivalent ellipse" to identify connecting particles (since they would often have an elliptical like shape), however the output value does not seem to correspond very well to what you would guess from looking at the images.

Has anyone got a suggestion for a better way to identify these connection particles?

NOTE: When I find an object that is not very circular, I assume that it is two connecting particles and count it twice. Objects of more than two connecting particles are rare and can be neglected.

I have added a .vi that opens images, searches for particles and shows the raw and processed images.

The vi:

There are three different routines searching for particles.

Conv.Cent; that uses advanced and accurate methods for finding centers of particles (but does it too slow).

Thr.RP.PA; that thresholds, removes particles and does particle analysis.

Thr.PA.area; that thresholds, does particle analysis and then throws away particles with too small area.

To illustrate my concerns I have added a few images:

#56 clearly has connecting particles at (450,398) which the program finds.

#62 connecting particles at (374,395) somehow only have a "Ratio of equivalent ellipse" of 1,98

#9 The particle at (242,125) for some reason is calculated to be very asymmetric with a value of 2,32

The values for Ellipticity and Max area are choosen from looking at dozens of images. I dont think they could be changed much.

 

NOTE: This vi is just for testing the particle searching!

 

Thanks

Simon

 

0 Kudos
Message 1 of 6
(3,991 Views)
The images...
0 Kudos
Message 2 of 6
(3,986 Views)
Simon,

The measurements you are talking about are solely functions of the area and perimeter of the particle. Perimeter is a tricky measurement, especially at the very low resolution of particle you are working with (as small as 10 by 10 pixels). That said, you may want to experiment with the ratio of the particle's Convex Hull Area to its Area. Both measurements are available in Particle Analysis, but you'll have to divide them to make a ratio yourself.

Kevin C.
National Instruments
Vision Algorithms
0 Kudos
Message 3 of 6
(3,977 Views)
I tryed looking at moments of inertia. The "Moment of inertia xy" seemed to give large values for connecting particles. Particles with size above 40 and xy moment above 35 seemed to be connecting particles.
 
Is x and y coordinates fixed by the image or are they choosen for each particle?
 
The (convex hull area)/area also seemed to work fine. I will have to run a quantitative test to see which is best.
0 Kudos
Message 4 of 6
(3,966 Views)
Hi Simon

Maybe you could try the compactness factor, it measures how similar is a particle to a circle, so for round particles (without holes) it would be a number close to 1, and for large particles it would be a number close to 0. So probably in your case it could help, with the connected particles having a compactness factor close to 0. Probably the best solution is study a combination of more than one factor, like compactness, moments of inertia,...

I haven't been able to open the images with .dat extension.

Regards
0 Kudos
Message 5 of 6
(3,941 Views)
Hi Jrodriguez
 
To open the .dat files you need the two subvi's attached above:
 
 
I think you are right, i probably need to look at a combination of parameters. Unfortunalty it will be very time consuming to go through many images and testing the value of a series of parameters.
0 Kudos
Message 6 of 6
(3,889 Views)