ParticleAnalysis - Particles position

Hello everyone!

Excuse me if I’m not in the correct topic, it is the first time I write in a forum ;).

I’m trying to analyze and classify cells of a foam from a SEM image using Igor Pro, according to their position in the picture. I can obtain their size by means of object area of ParticleAnalysis, but I see that the parameters W_SpotX and W_SpotY don’t correspond to the x and y coordinates of the particles in the image. Then, how could I know the x and y coordinates of each particle? And what are W_SpotX and W_SpotY for?

There are miles of particles in the picture, so I would like to find an automatic way to relate the number of the particle with its area and position.

Thanks in advance for your answers!
Hello terraigor,

it is the correct forum :)

I guess you already read DisplayHelpTopic "Particle Analysis"?

Could you show a minimal working example of the problem?
In addition to the documentation for ImageAnalyzeParticles you might also find the documentation in the Image Processing Tutorial useful. You can find the Tutorial under File Menu->Example Experiments->Tutorials.

The important point to note about SpotX and SpotY is that they designate a pixel within each particle. These parameters are not appropriate for locating the particle if the particle is more than a few pixels in size. Since particles can be of any shape you need to decide if you want to use the center of mass or the average, e.g., 0.5*(xmax+xmin) approximation for specifying location. Note that the center of mass and most other parameters are not necessarily inside the particle. The only parameters corresponding to a pixel in the particle are stored in W_SpotX and W_SpotY.

A.G.
WaveMetrics, Inc.
Hello everyone!

Thank you so much for your answers, but I haven’t solved the problem. As suggested by thomas_braun, I attach an example of my work with an image of the Image Processing tutorial.

According to the help documentation and Igor, in W_SpotX and W_SpotY there are the coordinates of a pixel contained in the particle. However, this doesn’t happen in this example. The selected particle in green is the number 33, if I use “Crosshair Identify” or “Labels” of “Particle Analysis”. So, in this case, the coordinates of the pixels inside the particle should be in the range of 55-70 for W_SpotX and 115-130 for W_SpotY. However, the “ImageParticleTable” show 99 and 102 for each parameter, respectively. In yellow there is the point corresponding with that position, obviously out of and far from the particle.

Do you know why is it happening? Is there something I am doing wrong?

By the way, the average referenced by Igor (0.5*(xmax+xmin)) could work as well. What I need is the position coordinates of a pixel inside or in the boundary of the particle. How could I know these values (xmax, xmin) in an automatic way for each particle?

Again, thank you for your help!
ParticleAnalysis_example.jpg (181.64 KB)
terraigor wrote:

However, the “ImageParticleTable” show 99 and 102 for each parameter, respectively. In yellow there is the point corresponding with that position, obviously out of and far from the particle.


I think the problem here is that you are using the IP panel (which you are not completely showing us). I am guessing that you have it set to "Sort down". Instead just display the relevant waves in a table and you will find the correct coordinates of the particle. The "Sort down" does not seem to affect the last two columns in the table. You can also just uncheck the relevant box.
A.G.
Hi!!

Exactly, I had the "Sort down" option activated as a default value. I didn't know it could affect the order of the data.

If I desactivate this option, I can see the correct coordinates of the particles.

Thank you so much for your comments, I have solved my problem!!