VTK
|
aligns a set of pointsets together More...
#include <vtkProcrustesAlignmentFilter.h>
Public Types | |
typedef vtkPointSetAlgorithm | Superclass |
![]() | |
![]() | |
![]() |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | SetNumberOfInputs (int n) |
vtkPointSet * | GetInput (int idx) |
virtual vtkLandmarkTransform * | GetLandmarkTransform () |
virtual vtkPoints * | GetMeanPoints () |
void | SetInput (int idx, vtkPointSet *p) |
void | SetInput (int idx, vtkDataObject *input) |
virtual void | SetStartFromCentroid (bool) |
virtual bool | GetStartFromCentroid () |
virtual void | StartFromCentroidOn () |
virtual void | StartFromCentroidOff () |
![]() | |
vtkPolyData * | GetPolyDataOutput () |
vtkStructuredGrid * | GetStructuredGridOutput () |
vtkUnstructuredGrid * | GetUnstructuredGridOutput () |
vtkDataObject * | GetInput () |
vtkPointSet * | GetOutput () |
vtkPointSet * | GetOutput (int) |
void | SetInput (vtkDataObject *) |
void | SetInput (vtkPointSet *) |
void | AddInput (vtkDataObject *) |
void | AddInput (vtkPointSet *) |
void | AddInput (int, vtkPointSet *) |
void | AddInput (int, vtkDataObject *) |
virtual int | ProcessRequest (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
![]() | |
int | HasExecutive () |
vtkExecutive * | GetExecutive () |
virtual void | SetExecutive (vtkExecutive *executive) |
virtual int | ModifyRequest (vtkInformation *request, int when) |
vtkInformation * | GetInputPortInformation (int port) |
vtkInformation * | GetOutputPortInformation (int port) |
int | GetNumberOfInputPorts () |
int | GetNumberOfOutputPorts () |
void | UpdateProgress (double amount) |
vtkInformation * | GetInputArrayInformation (int idx) |
void | RemoveAllInputs () |
vtkDataObject * | GetOutputDataObject (int port) |
virtual void | RemoveInputConnection (int port, vtkAlgorithmOutput *input) |
int | GetNumberOfInputConnections (int port) |
int | GetTotalNumberOfInputConnections () |
vtkAlgorithmOutput * | GetInputConnection (int port, int index) |
virtual void | Update () |
virtual void | UpdateInformation () |
virtual void | UpdateWholeExtent () |
void | ConvertTotalInputToPortConnection (int ind, int &port, int &conn) |
virtual double | ComputePriority () |
int | ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo) |
virtual int | ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, unsigned long *mtime) |
virtual vtkInformation * | GetInformation () |
virtual void | SetInformation (vtkInformation *) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
virtual void | SetAbortExecute (int) |
virtual int | GetAbortExecute () |
virtual void | AbortExecuteOn () |
virtual void | AbortExecuteOff () |
virtual void | SetProgress (double) |
virtual double | GetProgress () |
void | SetProgressText (const char *ptext) |
virtual char * | GetProgressText () |
virtual unsigned long | GetErrorCode () |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name) |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) |
virtual void | SetInputArrayToProcess (int idx, vtkInformation *info) |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName) |
vtkDataObject * | GetInputDataObject (int port, int connection) |
virtual void | SetInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | SetInputConnection (vtkAlgorithmOutput *input) |
virtual void | AddInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | AddInputConnection (vtkAlgorithmOutput *input) |
vtkAlgorithmOutput * | GetOutputPort (int index) |
vtkAlgorithmOutput * | GetOutputPort () |
virtual void | SetReleaseDataFlag (int) |
virtual int | GetReleaseDataFlag () |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
int | UpdateExtentIsEmpty (vtkDataObject *output) |
int | UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType) |
![]() | |
virtual void | DebugOn () |
virtual void | DebugOff () |
unsigned char | GetDebug () |
void | SetDebug (unsigned char debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &os) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkProcrustesAlignmentFilter * | SafeDownCast (vtkObject *o) |
static vtkProcrustesAlignmentFilter * | New () |
Protected Attributes | |
vtkLandmarkTransform * | LandmarkTransform |
bool | StartFromCentroid |
vtkPoints * | MeanPoints |
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.
Definition at line 67 of file vtkProcrustesAlignmentFilter.h.
Reimplemented from vtkPointSetAlgorithm.
Definition at line 70 of file vtkProcrustesAlignmentFilter.h.
|
protected |
|
protected |
|
virtual |
Reimplemented from vtkPointSetAlgorithm.
|
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 vtkPointSetAlgorithm.
|
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 vtkPointSetAlgorithm.
|
static |
Reimplemented from vtkPointSetAlgorithm.
|
virtual |
Prints information about the state of the filter.
Reimplemented from vtkPointSetAlgorithm.
|
static |
Creates with similarity transform.
Reimplemented from vtkPointSetAlgorithm.
|
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 |
Get the estimated mean point cloud
void vtkProcrustesAlignmentFilter::SetNumberOfInputs | ( | int | n | ) |
Specify how many pointsets are going to be given as input.
void vtkProcrustesAlignmentFilter::SetInput | ( | int | idx, |
vtkPointSet * | p | ||
) |
Specify the input pointset with index idx. Call SetNumberOfInputs before calling this function.
Reimplemented from vtkPointSetAlgorithm.
void vtkProcrustesAlignmentFilter::SetInput | ( | int | idx, |
vtkDataObject * | input | ||
) |
Specify the input pointset with index idx. Call SetNumberOfInputs before calling this function.
Reimplemented from vtkPointSetAlgorithm.
|
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 |
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 |
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 |
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.
vtkPointSet* vtkProcrustesAlignmentFilter::GetInput | ( | int | idx | ) |
Retrieve the input point set with index idx (usually only for pipeline tracing).
|
protectedvirtual |
Usual data generation method.
Reimplemented from vtkPointSetAlgorithm.
|
protectedvirtual |
Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkPointSetAlgorithm.
|
protected |
Definition at line 122 of file vtkProcrustesAlignmentFilter.h.
|
protected |
Definition at line 124 of file vtkProcrustesAlignmentFilter.h.
|
protected |
Definition at line 126 of file vtkProcrustesAlignmentFilter.h.