next up previous
Next: ``Cue-based_Relaxation_Labeling'' -- segment Up: Segmentation Previous: ``Seeded_Hysteresis_Threshold ''---Hysteresis Thresholding

 

``Region_growing'' -- segment a volume using region growing

 

purpose:
Segment a volume using seeded region growing. See [13] for details. See [1,5] for general background on region growing.

The basic method is the following: (1) find bright clumps of voxels -- these serve as seed regions; (2) ``grow'' the remainder of regions by adding layers of ``valid'' voxels to the seed regions; (3) keep growing until no more voxels are added to the regions. The parameters relevant to each step are described below:

step 1: The parameter ``threshold = '' determines the minimum grayscale value for seeds. Also, all bright regions (passing the threshold test) that are < 5 voxels in size are removed from consideration as seed regions -- this helps make the method noise-proof.

step 2: The growing process can be done in 3-D or 2-D, per the parameter ``dimension = ''. A new voxel is added to a seeded region if it meets the following criteria [13]:

  1. The new voxel is within ``tolerance'' graylevels of the dimmest seed voxel in an NxNxN (NxN for 2-D) window about the new voxel. The tolerance is set with the parameter ``tolerance (in graylevels) = ''.
  2. The new voxel is brighter than a minimum gray value, as specified by the parameter ``min seed graylevel = ''.

By using a 5x5x5 window, for example, it is possible to have skips in the grown regions -- this could be used, for example, to grow past stenotic regions (breaks) in a cardiac artery.

input:
An 8-bit grayscale volume.
output:
An 8-bit grayscale volume, containing only the bright, connected objects segmented by the region grower.
parameters:
Default parameters menu is
threshold = 0
* window dimension = 3
* dimension = 2-D
* tolerance (in graylevels) = 10
* min seed graylevel = 32
* input from vol # = 0
* copy output to vol # = 0
*
The parameters `` window dimension = '' and ``dimension = '' should be toggled to their desired values.
comments:
 
  1. This is a very slow operation for a large volume (100x100x100). Run this in the background!
  2. Using large growing windows (window dimension > 3) greatly boosts the computation. Be careful here.
  3. I always recommend setting ``min seed graylevel = '' to some reasonable value. It prevents ``runaway'' growing runs and keeps extraneous ``junk'' down in the grown regions; a ``runaway'' run, which ends up growing much of the whole volume, can run for over a day!



next up previous
Next: ``Cue-based_Relaxation_Labeling'' -- segment Up: Segmentation Previous: ``Seeded_Hysteresis_Threshold ''---Hysteresis Thresholding



 

Philip Americus
The Multidimensional Image Processing Lab
Fri Aug 30 10:26:42 EDT 1996