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:

[legend]
Collaboration diagram for vtkProcrustesAlignmentFilter:

[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)
vtkPointSet * | GetOutput (int idx)
vtkPointSet * | GetInput (int idx)
virtual vtkLandmarkTransform * | GetLandmarkTransform ()

## Static Public Methods

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

## Protected Methods

| vtkProcrustesAlignmentFilter ()
| ~vtkProcrustesAlignmentFilter ()
void | Execute ()

## Protected Attributes

vtkLandmarkTransform * | LandmarkTransform

## 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:

- Hybrid/vtkProcrustesAlignmentFilter.h