Region growing segmentation


Summary

Segmentation procedure to detect the individual cells in the image and find the boundaries with a seed based region growing algorithm.

Selective Plane Projection


Assumptions

The input image is assumed to have high intensity membrane signal on low intensity background.


Algorithm Steps

1.Seeding cells

Detects individual cells by placing a seed for each cell region. Seeds are iteratively placed by raising an intensity level (low to high intensity). At the same time seeds are also grown into regions to detect whether an immediate neighbor region could be joined based on two thresholds.
The first parameter to optimize for this step is the Gaussian blur kernel. After this the minimum cell area size and minimal membrane intensity can be modified to reduce over-seeding of the cells.
The reference figure when the debug option is active is Figure 2: First seeding.

Parameter: Gaussian Blur Kernel

Parameter: Minimum cell area

Parameter: Minimal membrane intensity

2.Merge Seeds

Regions which touch with a low boundary signal after the initial seeding are analyzed to avoid seeding a cell multiple times. The regions of the initial seeds are used to analyze the boundary signal.
The reference figure when the debug option is active is Figure 3: Seeding after merging.

Parameter: Boundary Low Intensity Ratio

3.Region growing

Segmentation algorithm to find the cell boundaries starting from the seeds. The strategy is very similar to the watershedding algorithm.
The reference figure when the debug option is active is Figure 4: First cell boundaries.

parameter: Gaussian Blur Kernel

4.Bad region removal

Method to avoid false positives, i.e. regions with insufficient boundary signal or that are too large to be a cell. This applies especially to outer regions that have not been correctly detected.
The reference figure when the debug option is active is Figure 5: Boundaries after poor cell removal

parameter: Largest Cell Area

parameter: Minimal mean intensity


Additional Parameters

parameter: Use Clahe Image


Debug


Do you think these informations are not enough to help you? Drop a line to the author and he will extend this tutorial asap!
This page was written by Davide Heller on 30.09.14@15.38