VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkProcrustesAlignmentFilter Class Reference

aligns a set of pointsets together More...

#include <vtkProcrustesAlignmentFilter.h>

Inheritance diagram for vtkProcrustesAlignmentFilter:
Inheritance graph
[legend]
Collaboration diagram for vtkProcrustesAlignmentFilter:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
vtkMultiBlockDataSetAlgorithm 
Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkProcrustesAlignmentFilterNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
virtual vtkLandmarkTransformGetLandmarkTransform ()
virtual vtkPointsGetMeanPoints ()
virtual void SetStartFromCentroid (bool)
virtual bool GetStartFromCentroid ()
virtual void StartFromCentroidOn ()
virtual void StartFromCentroidOff ()

Static Public Member Functions

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

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkProcrustesAlignmentFilter ()
 ~vtkProcrustesAlignmentFilter ()
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)

Protected Attributes

vtkLandmarkTransformLandmarkTransform
bool StartFromCentroid
vtkPointsMeanPoints

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.

vtkProcrustesAlignmentFilter requires a vtkMultiBlock input consisting of vtkPointSets as first level children.

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
Examples:
vtkProcrustesAlignmentFilter (Examples)
Tests:
vtkProcrustesAlignmentFilter (Tests)

Definition at line 67 of file vtkProcrustesAlignmentFilter.h.


Member Typedef Documentation

Reimplemented from vtkMultiBlockDataSetAlgorithm.

Definition at line 70 of file vtkProcrustesAlignmentFilter.h.


Constructor & Destructor Documentation


Member Function Documentation

static int vtkProcrustesAlignmentFilter::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 vtkProcrustesAlignmentFilter::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.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

virtual vtkObjectBase* vtkProcrustesAlignmentFilter::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkMultiBlockDataSetAlgorithm.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

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

Prints information about the state of the filter.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

Creates with similarity transform.

Reimplemented from vtkMultiBlockDataSetAlgorithm.

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.

Get the estimated mean point cloud

virtual void vtkProcrustesAlignmentFilter::SetStartFromCentroid ( bool  ) [virtual]

When on, the initial alignment is to the centroid of the cohort curves. When off, the alignment is to the centroid of the first input. Default is off for backward compatibility.

When on, the initial alignment is to the centroid of the cohort curves. When off, the alignment is to the centroid of the first input. Default is off for backward compatibility.

When on, the initial alignment is to the centroid of the cohort curves. When off, the alignment is to the centroid of the first input. Default is off for backward compatibility.

When on, the initial alignment is to the centroid of the cohort curves. When off, the alignment is to the centroid of the first input. Default is off for backward compatibility.

Usual data generation method.

Reimplemented from vtkMultiBlockDataSetAlgorithm.


Member Data Documentation

Definition at line 106 of file vtkProcrustesAlignmentFilter.h.

Definition at line 108 of file vtkProcrustesAlignmentFilter.h.

Definition at line 110 of file vtkProcrustesAlignmentFilter.h.


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