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.4The concept is essentially that of topographical prominence in geography,
http://en.wikipedia.org/wiki/Topographic_prominenceMaxima 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