VTK
vtkPCAStatistics.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkPCAStatistics.h
5 
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2010 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19  -------------------------------------------------------------------------*/
55 #ifndef vtkPCAStatistics_h
56 #define vtkPCAStatistics_h
57 
58 #include "vtkFiltersStatisticsModule.h" // For export macro
60 
61 class vtkDoubleArray;
62 class vtkIdTypeArray;
63 
65 {
66 public:
68  virtual void PrintSelf( ostream& os, vtkIndent indent );
69  static vtkPCAStatistics* New();
70 
71  //BTX
73 
75  {
76  NONE,
80  NUM_NORMALIZATION_SCHEMES
81  };
83 
85 
88  {
92  NUM_BASIS_SCHEMES
93  };
94  //ETX
96 
98 
116  vtkSetMacro(NormalizationScheme,int);
117  vtkGetMacro(NormalizationScheme,int);
118  virtual void SetNormalizationSchemeByName( const char* sname );
119  virtual const char* GetNormalizationSchemeName( int scheme );
121 
123 
146 
148 
154  void GetEigenvalues(int request, vtkDoubleArray*);
156  double GetEigenvalue(int request, int i);
157  double GetEigenvalue(int i);
159 
161 
169  void GetEigenvectors(int request, vtkDoubleArray* eigenvectors);
170  void GetEigenvectors(vtkDoubleArray* eigenvectors);
171  void GetEigenvector(int i, vtkDoubleArray* eigenvector);
172  void GetEigenvector(int request, int i, vtkDoubleArray* eigenvector);
174 
176 
196  vtkSetMacro(BasisScheme,int);
197  vtkGetMacro(BasisScheme,int);
198  virtual const char* GetBasisSchemeName( int schemeIndex );
199  virtual void SetBasisSchemeByName( const char* schemeName );
201 
203 
206  vtkSetMacro(FixedBasisSize,int);
207  vtkGetMacro(FixedBasisSize,int);
209 
211 
215  vtkSetClampMacro(FixedBasisEnergy,double,0.,1.);
216  vtkGetMacro(FixedBasisEnergy,double);
218 
220 
223  virtual bool SetParameter( const char* parameter,
224  int index,
225  vtkVariant value );
227 
228 protected:
231 
236 
238  virtual void Derive( vtkMultiBlockDataSet* );
239 
241 
242  virtual void Test( vtkTable*,
244  vtkTable* );
246 
248 
249  virtual void Assess( vtkTable*,
251  vtkTable* );
252  //BTX
254 
257 
258  //BTX
260 
261  virtual void SelectAssessFunctor( vtkTable* inData,
262  vtkDataObject* inMeta,
263  vtkStringArray* rowNames,
264  AssessFunctor*& dfunc );
265  //ETX
267 
272 
273  //BTX
274  static const char* BasisSchemeEnumNames[NUM_BASIS_SCHEMES + 1];
275  static const char* NormalizationSchemeEnumNames[NUM_NORMALIZATION_SCHEMES + 1];
276  //ETX
277 
278 private:
279  vtkPCAStatistics( const vtkPCAStatistics& ); // Not implemented
280  void operator = ( const vtkPCAStatistics& ); // Not implemented
281 };
282 
283 #endif // vtkPCAStatistics_h
284 
vtkPCAStatistics::GetSpecifiedNormalization
virtual vtkTable * GetSpecifiedNormalization()
vtkFiltersStatisticsModule.h
vtkPCAStatistics::~vtkPCAStatistics
~vtkPCAStatistics()
vtkPCAStatistics
A class for multivariate principal component analysis.
Definition: vtkPCAStatistics.h:65
vtkPCAStatistics::Test
virtual void Test(vtkTable *, vtkMultiBlockDataSet *, vtkTable *)
vtkPCAStatistics::ProjectionType
ProjectionType
Definition: vtkPCAStatistics.h:88
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:68
vtkPCAStatistics::BasisScheme
int BasisScheme
Definition: vtkPCAStatistics.h:269
vtkPCAStatistics::FixedBasisEnergy
double FixedBasisEnergy
Definition: vtkPCAStatistics.h:271
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkPCAStatistics::GetEigenvectors
void GetEigenvectors(vtkDoubleArray *eigenvectors)
vtkPCAStatistics::DIAGONAL_VARIANCE
@ DIAGONAL_VARIANCE
Normalize cov(i,j) by sqrt(cov(i,i)*cov(j,j)).
Definition: vtkPCAStatistics.h:79
vtkPCAStatistics::NormalizationScheme
int NormalizationScheme
Definition: vtkPCAStatistics.h:268
vtkStatisticsAlgorithm::AssessFunctor
Definition: vtkStatisticsAlgorithm.h:173
vtkPCAStatistics::CalculatePValues
virtual vtkDoubleArray * CalculatePValues(vtkIdTypeArray *, vtkDoubleArray *)
vtkPCAStatistics::FillInputPortInformation
virtual int FillInputPortInformation(int port, vtkInformation *info)
vtkPCAStatistics::Derive
virtual void Derive(vtkMultiBlockDataSet *)
vtkPCAStatistics::NONE
@ NONE
The covariance matrix should be used as computed.
Definition: vtkPCAStatistics.h:76
vtkPCAStatistics::GetNormalizationSchemeName
virtual const char * GetNormalizationSchemeName(int scheme)
vtkMultiBlockDataSet
Composite dataset that organizes datasets into blocks.
Definition: vtkMultiBlockDataSet.h:51
vtkMultiCorrelativeStatistics
A class for multivariate linear correlation.
Definition: vtkMultiCorrelativeStatistics.h:92
vtkPCAStatistics::GetEigenvector
void GetEigenvector(int request, int i, vtkDoubleArray *eigenvector)
vtkPCAStatistics::GetEigenvalues
void GetEigenvalues(vtkDoubleArray *)
vtkPCAStatistics::GetEigenvalue
double GetEigenvalue(int request, int i)
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkPCAStatistics::GetEigenvalue
double GetEigenvalue(int i)
vtkPCAStatistics::FixedBasisSize
int FixedBasisSize
Definition: vtkPCAStatistics.h:270
vtkPCAStatistics::SetBasisSchemeByName
virtual void SetBasisSchemeByName(const char *schemeName)
vtkPCAStatistics::DIAGONAL_SPECIFIED
@ DIAGONAL_SPECIFIED
Normalize cov(i,j) by sqrt(V(i)*V(j)) where V is supplied by the user.
Definition: vtkPCAStatistics.h:78
vtkgl::value
GLsizei const GLfloat * value
Definition: vtkgl.h:12021
vtkPCAStatistics::vtkPCAStatistics
vtkPCAStatistics()
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
VTKFILTERSSTATISTICS_EXPORT
#define VTKFILTERSSTATISTICS_EXPORT
Definition: vtkFiltersStatisticsModule.h:15
vtkVariant
A atomic type representing the union of many types.
Definition: vtkVariant.h:79
vtkPCAStatistics::Assess
virtual void Assess(vtkTable *, vtkMultiBlockDataSet *, vtkTable *)
vtkPCAStatistics::GetEigenvector
void GetEigenvector(int i, vtkDoubleArray *eigenvector)
vtkMultiCorrelativeStatistics.h
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkPCAStatistics::SetParameter
virtual bool SetParameter(const char *parameter, int index, vtkVariant value)
vtkPCAStatistics::NormalizationType
NormalizationType
Definition: vtkPCAStatistics.h:75
vtkPCAStatistics::FIXED_BASIS_ENERGY
@ FIXED_BASIS_ENERGY
Use consecutive basis matrix entries whose energies sum to at least T.
Definition: vtkPCAStatistics.h:91
vtkPCAStatistics::TRIANGLE_SPECIFIED
@ TRIANGLE_SPECIFIED
Normalize cov(i,j) by V(i,j) where V is supplied by the user.
Definition: vtkPCAStatistics.h:77
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkPCAStatistics::GetBasisSchemeName
virtual const char * GetBasisSchemeName(int schemeIndex)
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkPCAStatistics::SetNormalizationSchemeByName
virtual void SetNormalizationSchemeByName(const char *sname)
vtkgl::index
GLuint index
Definition: vtkgl.h:11983
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:49
vtkPCAStatistics::FIXED_BASIS_SIZE
@ FIXED_BASIS_SIZE
Use the first N entries in the basis matrix.
Definition: vtkPCAStatistics.h:90
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:45
vtkDoubleArray
dynamic, self-adjusting array of double
Definition: vtkDoubleArray.h:49
vtkPCAStatistics::SelectAssessFunctor
virtual void SelectAssessFunctor(vtkTable *inData, vtkDataObject *inMeta, vtkStringArray *rowNames, AssessFunctor *&dfunc)
vtkPCAStatistics::GetEigenvalues
void GetEigenvalues(int request, vtkDoubleArray *)
vtkX3D::parameter
@ parameter
Definition: vtkX3D.h:443
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkPCAStatistics::GetEigenvectors
void GetEigenvectors(int request, vtkDoubleArray *eigenvectors)
vtkPCAStatistics::New
static vtkPCAStatistics * New()
vtkPCAStatistics::FULL_BASIS
@ FULL_BASIS
Use all entries in the basis matrix.
Definition: vtkPCAStatistics.h:89
vtkPCAStatistics::SetSpecifiedNormalization
virtual void SetSpecifiedNormalization(vtkTable *)
vtkPCAStatistics::PrintSelf
virtual void PrintSelf(ostream &os, vtkIndent indent)