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 | List of all members
vtkDotProductSimilarity Class Reference

compute dot-product similarity metrics. More...

#include <vtkDotProductSimilarity.h>

Inherits vtkTableAlgorithm.

Public Types

typedef vtkTableAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkDotProductSimilarityNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual vtkIdType GetVectorDimension ()
 
virtual void SetVectorDimension (vtkIdType)
 
virtual int GetUpperDiagonal ()
 
virtual void SetUpperDiagonal (int)
 
virtual int GetDiagonal ()
 
virtual void SetDiagonal (int)
 
virtual int GetLowerDiagonal ()
 
virtual void SetLowerDiagonal (int)
 
virtual int GetFirstSecond ()
 
virtual void SetFirstSecond (int)
 
virtual int GetSecondFirst ()
 
virtual void SetSecondFirst (int)
 
virtual double GetMinimumThreshold ()
 
virtual void SetMinimumThreshold (double)
 
virtual vtkIdType GetMinimumCount ()
 
virtual void SetMinimumCount (vtkIdType)
 
virtual vtkIdType GetMaximumCount ()
 
virtual void SetMaximumCount (vtkIdType)
 

Static Public Member Functions

static vtkDotProductSimilarityNew ()
 
static int IsTypeOf (const char *type)
 
static vtkDotProductSimilaritySafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkDotProductSimilarity ()
 
 ~vtkDotProductSimilarity ()
 
int FillInputPortInformation (int, vtkInformation *)
 
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 

Detailed Description

compute dot-product similarity metrics.

Treats matrices as collections of vectors and computes dot-product similarity metrics between vectors.

The results are returned as an edge-table that lists the index of each vector and their computed similarity. The output edge-table is typically used with vtkTableToGraph to create a similarity graph.

This filter can be used with one or two input matrices. If you provide a single matrix as input, every vector in the matrix is compared with every other vector. If you provide two matrices, every vector in the first matrix is compared with every vector in the second matrix.

Note that this filter only computes the dot-product between each pair of vectors; if you want to compute the cosine of the angles between vectors, you will need to normalize the inputs yourself.

Inputs: Input port 0: (required) A vtkDenseArray<double> with two dimensions (a matrix). Input port 1: (optional) A vtkDenseArray<double> with two dimensions (a matrix).

Outputs: Output port 0: A vtkTable containing "source", "target", and "similarity" columns.

Warning
Note that the complexity of this filter is quadratic! It also requires dense arrays as input, in the future it should be generalized to accept sparse arrays.
Thanks:
Developed by Timothy M. Shead (tshea.nosp@m.d@sa.nosp@m.ndia..nosp@m.gov) at Sandia National Laboratories.
Events:
vtkCommand::ProgressEvent
Tests:
vtkDotProductSimilarity (Tests)

Definition at line 69 of file vtkDotProductSimilarity.h.

Member Typedef Documentation

typedef vtkTableAlgorithm vtkDotProductSimilarity::Superclass

Definition at line 73 of file vtkDotProductSimilarity.h.

Constructor & Destructor Documentation

vtkDotProductSimilarity::vtkDotProductSimilarity ( )
protected
vtkDotProductSimilarity::~vtkDotProductSimilarity ( )
protected

Member Function Documentation

static vtkDotProductSimilarity* vtkDotProductSimilarity::New ( )
static
static int vtkDotProductSimilarity::IsTypeOf ( const char *  type)
static
virtual int vtkDotProductSimilarity::IsA ( const char *  type)
virtual
static vtkDotProductSimilarity* vtkDotProductSimilarity::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkDotProductSimilarity::NewInstanceInternal ( ) const
protectedvirtual
vtkDotProductSimilarity* vtkDotProductSimilarity::NewInstance ( ) const
void vtkDotProductSimilarity::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual vtkIdType vtkDotProductSimilarity::GetVectorDimension ( )
virtual

Controls whether to compute similarities for row-vectors or column-vectors. 0 = rows, 1 = columns.

virtual void vtkDotProductSimilarity::SetVectorDimension ( vtkIdType  )
virtual

Controls whether to compute similarities for row-vectors or column-vectors. 0 = rows, 1 = columns.

virtual int vtkDotProductSimilarity::GetUpperDiagonal ( )
virtual

When computing similarities for a single input matrix, controls whether the results will include the upper diagonal of the similarity matrix. Default: true.

virtual void vtkDotProductSimilarity::SetUpperDiagonal ( int  )
virtual

When computing similarities for a single input matrix, controls whether the results will include the upper diagonal of the similarity matrix. Default: true.

virtual int vtkDotProductSimilarity::GetDiagonal ( )
virtual

When computing similarities for a single input matrix, controls whether the results will include the diagonal of the similarity matrix. Default: false.

virtual void vtkDotProductSimilarity::SetDiagonal ( int  )
virtual

When computing similarities for a single input matrix, controls whether the results will include the diagonal of the similarity matrix. Default: false.

virtual int vtkDotProductSimilarity::GetLowerDiagonal ( )
virtual

When computing similarities for a single input matrix, controls whether the results will include the lower diagonal of the similarity matrix. Default: false.

virtual void vtkDotProductSimilarity::SetLowerDiagonal ( int  )
virtual

When computing similarities for a single input matrix, controls whether the results will include the lower diagonal of the similarity matrix. Default: false.

virtual int vtkDotProductSimilarity::GetFirstSecond ( )
virtual

When computing similarities for two input matrices, controls whether the results will include comparisons from the first matrix to the second matrix.

virtual void vtkDotProductSimilarity::SetFirstSecond ( int  )
virtual

When computing similarities for two input matrices, controls whether the results will include comparisons from the first matrix to the second matrix.

virtual int vtkDotProductSimilarity::GetSecondFirst ( )
virtual

When computing similarities for two input matrices, controls whether the results will include comparisons from the second matrix to the first matrix.

virtual void vtkDotProductSimilarity::SetSecondFirst ( int  )
virtual

When computing similarities for two input matrices, controls whether the results will include comparisons from the second matrix to the first matrix.

virtual double vtkDotProductSimilarity::GetMinimumThreshold ( )
virtual

Specifies a minimum threshold that a similarity must exceed to be included in the output.

virtual void vtkDotProductSimilarity::SetMinimumThreshold ( double  )
virtual

Specifies a minimum threshold that a similarity must exceed to be included in the output.

virtual vtkIdType vtkDotProductSimilarity::GetMinimumCount ( )
virtual

Specifies a minimum number of edges to include for each vector.

virtual void vtkDotProductSimilarity::SetMinimumCount ( vtkIdType  )
virtual

Specifies a minimum number of edges to include for each vector.

virtual vtkIdType vtkDotProductSimilarity::GetMaximumCount ( )
virtual

Specifies a maximum number of edges to include for each vector.

virtual void vtkDotProductSimilarity::SetMaximumCount ( vtkIdType  )
virtual

Specifies a maximum number of edges to include for each vector.

int vtkDotProductSimilarity::FillInputPortInformation ( int  ,
vtkInformation *   
)
protected
int vtkDotProductSimilarity::RequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protected

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