# Modules:Simple Region Growing-Documentation-3.4

Return to Slicer 3.4 Documentation

### Module Name

Simple Region Growing

## General Information

### Module Type & Category

Type: CLI

Category: Segmentation

### Authors, Collaborators & Contact

- Author: Jim Miller
- Contact: millerjv at research.ge.com

### Module Description

Simple Region Growing is a statistical region growing algorithm. The algorithm takes one or more seeds as input. A statistical model of the foreground (mean and standard deviation of intensity) is estimated over neighborhoods about the seed points. The statistical model is converted to a scalar threshold range as the mean intensity plus or minus a multiplier on the standard deviation. The algorithm then constructs a segmentation by labeling all voxels that are connected to the seed voxels and satisfy the scalar threshold range. After this initial segmentation, the statistical model can be refined by calculating the mean and standard deviation of the intensity of the voxels in the initial segmentation. The refined statistical model is converted to a new scalar threshold range as the new mean intensity plus or minus a multiplier on the new standard deviation. The algorithm then constructs a new segmentation by labeling all voxels that are connected to the seed voxels and satisfy the new scalar threshold range. The process of estimating a statistical model, constructing a scalar threshold range, and constructing a segmentation from the seeds can be repeated a number of times.

Through this process, Simple Region Growing attempts to adapt to the statistical properties of the image. Initially, the statistical model is based strictly on the neighborhoods about the seeds. This statistical model is precise (being based on the user supplied seeds) but also uncertain (because the number of samples in the model can be rather small). After the initial segmentation, the statistics are recalculated which yields a more certain model (because the number of samples in the model can be rather large).

## Usage

### Examples, Use Cases & Tutorials

- Note use cases for which this module is especially appropriate, and/or link to examples.
- Link to examples of the module's use
- Link to any existing tutorials

### Quick Tour of Features and Use

List all the panels in your interface, their features, what they mean, and how to use them. For instance:

**Smoothing parameters panel:****Segmentation parameters panel:****IO panel:**

## Development

### Dependencies

Other modules or packages that are required for this module's use.

### Known bugs

Follow this link to the Slicer3 bug tracker.

### Usability issues

Follow this link to the Slicer3 bug tracker. Please select the **usability issue category** when browsing or contributing.

### Source code & documentation

Source Code: [1]

Documentation:

Usage:

ConfidenceConnected [--processinformationaddress <std::string>] [--xml] [--echo] [--seed <std::vector<std::vector<float> >>] ... [--labelvalue <int>] [--neighborhood <int>] [--multiplier <double>] [--iterations <int>] [--timestep <double>] [--smoothingIterations <int>] [--] [--version] [-h] <std::string> <std::string> Where: --processinformationaddress <std::string> Address of a structure to store process information (progress, abort, etc.). (default: 0) --xml Produce xml description of command line arguments (default: 0) --echo Echo the command line arguments (default: 0) --seed <std::vector<std::vector<float> >> (accepted multiple times) Seed point(s) for region growing (default: None) --labelvalue <int> The integer value (0-255) to use for the segmentation results. This will determine the color of the segmentation that will be generated by the Region growing algorithm (default: 2) --neighborhood <int> The radius of the neighborhood over which to calculate intensity model (default: 1) --multiplier <double> Number of standard deviations to include in intensity model (default: 2.5) --iterations <int> Number of iterations of region growing (default: 5) --timestep <double> Timestep for curvature flow (default: 0.0625) --smoothingIterations <int> Number of smoothing iterations (default: 5) --, --ignore_rest Ignores the rest of the labeled arguments following this flag. --version Displays version information and exits. -h, --help Displays usage information and exits. <std::string> (required) Input volume to be filtered <std::string> (required) Output filtered Description: A simple region growing segmentation algorithm based on intensity statistics. To create a list of fiducials (Seeds) for this algorithm, click on the tool bar icon of an arrow pointing to a starburst fiducial to enter the 'place a new object mode' and then use the fiducials module. This module uses the Slicer3 Command Line Interface (CLI) and the ITK filters CurvatureFlowImageFilter and ConfidenceConnectedImageFilter. Author(s): Jim Miller Acknowledgements: This command module was derived from Insight/Examples (copyright) Insight Software Consortium

## More Information

### Acknowledgment

This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on the National Centers for Biomedical Computing can be obtained from National Centers for Biomedical Computing.