Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

array of pixel coordinates from particle analysis

Is it possible to retreive an array of point clusters containing all points from a located particle using the IMAQ vision toolkit.
I can't seem to find how to do this, and it would be a shame if I would have to write my own particle analysis routine.

regards,
Arend
0 Kudos
Message 1 of 10
(4,595 Views)
Try using this vi. Internally IMAQ MaskToROI uses the same code as Particle Analysis.

Kevin C.
National Instruments
Vision Software

Message Edited by KevinC on 10-20-2005 09:32 AM

Message 2 of 10
(4,589 Views)
Ok, I'll give that a try.
Thanks.
0 Kudos
Message 3 of 10
(4,573 Views)
I've tried it the way you said, but this does not give me what I want.

Assume a binary image looking like this:

111111111
111111111
111111111
111000111
111000111
111000111
111111111
111111111
111111111

If I use your method, I'll receive the following coordinates:

111111111
1            1
1  11111 1
1  1     1  1
1  1     1  1
1  1     1  1
1  11111 1
1            1
111111111

But not the coordinates of all the pixels containing value 1.
I want to have all the pixel coordinates of all the pixels which are covered by a spot.

Any suggestions?

Thanks in advance.

EDIT: tried to fix layout of 2nd example image

Message Edited by Arend on 10-26-2005 11:12 AM

0 Kudos
Message 4 of 10
(4,548 Views)
Sorry, I misunderstood what you wanted. Try the attached VI.

May I ask what you are trying to do? I suspect there may be more tools built in to NI Vision to help you.

Kevin C.
National Instruments
Vision
Message 5 of 10
(4,533 Views)
Thanks for your answer.
I know how to find pixels containing certain values, that's not the problem.

I'm using the software to track bad pixels, columns and regions in a CMOS.

First I check for bad regions. I do this with the find spots algorithm from the vision library.
Now I want to only find spots with a size of at least 100 pixels (for instance) which have a certain contrast etc etc.

After finding these spots, I want to know every single pixel coordinate of the pixels which have been determined to belong to a spot.

If i just threshold my image, I will also find loose pixels instead of just spots of at least 100 pixels.
This way, I would have to check which pixels belong together. But this is already being done by find spots.

So what I'm looking for is to obtain every single pixel determined by find spots to belong to a spot.

Thanks for your help so far, if you have any more suggestions I would be very interested.
0 Kudos
Message 6 of 10
(4,524 Views)
I think you want to use Particle Filter and Label. Hopefully the attached example will be helpful.

Kevin
Message 7 of 10
(4,508 Views)

Here's an idea:

Threshold the image.  Use particle filter to remove loose pixels, so that all that remains is the groups that you are interested in.  Use IMAQ Label to label each group with a different number.  Now all you have to do is locate all the pixels with each value.

Bruce

Bruce Ammons
Ammons Engineering
Message 8 of 10
(4,506 Views)
That looks very promising, I'll give that a try.
Thanks for the help.
0 Kudos
Message 9 of 10
(4,496 Views)
Thanks for the suggestion, your idea is somewhat similar to KevinC's.
I think with both your help my problem has been solved.
Thanks again.
0 Kudos
Message 10 of 10
(4,494 Views)