#include <vtkPCAAnalysisFilter.h>
Inheritance diagram for vtkPCAAnalysisFilter:
vtkPCAAnalysisFilter is a filter that takes as input a set of aligned pointsets (any object derived from vtkPointSet) and performs a principal component analysis of the coordinates. This can be used to visualise the major or minor modes of variation seen in a set of similar biological objects with corresponding landmarks. vtkPCAAnalysisFilter is designed to work with the output from the vtkProcrustesAnalysisFilter
Call SetNumberOfInputs(n) before calling SetInput(0) ... SetInput(n-1). Retrieve the outputs using GetOutput(0) ... GetOutput(n-1).
vtkPCAAnalysisFilter is an implementation of (for example):
T. Cootes et al. : Active Shape Models - their training and application. Computer Vision and Image Understanding, 61(1):38-59, 1995.
The material can also be found in Tim Cootes' ever-changing online report published at his website: http://www.isbe.man.ac.uk/~bim/
Definition at line 61 of file vtkPCAAnalysisFilter.h.
virtual vtkFloatArray * | GetEvals () |
static vtkPCAAnalysisFilter * | New () |
Public Types | |
typedef vtkPointSetAlgorithm | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | SetNumberOfInputs (int n) |
void | SetInput (int idx, vtkPointSet *p) |
vtkPointSet * | GetInput (int idx) |
void | GetParameterisedShape (vtkFloatArray *b, vtkPointSet *shape) |
void | GetShapeParameters (vtkPointSet *shape, vtkFloatArray *b, int bsize) |
int | GetModesRequiredFor (double proportion) |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkPCAAnalysisFilter * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkPCAAnalysisFilter () | |
~vtkPCAAnalysisFilter () | |
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
virtual int | FillInputPortInformation (int port, vtkInformation *info) |
|
Reimplemented from vtkPointSetAlgorithm. Definition at line 64 of file vtkPCAAnalysisFilter.h. |
|
|
|
|
|
Reimplemented from vtkPointSetAlgorithm. |
|
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 vtkTypeRevisionMacro found in vtkSetGet.h. Reimplemented from vtkPointSetAlgorithm. |
|
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 vtkTypeRevisionMacro found in vtkSetGet.h. Reimplemented from vtkPointSetAlgorithm. |
|
Reimplemented from vtkPointSetAlgorithm. |
|
Prints information about the state of the filter. Reimplemented from vtkPointSetAlgorithm. |
|
Creates with similarity transform. Reimplemented from vtkPointSetAlgorithm. |
|
Get the vector of eigenvalues sorted in descending order |
|
Specify how many pointsets are going to be given as input. |
|
Specify the input pointset with index idx. Call SetNumberOfInputs before calling this function. Reimplemented from vtkPointSetAlgorithm. |
|
Retrieve the input with index idx (usually only used for pipeline tracing). |
|
Fills the shape with: mean + b[0] * sqrt(eigenvalue[0]) * eigenvector[0] + b[1] * sqrt(eigenvalue[1]) * eigenvector[1] ... + b[sizeb-1] * sqrt(eigenvalue[bsize-1]) * eigenvector[bsize-1] here b are the parameters expressed in standard deviations bsize is the number of parameters in the b vector This function assumes that shape is allready allocated with the right size, it just moves the points. |
|
Return the bsize parameters b that best model the given shape (in standard deviations). That is that the given shape will be approximated by: shape ~ mean + b[0] * sqrt(eigenvalue[0]) * eigenvector[0] + b[1] * sqrt(eigenvalue[1]) * eigenvector[1] ... + b[bsize-1] * sqrt(eigenvalue[bsize-1]) * eigenvector[bsize-1] |
|
Retrieve how many modes are necessary to model the given proportion of the variation. proportion should be between 0 and 1 |
|
Usual data generation method. Reimplemented from vtkPointSetAlgorithm. |
|
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 vtkPointSetAlgorithm. |