Re: What is the algorithm for Find Maxima

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: What is the algorithm for Find Maxima

Michael Schmid
On Apr 16, 2014, at 23:18, [hidden email] wrote:

> Hi Michael,
> Could you let me know what area (how many neighbouring pixels) is considered while calculating the local maxima. I m not sure I am understanding the noise threshold concept correctly. Could you explain with a quick example please.
> Best Regards
> Jo
________________________________________________________________

Hi Jo,

as this might be of general interest, I copy it to the mailing list.


I assume that you have read the documentation,
  http://rsb.info.nih.gov/ij/docs/guide/146-29.html#toc-Subsection-29.4

The concept is essentially that of topographical prominence in geography,
  http://en.wikipedia.org/wiki/Topographic_prominence

Maxima are accepted only if their topographical prominence (the vertical arrows in Fig. 1 of the Wikipedia article) exceeds the noise threshold.


The algorithm is as follows:

- Find local maxima, sort them (descending, highest maximum first).

- For each maximum in the list: starting from the maximum, determine all contiguous (8-connected) pixels that have a value within the noise tolerance (i.e., down to maximum value minus noise tolerance).  You can see these areas if you select "Output type=Maxima Within Tolerance".
Any local maxima within this area are discarded for further processing.
The algorithm for finding these areas around the maxima is essentially a queue-based flood fill, see
  http://en.wikipedia.org/wiki/Flood_fill
[An east-west algorithm might be actually a bit faster, but in most cases the areas within the tolerance are not very large, so using the simple queue based algorithm does not make it much slower].


Another way to explain it: You get the area with in the tolerance if you draw a contour line where the pixel value equals the maximum value minus the noise threshold.


Michael

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html