Table of Content

In this post we study the two main ways of segmenting a region of anatomical interest: threshold based and region growing.

What is Threshold Based Segmentation?

Threshold based is a way of segmenting anatomical structures of interest that requires a threshold to be set which describes the grey-scale intensities of the voxels within the region of interest. For instance, in Rhino3DMedical, thresholds can be set such that all voxels values above it will be labeled. Alternatively, a range between two thresholds can be set such that values between them are labeled. The thresholds can be set by directly typing the number in the corresponding field in the interface or by adjusting a number slider which updates in real-time the labeling in the image.

In Rhino3DMedical, a threshold range can be set through the subsection Set Threshold in tab Image Analysis, and its surface extraction button is located in tab Segmentation.

What is Region Growing Segmentation?

Region Growing is a way of segmenting anatomical structures of interest which has two key elements:

  1. A seed voxel point inside the structure to be segmented.
  2. A span of possible voxel grey-scale intensity values that the region can attain.

Once it has a seed and a span, the region grows from the seed point to include all the contiguous voxels having intensity values contained in the span, and keeping the whole as a single connected component. The algorithm stops when there is no more voxels to include that fulfill these conditions.

In Rhino3DMedical, Region Growing is a subsection located in tab Segmentation.


Rhino3DMedical with an image.

What is the Difference in Practice?

The difference is about locality of the extracted surface: Threshold based segmentation extracts a surface corresponding to the whole set of labeled voxels, while Region Growing extracts only those labeled voxels that are adjacent (and growing from a common seed voxel). Hence, the first mettod is sort of global while the second is local. You should use Threshold based when you want to extract everything you see colored in the threshold range, and you should use Region Growing when you want to extract only a subregion.

Example

Let’s take the image above and assume we want to segment the lungs as a region of interest. We set the lower and upper thresholds in subsection Set Threshold until we see that the lungs are completely colored in green (or the color that we choose in the color picker under the thresholds).


Setting lower and upper thresholds.

We want to extract the surface corresponding to the lungs, so we press the button Create Surface from Threshold.


Surface created from thresholds.

However, the result is not satisfactory as we do not want the walls of the scanner to be included in the output. These walls are inevitably included in the segmented region because the grey-scale intensity of its voxels are in the same range as those of the lungs. We can explode the surface as a set of meshes in Rhino and pick the one we want, or we can directly segment only the lungs. For the latter we need Region Growing.

With exactly the same threshold configuration, we press the button Pick Seed Point in the Region Growing Segmentation subsection (in Segmentation tab) and select a voxel inside the lungs.


Pick Seed Point.

We then press Create Surface from Region Growing. The region of interest is properly segmented, without the scanner walls.


Surface created from thresholds and Region Growing.

For more details about Region Growing, refer to Image Segmentation using Region Growing tools.