ParticleAnalysis - Particles position
terraigor
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!
it is the correct forum :)
I guess you already read
DisplayHelpTopic "Particle Analysis"
?Could you show a minimal working example of the problem?
June 30, 2014 at 02:24 am - Permalink
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.
June 30, 2014 at 10:29 am - Permalink
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!
June 30, 2014 at 12:10 pm - Permalink
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.
June 30, 2014 at 01:31 pm - Permalink
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!!
July 1, 2014 at 12:42 am - Permalink