VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkBivariateLinearTableThreshold Class Reference

performs line-based thresholding for vtkTable data. More...

#include <vtkBivariateLinearTableThreshold.h>

Inheritance diagram for vtkBivariateLinearTableThreshold:
Inheritance graph
[legend]
Collaboration diagram for vtkBivariateLinearTableThreshold:
Collaboration graph
[legend]

List of all members.

Public Types

enum  OutputPorts { OUTPUT_ROW_IDS = 0, OUTPUT_ROW_DATA }
enum  LinearThresholdType { BLT_ABOVE = 0, BLT_BELOW, BLT_NEAR, BLT_BETWEEN }
typedef vtkTableAlgorithm Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkBivariateLinearTableThresholdNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void AddColumnToThreshold (vtkIdType column, vtkIdType component)
int GetNumberOfColumnsToThreshold ()
void GetColumnToThreshold (vtkIdType idx, vtkIdType &column, vtkIdType &component)
void ClearColumnsToThreshold ()
vtkIdTypeArrayGetSelectedRowIds (int selection=0)
void Initialize ()
void AddLineEquation (double *p1, double *p2)
void AddLineEquation (double *p, double slope)
void AddLineEquation (double a, double b, double c)
void ClearLineEquations ()
virtual void SetInclusive (int)
virtual int GetInclusive ()
virtual int GetLinearThresholdType ()
virtual void SetLinearThresholdType (int)
void SetLinearThresholdTypeToAbove ()
void SetLinearThresholdTypeToBelow ()
void SetLinearThresholdTypeToNear ()
void SetLinearThresholdTypeToBetween ()
virtual void SetColumnRanges (double, double)
void SetColumnRanges (double[2])
virtual doubleGetColumnRanges ()
virtual void GetColumnRanges (double &, double &)
virtual void GetColumnRanges (double[2])
virtual void SetDistanceThreshold (double)
virtual double GetDistanceThreshold ()
virtual void SetUseNormalizedDistance (int)
virtual int GetUseNormalizedDistance ()
virtual void UseNormalizedDistanceOn ()
virtual void UseNormalizedDistanceOff ()

Static Public Member Functions

static
vtkBivariateLinearTableThreshold
New ()
static int IsTypeOf (const char *type)
static
vtkBivariateLinearTableThreshold
SafeDownCast (vtkObjectBase *o)
static void ComputeImplicitLineFunction (double *p1, double *p2, double *abc)
static void ComputeImplicitLineFunction (double *p, double slope, double *abc)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkBivariateLinearTableThreshold ()
virtual ~vtkBivariateLinearTableThreshold ()
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int FillInputPortInformation (int port, vtkInformation *info)
virtual int FillOutputPortInformation (int port, vtkInformation *info)
virtual int ApplyThreshold (vtkTable *tableToThreshold, vtkIdTypeArray *acceptedIds)
int ThresholdAbove (double x, double y)
int ThresholdBelow (double x, double y)
int ThresholdNear (double x, double y)

Protected Attributes

double ColumnRanges [2]
double DistanceThreshold
int Inclusive
int LinearThresholdType
int NumberOfLineEquations
int UseNormalizedDistance
vtkSmartPointer< vtkDoubleArrayLineEquations
Internals * Implementation
int ThresholdBetween (double x, double y)

Detailed Description

performs line-based thresholding for vtkTable data.

Class for filtering the rows of a two numeric columns of a vtkTable. The columns are treated as the two variables of a line. This filter will then iterate through the rows of the table determining if X,Y values pairs are above/below/between/near one or more lines.

The "between" mode checks to see if a row is contained within the convex hull of all of the specified lines. The "near" mode checks if a row is within a distance threshold two one of the specified lines. This class is used in conjunction with various plotting classes, so it is useful to rescale the X,Y axes to a particular range of values. Distance comparisons can be performed in the scaled space by setting the CustomRanges ivar and enabling UseNormalizedDistance.

