Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkProcrustesAlignmentFilter Class Reference

#include <vtkProcrustesAlignmentFilter.h>

Inheritance diagram for vtkProcrustesAlignmentFilter:

Inheritance graph
[legend]
Collaboration diagram for vtkProcrustesAlignmentFilter:

Collaboration graph
[legend]
List of all members.

Detailed Description

aligns a set of pointsets together

vtkProcrustesAlignmentFilter is a filter that takes a set of pointsets (any object derived from vtkPointSet) and aligns them in a least-squares sense to their mutual mean. The algorithm is iterated until convergence, as the mean must be recomputed after each alignment.

Call SetNumberOfInputs(n) before calling SetInput(0) ... SetInput(n-1).

Retrieve the outputs using GetOutput(0) ... GetOutput(n-1).

The default (in vtkLandmarkTransform) is for a similarity alignment. For a rigid-body alignment (to build a 'size-and-shape' model) use:

GetLandmarkTransform()->SetModeToRigidBody().

Affine alignments are not normally used but are left in for completeness:

GetLandmarkTransform()->SetModeToAffine().

vtkProcrustesAlignmentFilter is an implementation of:

J.C. Gower (1975) Generalized Procrustes Analysis. Psychometrika, 40:33-51.

Warning:
All of the input pointsets must have the same number of points.
Thanks:
Tim Hutton and Rasmus Paulsen who developed and contributed this class
See also:
vtkLandmarkTransform
Created by:
  • Hutton, Tim
CVS contributions (if > 5%):
  • Hutton, Tim (81%)
  • King, Brad (8%)
CVS logs (CVSweb):
  • .h (/Hybrid/vtkProcrustesAlignmentFilter.h)
  • .cxx (/Hybrid/vtkProcrustesAlignmentFilter.cxx)
Examples:
vtkProcrustesAlignmentFilter (Examples)
Tests:
vtkProcrustesAlignmentFilter (Tests)

Definition at line 78 of file vtkProcrustesAlignmentFilter.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)
vtkPointSetGetOutput (int idx)
vtkPointSetGetInput (int idx)
virtual vtkLandmarkTransformGetLandmarkTransform ()
virtual vtkPointsGetMeanPoints ()

Static Public Member Functions

int IsTypeOf (const char *type)
vtkProcrustesAlignmentFilterSafeDownCast (vtkObject *o)
vtkProcrustesAlignmentFilterNew ()

Protected Member Functions

 vtkProcrustesAlignmentFilter ()
 ~vtkProcrustesAlignmentFilter ()
void Execute ()

Protected Attributes

vtkLandmarkTransformLandmarkTransform
vtkPointsMeanPoints


Member Typedef Documentation

typedef vtkSource vtkProcrustesAlignmentFilter::Superclass
 

Reimplemented from vtkSource.

Definition at line 81 of file vtkProcrustesAlignmentFilter.h.


Constructor & Destructor Documentation

vtkProcrustesAlignmentFilter::vtkProcrustesAlignmentFilter  )  [protected]
 

vtkProcrustesAlignmentFilter::~vtkProcrustesAlignmentFilter  )  [protected]
 


Member Function Documentation

virtual const char* vtkProcrustesAlignmentFilter::GetClassName  )  [virtual]
 

Reimplemented from vtkSource.

int vtkProcrustesAlignmentFilter::IsTypeOf const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkSource.

virtual int vtkProcrustesAlignmentFilter::IsA const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkSource.

vtkProcrustesAlignmentFilter* vtkProcrustesAlignmentFilter::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtkSource.

void vtkProcrustesAlignmentFilter::PrintSelf ostream &  os,
vtkIndent  indent
[virtual]
 

Prints information about the state of the filter.

Reimplemented from vtkSource.

vtkProcrustesAlignmentFilter* vtkProcrustesAlignmentFilter::New  )  [static]
 

Creates with similarity transform.

Reimplemented from vtkAlgorithm.

virtual vtkLandmarkTransform* vtkProcrustesAlignmentFilter::GetLandmarkTransform  )  [virtual]
 

Get the internal landmark transform. Use it to constrain the number of degrees of freedom of the alignment (i.e. rigid body, similarity, etc.). The default is a similarity alignment.

virtual vtkPoints* vtkProcrustesAlignmentFilter::GetMeanPoints  )  [virtual]
 

Get the estimated mean point cloud

void vtkProcrustesAlignmentFilter::SetNumberOfInputs int  n  ) 
 

Specify how many pointsets are going to be given as input.

Reimplemented from vtkProcessObject.

void vtkProcrustesAlignmentFilter::SetInput int  idx,
vtkPointSet p
 

Specify the input pointset with index idx. Call SetNumberOfInputs before calling this function.

vtkPointSet* vtkProcrustesAlignmentFilter::GetOutput int  idx  ) 
 

Retrieve the output point set with index idx.

Reimplemented from vtkSource.

vtkPointSet* vtkProcrustesAlignmentFilter::GetInput int  idx  ) 
 

Retrieve the input point set with index idx (usuall only for pipeline tracing).

void vtkProcrustesAlignmentFilter::Execute  )  [protected, virtual]
 

Usual data generation method.

Reimplemented from vtkSource.


Member Data Documentation

vtkLandmarkTransform* vtkProcrustesAlignmentFilter::LandmarkTransform [protected]
 

Definition at line 122 of file vtkProcrustesAlignmentFilter.h.

vtkPoints* vtkProcrustesAlignmentFilter::MeanPoints [protected]
 

Definition at line 124 of file vtkProcrustesAlignmentFilter.h.


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