VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkBivariateLinearTableThreshold Class Reference

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

#include <vtkBivariateLinearTableThreshold.h>

Inheritance diagram for vtkBivariateLinearTableThreshold:
[legend]

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 ()
 
vtkIdTypeArray * GetSelectedRowIds (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 (vtkObjectBase *o)
 
static void ComputeImplicitLineFunction (double *p1, double *p2, double *abc)
 
static void ComputeImplicitLineFunction (double *p, double slope, double *abc)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () 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< vtkDoubleArray > LineEquations
 
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

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

vtkBivariateLinearTableThreshold::vtkBivariateLinearTableThreshold ( )
protected
virtual vtkBivariateLinearTableThreshold::~vtkBivariateLinearTableThreshold ( )
protectedvirtual

Member Function Documentation

static vtkBivariateLinearTableThreshold* vtkBivariateLinearTableThreshold::New ( )
static
static int vtkBivariateLinearTableThreshold::IsTypeOf ( const char *  type)
static
virtual int vtkBivariateLinearTableThreshold::IsA ( const char *  type)
virtual
static vtkBivariateLinearTableThreshold* vtkBivariateLinearTableThreshold::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkBivariateLinearTableThreshold::NewInstanceInternal ( ) const
protectedvirtual
vtkBivariateLinearTableThreshold* vtkBivariateLinearTableThreshold::NewInstance ( ) const
void vtkBivariateLinearTableThreshold::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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 119 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 120 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 121 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 122 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 *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual
virtual int vtkBivariateLinearTableThreshold::FillInputPortInformation ( int  port,
vtkInformation *  info 
)
protectedvirtual
virtual int vtkBivariateLinearTableThreshold::FillOutputPortInformation ( int  port,
vtkInformation *  info 
)
protectedvirtual
virtual int vtkBivariateLinearTableThreshold::ApplyThreshold ( vtkTable *  tableToThreshold,
vtkIdTypeArray *  acceptedIds 
)
protectedvirtual

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

double vtkBivariateLinearTableThreshold::ColumnRanges[2]
protected

Definition at line 162 of file vtkBivariateLinearTableThreshold.h.

double vtkBivariateLinearTableThreshold::DistanceThreshold
protected

Definition at line 163 of file vtkBivariateLinearTableThreshold.h.

int vtkBivariateLinearTableThreshold::Inclusive
protected

Definition at line 164 of file vtkBivariateLinearTableThreshold.h.

Definition at line 165 of file vtkBivariateLinearTableThreshold.h.

int vtkBivariateLinearTableThreshold::NumberOfLineEquations
protected

Definition at line 166 of file vtkBivariateLinearTableThreshold.h.

int vtkBivariateLinearTableThreshold::UseNormalizedDistance
protected

Definition at line 167 of file vtkBivariateLinearTableThreshold.h.

vtkSmartPointer<vtkDoubleArray> vtkBivariateLinearTableThreshold::LineEquations
protected

Definition at line 170 of file vtkBivariateLinearTableThreshold.h.

Internals* vtkBivariateLinearTableThreshold::Implementation
protected

Definition at line 171 of file vtkBivariateLinearTableThreshold.h.


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