|
VTK
|
Performs principal component analysis of a set of aligned pointsets. More...
#include <vtkPCAAnalysisFilter.h>


Public Types | |
| typedef vtkMultiBlockDataSetAlgorithm | Superclass |
Public Member Functions | |
| virtual int | IsA (const char *type) |
| vtkPCAAnalysisFilter * | NewInstance () const |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| void | GetParameterisedShape (vtkFloatArray *b, vtkPointSet *shape) |
| void | GetShapeParameters (vtkPointSet *shape, vtkFloatArray *b, int bsize) |
| int | GetModesRequiredFor (double proportion) |
| virtual vtkFloatArray * | GetEvals () |
Static Public Member Functions | |
| static int | IsTypeOf (const char *type) |
| static vtkPCAAnalysisFilter * | SafeDownCast (vtkObjectBase *o) |
| static vtkPCAAnalysisFilter * | New () |
Protected Member Functions | |
| virtual vtkObjectBase * | NewInstanceInternal () const |
| vtkPCAAnalysisFilter () | |
| ~vtkPCAAnalysisFilter () | |
| virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
Performs principal component analysis of a set of aligned pointsets.
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 vtkPCAAnalysisFilter requires a vtkMultiBlock input consisting of vtkPointSets as first level children.
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.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
Definition at line 64 of file vtkPCAAnalysisFilter.h.
| vtkPCAAnalysisFilter::vtkPCAAnalysisFilter | ( | ) | [protected] |
| vtkPCAAnalysisFilter::~vtkPCAAnalysisFilter | ( | ) | [protected] |
| static int vtkPCAAnalysisFilter::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 vtkMultiBlockDataSetAlgorithm.
| virtual int vtkPCAAnalysisFilter::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 vtkMultiBlockDataSetAlgorithm.
| static vtkPCAAnalysisFilter* vtkPCAAnalysisFilter::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkMultiBlockDataSetAlgorithm.
| virtual vtkObjectBase* vtkPCAAnalysisFilter::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkMultiBlockDataSetAlgorithm.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
| void vtkPCAAnalysisFilter::PrintSelf | ( | ostream & | os, |
| vtkIndent | indent | ||
| ) | [virtual] |
Prints information about the state of the filter.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
| static vtkPCAAnalysisFilter* vtkPCAAnalysisFilter::New | ( | ) | [static] |
Creates with similarity transform.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
| virtual vtkFloatArray* vtkPCAAnalysisFilter::GetEvals | ( | ) | [virtual] |
Get the vector of eigenvalues sorted in descending order
| void vtkPCAAnalysisFilter::GetParameterisedShape | ( | vtkFloatArray * | b, |
| vtkPointSet * | shape | ||
| ) |
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 already allocated with the right size, it just moves the points.
| void vtkPCAAnalysisFilter::GetShapeParameters | ( | vtkPointSet * | shape, |
| vtkFloatArray * | b, | ||
| int | bsize | ||
| ) |
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]
| int vtkPCAAnalysisFilter::GetModesRequiredFor | ( | double | proportion | ) |
Retrieve how many modes are necessary to model the given proportion of the variation. proportion should be between 0 and 1
| virtual int vtkPCAAnalysisFilter::RequestData | ( | vtkInformation * | , |
| vtkInformationVector ** | , | ||
| vtkInformationVector * | |||
| ) | [protected, virtual] |
Usual data generation method.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
1.8.0