Documentation for vtkConnectivityFilter

vtkConnectivityFilter - extract data based on geometric connectivity

Super Class: vtkDataSetToUnstructuredGridFilter

Description:

vtkConnectivityFilter is a filter that extracts cells that share common points and/or meet other connectivity criterion. (Cells that share vertices and meet other connectivity criterion such as scalar range are known as a region.) The filter works in one of six ways: 1) extract the largest connected region in the dataset; 2) extract specified region numbers; 3) extract all regions sharing specified point ids; 4) extract all regions sharing specified cell ids; 5) extract the region closest to the specified point; or 6) extract all regions (used to color the data by region). vtkConnectivityFilter is generalized to handle any type of input dataset. It generates output data of type vtkUnstructuredGrid. If you know that your input type is vtkPolyData, you may wish to use vtkPolyDataConnectivityFilter. The behavior of vtkConnectivityFilter can be modified by turning on the boolean ivar ScalarConnectivity. If this flag is on, the connectivity algorithm is modified so that cells are considered connected only if 1) they are geometrically connected (share a point) and 2) the scalar values of one of the cell's points falls in the scalar range specified. This use of ScalarConnectivity is particularly useful for volume datasets: it can be used as a simple "connected segmentation" algorithm. For example, by using a seed voxel (i.e., cell) on a known anatomical structure, connectivity will pull out all voxels "containing" the anatomical structure. These voxels can then be contoured or processed by other visualization filters.

 

See Also:

vtkPolyDataConnectivityFilter

 

Methods:

void vtkConnectivityFilter ()
void vtkConnectivityFilter ()
const char *GetClassName ()
void PrintSelf (unknown & ,vtkIndent )
static vtkConnectivityFilter *New ()
void SetScalarConnectivity (int )
int GetScalarConnectivity ()
void ScalarConnectivityOn ()
void ScalarConnectivityOff ()
void SetScalarRange (float ,float )
void SetScalarRange (float *)
float *GetScalarRange ()
void SetExtractionMode (int )
int GetExtractionMode ()
void SetExtractionModeToPointSeededRegions ()
void SetExtractionModeToCellSeededRegions ()
void SetExtractionModeToLargestRegion ()
void SetExtractionModeToSpecifiedRegions ()
void SetExtractionModeToClosestPointRegion ()
void SetExtractionModeToAllRegions ()
char *GetExtractionModeAsString ()
void InitializeSeedList ()
void AddSeed (int )
void DeleteSeed (int )
void InitializeSpecifiedRegionList ()
void AddSpecifiedRegion (int )
void DeleteSpecifiedRegion (int )
void SetClosestPoint (float ,float ,float )
void SetClosestPoint (float *)
float *GetClosestPoint ()
int GetNumberOfExtractedRegions ()
void SetMaxRecursionDepth (int )
int GetMaxRecursionDepth ()
void SetColorRegions (int )
int GetColorRegions ()
void ColorRegionsOn ()
void ColorRegionsOff ()
void Execute ()
void TraverseAndMark (int )

 

Detailed Method Descriptions:

Construct with default extraction mode to extract largest regions.

static vtkConnectivityFilter *New ()

Turn on/off connectivity based on scalar value. If on, cells are connected only if they share points AND one of the cells scalar values falls in the scalar range specified.

void SetScalarConnectivity (int )
int GetScalarConnectivity ()
void ScalarConnectivityOn ()
void ScalarConnectivityOff ()

Set the scalar range to use to extract cells based on scalar connectivity.

void SetScalarRange (float ,float )
void SetScalarRange (float *)
float *GetScalarRange ()

Control the extraction of connected surfaces.

void SetExtractionMode (int )
int GetExtractionMode ()
void SetExtractionModeToPointSeededRegions ()
void SetExtractionModeToCellSeededRegions ()
void SetExtractionModeToLargestRegion ()
void SetExtractionModeToSpecifiedRegions ()
void SetExtractionModeToClosestPointRegion ()
void SetExtractionModeToAllRegions ()
char *GetExtractionModeAsString ()

Initialize list of point ids/cell ids used to seed regions.

void InitializeSeedList ()

Add a seed id (point or cell id). Note: ids are 0-offset.

void AddSeed (int )

Delete a seed id (point or cell id). Note: ids are 0-offset.

void DeleteSeed (int )

Initialize list of region ids to extract.

void InitializeSpecifiedRegionList ()

Add a region id to extract. Note: ids are 0-offset.

void AddSpecifiedRegion (int )

Delete a region id to extract. Note: ids are 0-offset.

void DeleteSpecifiedRegion (int )

Use to specify x-y-z point coordinates when extracting the region closest to a specified point.

void SetClosestPoint (float ,float ,float )
void SetClosestPoint (float *)
float *GetClosestPoint ()

Obtain the number of connected regions.

int GetNumberOfExtractedRegions ()

The connectivity extraction algorithm works recursively. In some systems the stack depth is limited. This methods specifies the maximum recursion depth.

void SetMaxRecursionDepth (int )
int GetMaxRecursionDepth ()

Turn on/off the coloring of connected regions.

void SetColorRegions (int )
int GetColorRegions ()
void ColorRegionsOn ()
void ColorRegionsOff ()