next up previous index
Next: ``Cue-based_region_grow'' - segment a Up: Segmentation Previous: ``Cue-based_Hyst_Threshold'' Hysteresis Thresholding using

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

VFX name:
iBtRegionGrow
IMPROMPTU Equivalent:
Bright_region_grow
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 ``image_dim''. 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''.
2.
The new voxel is brighter than a minimum gray value, as specified by the parameter ``min_seed_value''.
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 = 64
min_seed_value = 32
min_seed_size = 5
win_dim = 3
image_dim = 3-D
tolerance = 10
The parameters `` win_dim'' and ``image_dim'' 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 index
Next: ``Cue-based_region_grow'' - segment a Up: Segmentation Previous: ``Cue-based_Hyst_Threshold'' Hysteresis Thresholding using
MultiDimensional Image Processing Lab, Penn State University