vtkBivariateLinearTableThreshold Class Reference

#include <vtkBivariateLinearTableThreshold.h>

Inheritance diagram for vtkBivariateLinearTableThreshold:

Inheritance graph
[legend]
Collaboration diagram for vtkBivariateLinearTableThreshold:

Collaboration graph
[legend]

List of all members.


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 50 of file vtkBivariateLinearTableThreshold.h.


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 const char * GetClassName ()
virtual int IsA (const char *type)
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 double * GetColumnRanges ()
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 (vtkObject *o)
static void ComputeImplicitLineFunction (double *p1, double *p2, double *abc)
static void ComputeImplicitLineFunction (double *p, double slope, double *abc)

Protected Member Functions

 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)
int ThresholdBetween (double x, double y)

Protected Attributes

double ColumnRanges [2]
double DistanceThreshold
int Inclusive
int LinearThresholdType
int NumberOfLineEquations
int UseNormalizedDistance
vtkSmartPointer< vtkDoubleArrayLineEquations
Internals * Implementation

Member Typedef Documentation

Reimplemented from vtkTableAlgorithm.

Reimplemented in vtkPBivariateLinearTableThreshold.

Definition at line 54 of file vtkBivariateLinearTableThreshold.h.


Member Enumeration Documentation

Enumerator:
OUTPUT_ROW_IDS 
OUTPUT_ROW_DATA 

Definition at line 82 of file vtkBivariateLinearTableThreshold.h.

Enumerator:
BLT_ABOVE 
BLT_BELOW 
BLT_NEAR 
BLT_BETWEEN 

Definition at line 87 of file vtkBivariateLinearTableThreshold.h.


Constructor & Destructor Documentation

vtkBivariateLinearTableThreshold::vtkBivariateLinearTableThreshold (  )  [protected]

virtual vtkBivariateLinearTableThreshold::~vtkBivariateLinearTableThreshold (  )  [protected, virtual]


Member Function Documentation

static vtkBivariateLinearTableThreshold* vtkBivariateLinearTableThreshold::New (  )  [static]

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

Reimplemented from vtkTableAlgorithm.

Reimplemented in vtkPBivariateLinearTableThreshold.

virtual const char* vtkBivariateLinearTableThreshold::GetClassName (  )  [virtual]

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.

static vtkBivariateLinearTableThreshold* vtkBivariateLinearTableThreshold::SafeDownCast ( vtkObject o  )  [static]

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.

virtual void vtkBivariateLinearTableThreshold::SetInclusive ( int   )  [virtual]

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

virtual int vtkBivariateLinearTableThreshold::GetInclusive (  )  [virtual]

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

void vtkBivariateLinearTableThreshold::AddColumnToThreshold ( vtkIdType  column,
vtkIdType  component 
)

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

int vtkBivariateLinearTableThreshold::GetNumberOfColumnsToThreshold (  ) 

Return how many columns have been added. Hopefully 2.

void vtkBivariateLinearTableThreshold::GetColumnToThreshold ( vtkIdType  idx,
vtkIdType column,
vtkIdType component 
)

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

void vtkBivariateLinearTableThreshold::ClearColumnsToThreshold (  ) 

Reset the columns to be thresholded.

vtkIdTypeArray* vtkBivariateLinearTableThreshold::GetSelectedRowIds ( int  selection = 0  ) 

Get the output as a table of row ids.

void vtkBivariateLinearTableThreshold::Initialize (  ) 

Reset the columns to threshold, column ranges, etc.

void vtkBivariateLinearTableThreshold::AddLineEquation ( double *  p1,
double *  p2 
)

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

void vtkBivariateLinearTableThreshold::AddLineEquation ( double *  p,
double  slope 
)

Add a line for thresholding in point-slope form.

void vtkBivariateLinearTableThreshold::AddLineEquation ( double  a,
double  b,
double  c 
)

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

void vtkBivariateLinearTableThreshold::ClearLineEquations (  ) 

Reset the list of line equations.

virtual int vtkBivariateLinearTableThreshold::GetLinearThresholdType (  )  [virtual]

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.

virtual void vtkBivariateLinearTableThreshold::SetLinearThresholdType ( int   )  [virtual]

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.

void vtkBivariateLinearTableThreshold::SetLinearThresholdTypeToAbove (  )  [inline]

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 118 of file vtkBivariateLinearTableThreshold.h.

void vtkBivariateLinearTableThreshold::SetLinearThresholdTypeToBelow (  )  [inline]

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.

void vtkBivariateLinearTableThreshold::SetLinearThresholdTypeToNear (  )  [inline]

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.

void vtkBivariateLinearTableThreshold::SetLinearThresholdTypeToBetween (  )  [inline]

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.

virtual void vtkBivariateLinearTableThreshold::SetColumnRanges ( 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.

void vtkBivariateLinearTableThreshold::SetColumnRanges ( double  [2]  ) 

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

virtual double* vtkBivariateLinearTableThreshold::GetColumnRanges (  )  [virtual]

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.

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

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::SetDistanceThreshold ( double   )  [virtual]

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

virtual double vtkBivariateLinearTableThreshold::GetDistanceThreshold (  )  [virtual]

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

virtual void vtkBivariateLinearTableThreshold::SetUseNormalizedDistance ( int   )  [virtual]

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.

virtual int vtkBivariateLinearTableThreshold::GetUseNormalizedDistance (  )  [virtual]

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.

virtual void vtkBivariateLinearTableThreshold::UseNormalizedDistanceOn (  )  [virtual]

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.

virtual void vtkBivariateLinearTableThreshold::UseNormalizedDistanceOff (  )  [virtual]

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.

int vtkBivariateLinearTableThreshold::ThresholdAbove ( double  x,
double  y 
) [protected]

Determine if x,y is above all specified lines.

int vtkBivariateLinearTableThreshold::ThresholdBelow ( double  x,
double  y 
) [protected]

Determine if x,y is below all specified lines.

int vtkBivariateLinearTableThreshold::ThresholdNear ( double  x,
double  y 
) [protected]

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

int vtkBivariateLinearTableThreshold::ThresholdBetween ( double  x,
double  y 
) [protected]

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


Member Data Documentation

Definition at line 161 of file vtkBivariateLinearTableThreshold.h.

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 169 of file vtkBivariateLinearTableThreshold.h.

Definition at line 170 of file vtkBivariateLinearTableThreshold.h.


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

Generated on Mon Sep 27 18:18:31 2010 for VTK by  doxygen 1.5.6