Edge and Valley detection in MicrobeTracker


Phase contrast

Thresholding only
Valley, σ = 0.5, t1 = 0, t2 = 0.06
LoG, σ = 0.9, t = 0
Valley, σ = 1, t1 = 0, t2 = 1.8
Valley, σ = 0, t1 = 0, t2 = 1.8
Valley, σ = 0.5, t1 = 0, t2 = 30
Valley, σ = 0.5, t1 = 0, t2 = 0.6
Valley, σ = 0.5, t1 = 2.4, t2 = 1.8
Valley, σ = 0.5, t1 = 0, t2 = 1.8
The effect of parameters on the valley detection algorithm and its comparison with LoG

Edge and valley detection is used to supplement thresholding in initial segmentation of the cells. MicrobeTracker uses two algorithms for this purpose:

While LoG with zero threshold has empirically proven to be the best out of the standard edge detection algorithms, Valley detection was developed for MicrobeTracker, and though it depends on a large number of parameters, in some cases it generates superior results. The algorithm which MicrobeTracker uses is defined by the following parameter:

  • edgemode ─ "none" (or 0) - no edge detection, "log" (or 1) - Laplacian of Gaussian (LoG), "valley" (or 2) - Valley detection, "logvalley" (or 3) - both, "clogvalley" (or 4) - cross-detection mode without direct LoG or Valley.

Laplacian of Gaussian

This algorithm applies a Gaussian filter (which smoothes the image), followed by a Laplacian filter (resulting in a combined "mexican hat" filter). The points of zero crossing of the resulting image are considered to be parts of the 'edge'. The algorithm (as implemented here) depends on two parameters:

  • edgeSigmaL ─ width of the smoothing Gaussian. Must be above zero. Default: 1.

  • logthresh ─ mimimum normalized (by standarg deviation) value of the Laplacian. Default: 0. Typical values: -0.5 to 1.

Valley detection

This algorithm applies a Gaussian filter (which smoothes the image), followed by finding local minima with the second derivative above a threshold. The function uses two thresholds: a strong one, always indicating a valley pixel, and a weak one, only indicating a valley pixel if it is adjacent to a pixel identified using the strong threshold. The parameters:

  • edgeSigmaV ─ width of the smoothing Gaussian. Must be zero or above. Default: 0.5.

  • valleythresh1 ─ weak threshold. Must be above the strong threshold. Default: 0.

  • valleythresh2 ─ strong threshold. Default: 1.

Cross-detection mode

There is also a cross-detection mode, combining the two algorithms above. The mode is activated in the "logvalley" or "clogvalley" modes. In the "logvalley" mode the edges detected by all three algorithms are combined, while the "clogvalley" mode only results in the cross-detected edge. This mode depends on one additional parameter:

  • crossthresh ─ cross-detection threshold, the mimimum product of the normalized valley depth and the normalized Laplacian. Default: 0. Typcal values: 0-1.