Definition at line 51 of file vtkBivariateLinearTableThreshold.h.


Member Typedef Documentation

Reimplemented from vtkTableAlgorithm.

Reimplemented in vtkPBivariateLinearTableThreshold.

Definition at line 55 of file vtkBivariateLinearTableThreshold.h.


Member Enumeration Documentation

Enumerator:
OUTPUT_ROW_IDS 
OUTPUT_ROW_DATA 

Definition at line 83 of file vtkBivariateLinearTableThreshold.h.

Enumerator:
BLT_ABOVE 
BLT_BELOW 
BLT_NEAR 
BLT_BETWEEN 

Definition at line 88 of file vtkBivariateLinearTableThreshold.h.


Constructor & Destructor Documentation


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkTableAlgorithm.

Reimplemented in vtkPBivariateLinearTableThreshold.

static int vtkBivariateLinearTableThreshold::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkTableAlgorithm.

Reimplemented in vtkPBivariateLinearTableThreshold.

virtual int vtkBivariateLinearTableThreshold::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkTableAlgorithm.

Reimplemented in vtkPBivariateLinearTableThreshold.

Reimplemented from vtkTableAlgorithm.

Reimplemented in vtkPBivariateLinearTableThreshold.

Reimplemented from vtkTableAlgorithm.

Reimplemented in vtkPBivariateLinearTableThreshold.

Reimplemented from vtkTableAlgorithm.

Reimplemented in vtkPBivariateLinearTableThreshold.

void vtkBivariateLinearTableThreshold::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkTableAlgorithm.

Reimplemented in vtkPBivariateLinearTableThreshold.

Include the line in the threshold. Essentially whether the threshold operation uses > versus >=.

Include the line in the threshold. Essentially whether the threshold operation uses > versus >=.

Add a numeric column to the pair of columns to be thresholded. Call twice.

Return how many columns have been added. Hopefully 2.

Return the column number from the input table for the idx'th added column.

Reset the columns to be thresholded.

Get the output as a table of row ids.

Reset the columns to threshold, column ranges, etc.

Add a line for thresholding from two x,y points.

Add a line for thresholding in point-slope form.

Add a line for thresholding in implicit form (ax + by + c = 0)

Reset the list of line equations.

Set the threshold type. Above: find all rows that are above the specified lines. Below: find all rows that are below the specified lines. Near: find all rows that are near the specified lines. Between: find all rows that are between the specified lines.

Set the threshold type. Above: find all rows that are above the specified lines. Below: find all rows that are below the specified lines. Near: find all rows that are near the specified lines. Between: find all rows that are between the specified lines.

Set the threshold type. Above: find all rows that are above the specified lines. Below: find all rows that are below the specified lines. Near: find all rows that are near the specified lines. Between: find all rows that are between the specified lines.

Definition at line 119 of file vtkBivariateLinearTableThreshold.h.

Set the threshold type. Above: find all rows that are above the specified lines. Below: find all rows that are below the specified lines. Near: find all rows that are near the specified lines. Between: find all rows that are between the specified lines.

Definition at line 120 of file vtkBivariateLinearTableThreshold.h.

Set the threshold type. Above: find all rows that are above the specified lines. Below: find all rows that are below the specified lines. Near: find all rows that are near the specified lines. Between: find all rows that are between the specified lines.

Definition at line 121 of file vtkBivariateLinearTableThreshold.h.

Set the threshold type. Above: find all rows that are above the specified lines. Below: find all rows that are below the specified lines. Near: find all rows that are near the specified lines. Between: find all rows that are between the specified lines.

Definition at line 122 of file vtkBivariateLinearTableThreshold.h.

Manually access the maximum/minimum x,y values. This is used in conjunction with UseNormalizedDistance when determining if a row passes the threshold.

Manually access the maximum/minimum x,y values. This is used in conjunction with UseNormalizedDistance when determining if a row passes the threshold.

