dox/Hybrid/vtkPCAAnalysisFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00057
#ifndef __vtkPCAAnalysisFilter_h
00058
#define __vtkPCAAnalysisFilter_h
00059
00060
#include "vtkSource.h"
00061
00062
class vtkFloatArray;
00063
class vtkPointSet;
00064
00065 class VTK_HYBRID_EXPORT vtkPCAAnalysisFilter :
public vtkSource
00066 {
00067
public:
00068 vtkTypeRevisionMacro(vtkPCAAnalysisFilter,
vtkSource);
00069
00071
void PrintSelf(ostream& os,
vtkIndent indent);
00072
00074
static vtkPCAAnalysisFilter *
New();
00075
00077
00078 vtkGetObjectMacro(Evals,
vtkFloatArray);
00080
00082
void SetNumberOfInputs(
int n);
00083
00086
void SetInput(
int idx,
vtkPointSet* p);
00087
00090
vtkPointSet*
GetOutput(
int idx);
00091
00098
void GetParameterisedShape(
vtkFloatArray *b,
vtkPointSet* shape);
00099
00105
void GetShapeParameters(
vtkPointSet *shape,
vtkFloatArray *b,
int bsize);
00106
00109
vtkPointSet* GetInput(
int idx);
00110
00113
int GetModesRequiredFor(
float proportion);
00114
00115
protected:
00116 vtkPCAAnalysisFilter();
00117 ~vtkPCAAnalysisFilter();
00118
00120
void Execute();
00121
00122
private:
00123 vtkPCAAnalysisFilter(
const vtkPCAAnalysisFilter&);
00124
void operator=(
const vtkPCAAnalysisFilter&);
00125
00126
00127
vtkFloatArray *Evals;
00128
00129
00130
double **evecMat2;
00131
00132
00133
double *meanshape;
00134 };
00135
00136
#endif
00137
00138