08-28-2008 07:12 AM
hello,
I have a labview program that does the following;
- reads in a picture (the picture is of a beam spot)
- converts picture to array
- finds the maximum of the array array
Now, I want to do the following, and would like to a build a new program from scratch to do it.
- reads in a picture - but this time the picture is of many beam spots in a horizontal line
- converts picture to array
- finds all the maximum of the array
any ideas?
- maryam
08-28-2008 07:41 AM
Hi maryam,
do you use the vision toolkit? If not, then you can calculate a grey scale image of your data and use some edge detection algorithm, for example the Sobel operator.
Hope it helps.
Mike
08-28-2008 08:16 AM - edited 08-28-2008 08:17 AM
Hope you have vision tool kit.You can use the "Image to array function" first then try this vi attached.
08-28-2008 10:09 AM - edited 08-28-2008 10:09 AM
Hi muks,
i think maxima is not equal to maximum value. The second maxima in your example could also be 53.
Mike
08-28-2008 11:04 AM - edited 08-28-2008 11:07 AM
(Have you tried the "peak detector" from the "signal processing...signal operation" palette?)
Of course it seems you are dealing with a 2D array, here. Could you attach a typical array and tell us how many "peaks" there should be? Are they 2D gaussians? How much noise is there?
08-30-2008 02:24 AM
Hi muks, i think maxima is not equal to maximum value. The second maxima in your example could also be 53.
Mike |
Mike u mean 43 right? the output array will show him how many times the maximum value occured in what index.
08-30-2008 02:42 AM
muks wrote:Mike u mean 43 right? the output array will show him how many times the maximum value occured in what index.
I am sure Mike meant 53. We have a 2D array with bright spots corrsponding to beam spots. It is very unlikely that each spot has exactly the same maximum value. Still we want to find the xy position of every bright spot in 2D, even if some are brighter than others. 😉
08-30-2008 07:20 AM
Oh ok got it now.