VTK
|
aligns a set of pointsets together More...
#include <vtkProcrustesAlignmentFilter.h>
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.
Definition at line 67 of file vtkProcrustesAlignmentFilter.h.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
Definition at line 70 of file vtkProcrustesAlignmentFilter.h.
vtkProcrustesAlignmentFilter::vtkProcrustesAlignmentFilter | ( | ) | [protected] |
vtkProcrustesAlignmentFilter::~vtkProcrustesAlignmentFilter | ( | ) | [protected] |
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.
static vtkProcrustesAlignmentFilter* vtkProcrustesAlignmentFilter::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
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.
static vtkProcrustesAlignmentFilter* vtkProcrustesAlignmentFilter::New | ( | ) | [static] |
Creates with similarity transform.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
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
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.
virtual bool vtkProcrustesAlignmentFilter::GetStartFromCentroid | ( | ) | [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.
virtual void vtkProcrustesAlignmentFilter::StartFromCentroidOn | ( | ) | [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.
virtual void vtkProcrustesAlignmentFilter::StartFromCentroidOff | ( | ) | [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.
virtual void vtkProcrustesAlignmentFilter::SetOutputPointsPrecision | ( | int | ) | [virtual] |
Set/get the desired precision for the output types. See the documentation for the vtkAlgorithm::DesiredOutputPrecision enum for an explanation of the available precision settings. If the desired precision is DEFAULT_PRECISION and any of the inputs are double precision, then the mean points will be double precision. Otherwise, if the desired precision is DEFAULT_PRECISION and all the inputs are single precision, then the mean points will be single precision.
virtual int vtkProcrustesAlignmentFilter::GetOutputPointsPrecision | ( | ) | [virtual] |
Set/get the desired precision for the output types. See the documentation for the vtkAlgorithm::DesiredOutputPrecision enum for an explanation of the available precision settings. If the desired precision is DEFAULT_PRECISION and any of the inputs are double precision, then the mean points will be double precision. Otherwise, if the desired precision is DEFAULT_PRECISION and all the inputs are single precision, then the mean points will be single precision.
virtual int vtkProcrustesAlignmentFilter::RequestData | ( | vtkInformation * | , |
vtkInformationVector ** | , | ||
vtkInformationVector * | |||
) | [protected, virtual] |
Usual data generation method.
Reimplemented from vtkMultiBlockDataSetAlgorithm.
Definition at line 118 of file vtkProcrustesAlignmentFilter.h.
bool vtkProcrustesAlignmentFilter::StartFromCentroid [protected] |
Definition at line 120 of file vtkProcrustesAlignmentFilter.h.
vtkPoints* vtkProcrustesAlignmentFilter::MeanPoints [protected] |
Definition at line 122 of file vtkProcrustesAlignmentFilter.h.
Definition at line 123 of file vtkProcrustesAlignmentFilter.h.