vtkPSciVizPCAStats.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkPSciVizPCAStats.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
46 #ifndef vtkPSciVizPCAStats_h
47 #define vtkPSciVizPCAStats_h
48 
49 #include "vtkPVVTKExtensionsFiltersStatisticsModule.h" //needed for exports
50 #include "vtkSciVizStatistics.h"
51 
53 {
54 public:
55  static vtkPSciVizPCAStats* New();
57  void PrintSelf(ostream& os, vtkIndent indent) override;
58 
59  vtkSetMacro(NormalizationScheme, int);
60  vtkGetMacro(NormalizationScheme, int);
61 
62  vtkSetMacro(BasisScheme, int);
63  vtkGetMacro(BasisScheme, int);
64 
65  vtkSetMacro(FixedBasisSize, int);
66  vtkGetMacro(FixedBasisSize, int);
67 
68  vtkSetClampMacro(FixedBasisEnergy, double, 0., 1.);
69  vtkGetMacro(FixedBasisEnergy, double);
70 
71  vtkSetMacro(RobustPCA, bool);
72  vtkGetMacro(RobustPCA, bool);
73  vtkBooleanMacro(RobustPCA, bool);
74 
75 protected:
77  ~vtkPSciVizPCAStats() override;
78 
79  int LearnAndDerive(vtkMultiBlockDataSet* model, vtkTable* inData) override;
80  int AssessData(
81  vtkTable* observations, vtkDataObject* dataset, vtkMultiBlockDataSet* model) override;
82 
87  bool RobustPCA;
88 
89 private:
90  vtkPSciVizPCAStats(const vtkPSciVizPCAStats&) = delete;
91  void operator=(const vtkPSciVizPCAStats&) = delete;
92 };
93 
94 #endif // vtkPSciVizPCAStats_h
virtual int AssessData(vtkTable *observations, vtkDataObject *dataset, vtkMultiBlockDataSet *model)=0
Method subclasses must override to assess an input table given a model of the proper type...
#define VTKPVVTKEXTENSIONSFILTERSSTATISTICS_EXPORT
static vtkTableAlgorithm * New()
virtual int LearnAndDerive(vtkMultiBlockDataSet *model, vtkTable *inData)=0
Method subclasses must override to calculate a full model from the given input data.
Abstract base class for computing statistics with vtkStatistics.
Perform PCA on data and/or project data into a subspace defined by the PCA.
void PrintSelf(ostream &os, vtkIndent indent) override