Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound 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

Date:
2002/02/05 17:36:04
Revision:
1.4

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 (98%)
CVS logs (CVSweb):
  • .cxx (/Hybrid/vtkProcrustesAlignmentFilter.cxx)
  • .h (/Hybrid/vtkProcrustesAlignmentFilter.h)
Examples:
vtkProcrustesAlignmentFilter (Examples)
Tests:
vtkProcrustesAlignmentFilter (Tests)

Definition at line 80 of file vtkProcrustesAlignmentFilter.h.

Public Types

typedef vtkSource Superclass

Public Methods

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 ()

Static Public Methods

int IsTypeOf (const char *type)
vtkProcrustesAlignmentFilter * SafeDownCast (vtkObject *o)
vtkProcrustesAlignmentFilter * New ()

Protected Methods

 vtkProcrustesAlignmentFilter ()
 ~vtkProcrustesAlignmentFilter ()
void Execute ()

Protected Attributes

vtkLandmarkTransformLandmarkTransform


Member Typedef Documentation

typedef vtkSource vtkProcrustesAlignmentFilter::Superclass
 

Reimplemented from vtkSource.

Definition at line 83 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 vtkObject.

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.

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 119 of file vtkProcrustesAlignmentFilter.h.


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