http://imagej.273.s1.nabble.com/how-to-count-the-number-of-peaks-in-a-dynamic-profile-tp3684809p3684812.html
detect peaks in images. Did you try to use it ?
> Hello imagej users,
>
> I am trying to count and locate the peaks in a picture.for this purpose I
> use
> the following macro wich is an adaptation of the FindMaxPixelLocation
> macro. for
> peak identification I just compare the values of consecutives points
> (curve[i+1]) && (curve[i+1]>curve[i+2])
>
> curve[i] being the pixel value at location i of the loop. but as result I
> get 39
> peaks instead of 4 (see the attached profile)
>
> I would like to know what I am doing wrong and if anyone has another easier
> way
> to solve this problem
> thanks in advance
> regards
>
> Paul Rostand
>
> showStatus("Finging pixel with largest value...");
> max = 0;
> peak=0;
> width = getWidth();
> height = getHeight();
> for (y=0; y<height; y++) {
> if (y%20==0) showProgress(y, height);
> for (x=0; x<50; x++) {
> value = getPixel(x,y);
> if (value>max) {
> max = value;
> xmax = x;
> ymax = y;
> }
> }
> }
> print("A pixel with the max value ("+max+") is located at "+xmax+","+ymax);
>
> curve=newArray(width);
> threshold = 0.9*max; // define the threshold used to
> count
> the peaks
>
> for (y=0; y<height; y++) {
> if (y%20==0) showProgress(y, height);
> for (x=0; x<50; x++) {
> value = getPixel(x,y);
> if (value>threshold) {
> for (i=0;i<48;i++) {
> curve[i]=value;
> if((curve[i]<curve[i+1]) && (curve[i+1]>curve[i+2])){
> peak=peak+1;
> }
> }
> }
> }
> }
> print("the number of peaks is "+peak+");
>
> --
> View this message in context:
>
http://imagej.588099.n2.nabble.com/how-to-count-the-number-of-peaks-in-a-dynamic-profile-tp6312558p6312558.html> Sent from the ImageJ mailing list archive at Nabble.com.
>