Manually access the maximum/minimum x,y values. This is used in conjunction with UseNormalizedDistance when determining if a row passes the threshold.

virtual void vtkBivariateLinearTableThreshold::GetColumnRanges ( double ,
double  
) [virtual]

Manually access the maximum/minimum x,y values. This is used in conjunction with UseNormalizedDistance when determining if a row passes the threshold.

Manually access the maximum/minimum x,y values. This is used in conjunction with UseNormalizedDistance when determining if a row passes the threshold.

The Cartesian distance within which a point will pass the near threshold.

The Cartesian distance within which a point will pass the near threshold.

Renormalize the space of the data such that the X and Y axes are "square" over the specified ColumnRanges. This essentially scales the data space so that ColumnRanges[1]-ColumnRanges[0] = 1.0 and ColumnRanges[3]-ColumnRanges[2] = 1.0. Used for scatter plot distance calculations. Be sure to set DistanceThreshold accordingly, when used.

Renormalize the space of the data such that the X and Y axes are "square" over the specified ColumnRanges. This essentially scales the data space so that ColumnRanges[1]-ColumnRanges[0] = 1.0 and ColumnRanges[3]-ColumnRanges[2] = 1.0. Used for scatter plot distance calculations. Be sure to set DistanceThreshold accordingly, when used.

Renormalize the space of the data such that the X and Y axes are "square" over the specified ColumnRanges. This essentially scales the data space so that ColumnRanges[1]-ColumnRanges[0] = 1.0 and ColumnRanges[3]-ColumnRanges[2] = 1.0. Used for scatter plot distance calculations. Be sure to set DistanceThreshold accordingly, when used.

Renormalize the space of the data such that the X and Y axes are "square" over the specified ColumnRanges. This essentially scales the data space so that ColumnRanges[1]-ColumnRanges[0] = 1.0 and ColumnRanges[3]-ColumnRanges[2] = 1.0. Used for scatter plot distance calculations. Be sure to set DistanceThreshold accordingly, when used.

static void vtkBivariateLinearTableThreshold::ComputeImplicitLineFunction ( double p1,
double p2,
double abc 
) [static]

Convert the two-point line formula to implicit form.

static void vtkBivariateLinearTableThreshold::ComputeImplicitLineFunction ( double p,
double  slope,
double abc 
) [static]

Convert the point-slope line formula to implicit form.

virtual int vtkBivariateLinearTableThreshold::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkTableAlgorithm.

Reimplemented in vtkPBivariateLinearTableThreshold.

virtual int vtkBivariateLinearTableThreshold::FillInputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.

Reimplemented from vtkTableAlgorithm.

virtual int vtkBivariateLinearTableThreshold::FillOutputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

Fill the output port information objects for this algorithm. This is invoked by the first call to GetOutputPortInformation for each port so subclasses can specify what they can handle.

Reimplemented from vtkTableAlgorithm.

virtual int vtkBivariateLinearTableThreshold::ApplyThreshold ( vtkTable tableToThreshold,
vtkIdTypeArray acceptedIds 
) [protected, virtual]

Apply the current threshold to a vtkTable. Fills acceptedIds on success.

Determine if x,y is above all specified lines.

Determine if x,y is below all specified lines.

Determine if x,y is near ONE specified line (not all).

Determine if x,y is between ANY TWO of the specified lines.


Member Data Documentation

Definition at line 162 of file vtkBivariateLinearTableThreshold.h.

Definition at line 163 of file vtkBivariateLinearTableThreshold.h.

Definition at line 164 of file vtkBivariateLinearTableThreshold.h.

Definition at line 165 of file vtkBivariateLinearTableThreshold.h.

Definition at line 166 of file vtkBivariateLinearTableThreshold.h.

Definition at line 167 of file vtkBivariateLinearTableThreshold.h.

Definition at line 170 of file vtkBivariateLinearTableThreshold.h.

Definition at line 171 of file vtkBivariateLinearTableThreshold.h.


The documentation for this class was generated from the following file: