00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00058 #ifndef __vtkProcrustesAlignmentFilter_h
00059 #define __vtkProcrustesAlignmentFilter_h
00060
00061 #include "vtkPointSetAlgorithm.h"
00062
00063 class vtkLandmarkTransform;
00064 class vtkPointSet;
00065 class vtkPoints;
00066
00067 class VTK_HYBRID_EXPORT vtkProcrustesAlignmentFilter : public vtkPointSetAlgorithm
00068 {
00069 public:
00070 vtkTypeMacro(vtkProcrustesAlignmentFilter,vtkPointSetAlgorithm);
00071
00073 void PrintSelf(ostream& os, vtkIndent indent);
00074
00076 static vtkProcrustesAlignmentFilter *New();
00077
00079
00082 vtkGetObjectMacro(LandmarkTransform,vtkLandmarkTransform);
00084
00086
00087 vtkGetObjectMacro(MeanPoints,vtkPoints);
00089
00091 void SetNumberOfInputs(int n);
00092
00094
00096 void SetInput(int idx, vtkPointSet* p);
00097 void SetInput(int idx, vtkDataObject* input);
00099
00101
00104 vtkSetMacro(StartFromCentroid, bool);
00105 vtkGetMacro(StartFromCentroid, bool);
00106 vtkBooleanMacro(StartFromCentroid, bool);
00108
00111 vtkPointSet* GetInput(int idx);
00112
00113 protected:
00114 vtkProcrustesAlignmentFilter();
00115 ~vtkProcrustesAlignmentFilter();
00116
00118 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00119
00120 virtual int FillInputPortInformation(int port, vtkInformation *info);
00121
00122 vtkLandmarkTransform *LandmarkTransform;
00123
00124 bool StartFromCentroid;
00125
00126 vtkPoints *MeanPoints;
00127
00128 private:
00129 vtkProcrustesAlignmentFilter(const vtkProcrustesAlignmentFilter&);
00130 void operator=(const vtkProcrustesAlignmentFilter&);
00131 };
00132
00133 #endif
00134
00135