Find Maxima


The interactive Watershed Fiji plugin provides an interactive way to explore local maxima and threshold values while a resulting label map is updated on the fly.

After the user has found a reliable parameter configuration, it is possible to apply the same parameters to other images in a headless mode, for example via ImageJ macro scripting.


Maxima finding algorithm recreated from implementation in Fiji(ImageJ)

This is a re-implementation of the java plugin written by Michael Schmid and Wayne Rasband for ImageJ. The original java code source can be found in: 

This implementation remains faithful to the original implementation but is not 100% optimised. The java version is faster but this could be alleviated by compiling c code for parts of the code. This script is simply to provide the functionality of the ImageJ find maxima algorithm to individuals writing pure python script.

find maxima comparison.

Various ways are proposed in different websites for example:

Here, a workflow template using ImageJ's build-in Find Maxima ( Process -> Find Maxima) is explained. It can be used for many 2D counting-related tasks.

For counting small, bright foci (dots), set Output type to be Point Selection. If too many points are detected, the number may be reduced using one or more of the following methods:

Apply a filter to reduce noise, e.g. Process -> Filters -> Gaussian Blur... prior to running Find Maxima Set a minimum threshold with Image -> Adjust -> Threshold... prior to running Find Maxima, then use the Above lower threshold option within the dialog box Increase the Noise tolerance value (which effectively acts as a local threshold)

The resulting point selection can be modified (points added/removed) by the Multi-Point tool.

After the points are available, final measurements can be made using Analyze -> Measure.