#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 72 of file vtkPCAAnalysisFilter.h.
Public Types | |
typedef vtkSource | 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 * | GetOutput (int idx) |
void | GetParameterisedShape (vtkFloatArray *b, vtkPointSet *shape) |
void | GetShapeParameters (vtkPointSet *shape, vtkFloatArray *b, int bsize) |
vtkPointSet * | GetInput (int idx) |
int | GetModesRequiredFor (double proportion) |
virtual vtkFloatArray * | GetEvals () |
Static Public Member Functions | |
int | IsTypeOf (const char *type) |
vtkPCAAnalysisFilter * | SafeDownCast (vtkObject *o) |
vtkPCAAnalysisFilter * | New () |
Protected Member Functions | |
vtkPCAAnalysisFilter () | |
~vtkPCAAnalysisFilter () | |
void | Execute () |
|
Reimplemented from vtkSource. Definition at line 75 of file vtkPCAAnalysisFilter.h. |
|
|
|
|
|
Reimplemented from vtkSource. |
|
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 vtkSource. |
|
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 vtkSource. |
|
Reimplemented from vtkSource. |
|
Prints information about the state of the filter. Reimplemented from vtkSource. |
|
Creates with similarity transform. Reimplemented from vtkAlgorithm. |
|
Get the vector of eigenvalues sorted in descending order |
|
Specify how many pointsets are going to be given as input. Reimplemented from vtkProcessObject. |
|
Specify the input pointset with index idx. Call SetNumberOfInputs before calling this function. |
|
Retrieve the output point set with index idx. The output is the eigenvector sorted according to their eigenvalues (descending order) Reimplemented from vtkSource. |
|
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 the input with index idx (usually only used for pipeline tracing). |
|
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 vtkSource. |