VTK
vtkStatisticsAlgorithm.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkStatisticsAlgorithm.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 2011 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  -------------------------------------------------------------------------*/
61 #ifndef vtkStatisticsAlgorithm_h
62 #define vtkStatisticsAlgorithm_h
63 
64 #include "vtkFiltersStatisticsModule.h" // For export macro
65 #include "vtkTableAlgorithm.h"
66 
69 class vtkStdString;
70 class vtkStringArray;
71 class vtkVariant;
72 class vtkVariantArray;
74 
76 {
77 public:
79  void PrintSelf(ostream& os, vtkIndent indent);
80 
81 //BTX
83 
85  {
86  INPUT_DATA = 0,
87  LEARN_PARAMETERS = 1,
88  INPUT_MODEL = 2
89  };
91 
93 
95  {
96  OUTPUT_DATA = 0,
97  OUTPUT_MODEL = 1,
98  OUTPUT_TEST = 2
99  };
100 //ETX
102 
104 
110 
112 
118 
120 
126 
128 
130  virtual void SetInputModel( vtkDataObject* model )
133 
135 
136  vtkSetMacro( LearnOption, bool );
137  vtkGetMacro( LearnOption, bool );
139 
141 
142  vtkSetMacro( DeriveOption, bool );
143  vtkGetMacro( DeriveOption, bool );
145 
147 
148  vtkSetMacro( AssessOption, bool );
149  vtkGetMacro( AssessOption, bool );
151 
153 
154  vtkSetMacro( TestOption, bool );
155  vtkGetMacro( TestOption, bool );
157 
159 
160  vtkSetMacro( NumberOfPrimaryTables, vtkIdType );
161  vtkGetMacro( NumberOfPrimaryTables, vtkIdType );
163 
165 
166  virtual void SetAssessNames( vtkStringArray* );
169 
170 //BTX
172 
174  public:
175  virtual void operator() ( vtkVariantArray*,
176  vtkIdType ) = 0;
177  virtual ~AssessFunctor() { }
178  };
179 //ETX
181 
193  virtual void SetColumnStatus( const char* namCol, int status );
194 
197  virtual void ResetAllColumnStates();
198 
202  virtual int RequestSelectedColumns();
203 
205  virtual void ResetRequests();
206 
213 
216 
218 
227  virtual const char* GetColumnForRequest( vtkIdType r, vtkIdType c );
228  //BTX
229  virtual int GetColumnForRequest( vtkIdType r, vtkIdType c, vtkStdString& columnName );
230  //ETX
232 
238  void AddColumn( const char* namCol );
239 
247  void AddColumnPair( const char* namColX, const char* namColY );
248 
250 
255  virtual bool SetParameter( const char* parameter,
256  int index,
257  vtkVariant value );
259 
261 
263  vtkMultiBlockDataSet* ) = 0;
265 
266 protected:
269 
272 
273  virtual int RequestData(
277 
279 
281  virtual void Learn( vtkTable*,
282  vtkTable*,
283  vtkMultiBlockDataSet* ) = 0;
285 
287  virtual void Derive( vtkMultiBlockDataSet* ) = 0;
288 
290 
291  virtual void Assess( vtkTable*,
293  vtkTable* ) = 0;
295 
297 
299  void Assess( vtkTable*,
301  vtkTable*,
302  int );
304 
306 
307  virtual void Test( vtkTable*,
309  vtkTable* ) = 0;
311 
312  //BTX
314 
315  virtual void SelectAssessFunctor( vtkTable* outData,
316  vtkDataObject* inMeta,
317  vtkStringArray* rowNames,
318  AssessFunctor*& dfunc ) = 0;
319  //ETX
321 
329 
330 private:
331  vtkStatisticsAlgorithm(const vtkStatisticsAlgorithm&); // Not implemented
332  void operator=(const vtkStatisticsAlgorithm&); // Not implemented
333 };
334 
335 #endif
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkFiltersStatisticsModule.h
vtkStatisticsAlgorithm::SetInputModel
virtual void SetInputModel(vtkDataObject *model)
Definition: vtkStatisticsAlgorithm.h:130
vtkStatisticsAlgorithm::SetLearnOptionParameters
virtual void SetLearnOptionParameters(vtkDataObject *params)
Definition: vtkStatisticsAlgorithm.h:115
vtkStatisticsAlgorithmPrivate
Definition: vtkStatisticsAlgorithmPrivate.h:41
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkDataObjectCollection
maintain an unordered list of data objects
Definition: vtkDataObjectCollection.h:34
vtkStatisticsAlgorithm::vtkStatisticsAlgorithm
vtkStatisticsAlgorithm()
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:68
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkStatisticsAlgorithm::TestOption
bool TestOption
Definition: vtkStatisticsAlgorithm.h:326
vtkStatisticsAlgorithm::ResetRequests
virtual void ResetRequests()
vtkVariantArray
An array holding vtkVariants.
Definition: vtkVariantArray.h:48
vtkStatisticsAlgorithm::SetInputModelConnection
virtual void SetInputModelConnection(vtkAlgorithmOutput *model)
Definition: vtkStatisticsAlgorithm.h:123
vtkStatisticsAlgorithm::RequestSelectedColumns
virtual int RequestSelectedColumns()
vtkStatisticsAlgorithm::AssessFunctor
Definition: vtkStatisticsAlgorithm.h:173
vtkMultiBlockDataSet
Composite dataset that organizes datasets into blocks.
Definition: vtkMultiBlockDataSet.h:51
vtkStatisticsAlgorithm::GetColumnForRequest
virtual int GetColumnForRequest(vtkIdType r, vtkIdType c, vtkStdString &columnName)
vtkStatisticsAlgorithm::LEARN_PARAMETERS
@ LEARN_PARAMETERS
Port 1 is for learn parameters (initial guesses, etc.)
Definition: vtkStatisticsAlgorithm.h:87
vtkStatisticsAlgorithm::LearnOption
bool LearnOption
Definition: vtkStatisticsAlgorithm.h:323
vtkStatisticsAlgorithm::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkStatisticsAlgorithm::AssessFunctor::~AssessFunctor
virtual ~AssessFunctor()
Definition: vtkStatisticsAlgorithm.h:177
vtkgl::value
GLsizei const GLfloat * value
Definition: vtkgl.h:12021
vtkStatisticsAlgorithm::INPUT_MODEL
@ INPUT_MODEL
Port 2 is for a priori models.
Definition: vtkStatisticsAlgorithm.h:88
vtkgl::c
const GLubyte * c
Definition: vtkgl.h:15720
vtkgl::params
GLenum const GLfloat * params
Definition: vtkgl.h:11333
vtkTableAlgorithm
Superclass for algorithms that produce only vtkTables as output.
Definition: vtkTableAlgorithm.h:48
vtkStatisticsAlgorithm::AssessOption
bool AssessOption
Definition: vtkStatisticsAlgorithm.h:325
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
VTKFILTERSSTATISTICS_EXPORT
#define VTKFILTERSSTATISTICS_EXPORT
Definition: vtkFiltersStatisticsModule.h:15
vtkStatisticsAlgorithm::AddColumnPair
void AddColumnPair(const char *namColX, const char *namColY)
vtkVariant
A atomic type representing the union of many types.
Definition: vtkVariant.h:79
vtkTableAlgorithm::SetInputData
void SetInputData(vtkDataObject *obj)
Definition: vtkTableAlgorithm.h:71
vtkStatisticsAlgorithm::Learn
virtual void Learn(vtkTable *, vtkTable *, vtkMultiBlockDataSet *)=0
vtkStatisticsAlgorithm::GetColumnForRequest
virtual const char * GetColumnForRequest(vtkIdType r, vtkIdType c)
vtkStatisticsAlgorithm::ResetAllColumnStates
virtual void ResetAllColumnStates()
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkStatisticsAlgorithm::AssessNames
vtkStringArray * AssessNames
Definition: vtkStatisticsAlgorithm.h:327
vtkStatisticsAlgorithm::Aggregate
virtual void Aggregate(vtkDataObjectCollection *, vtkMultiBlockDataSet *)=0
vtkStatisticsAlgorithm::AddColumn
void AddColumn(const char *namCol)
vtkStatisticsAlgorithm::GetNumberOfColumnsForRequest
virtual vtkIdType GetNumberOfColumnsForRequest(vtkIdType request)
vtkStatisticsAlgorithm::Assess
void Assess(vtkTable *, vtkMultiBlockDataSet *, vtkTable *, int)
vtkAlgorithm::SetInputConnection
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkStatisticsAlgorithm::SetParameter
virtual bool SetParameter(const char *parameter, int index, vtkVariant value)
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkStatisticsAlgorithm::FillInputPortInformation
virtual int FillInputPortInformation(int port, vtkInformation *info)
vtkgl::index
GLuint index
Definition: vtkgl.h:11983
vtkgl::r
GLdouble GLdouble GLdouble r
Definition: vtkgl.h:11610
vtkStatisticsAlgorithm::Internals
vtkStatisticsAlgorithmPrivate * Internals
Definition: vtkStatisticsAlgorithm.h:328
vtkStatisticsAlgorithm::Assess
virtual void Assess(vtkTable *, vtkMultiBlockDataSet *, vtkTable *)=0
vtkStatisticsAlgorithm::SelectAssessFunctor
virtual void SelectAssessFunctor(vtkTable *outData, vtkDataObject *inMeta, vtkStringArray *rowNames, AssessFunctor *&dfunc)=0
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:39
vtkStatisticsAlgorithm::Derive
virtual void Derive(vtkMultiBlockDataSet *)=0
vtkStatisticsAlgorithm::NumberOfPrimaryTables
vtkIdType NumberOfPrimaryTables
Definition: vtkStatisticsAlgorithm.h:322
vtkStatisticsAlgorithm::~vtkStatisticsAlgorithm
~vtkStatisticsAlgorithm()
vtkStatisticsAlgorithm::SetColumnStatus
virtual void SetColumnStatus(const char *namCol, int status)
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:45
vtkStatisticsAlgorithm::SetLearnOptionParameterConnection
virtual void SetLearnOptionParameterConnection(vtkAlgorithmOutput *params)
Definition: vtkStatisticsAlgorithm.h:107
vtkTableAlgorithm.h
vtkStatisticsAlgorithm::InputPorts
InputPorts
Definition: vtkStatisticsAlgorithm.h:85
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:48
vtkStatisticsAlgorithm
Base class for statistics algorithms.
Definition: vtkStatisticsAlgorithm.h:76
vtkStatisticsAlgorithm::FillOutputPortInformation
virtual int FillOutputPortInformation(int port, vtkInformation *info)
vtkX3D::parameter
@ parameter
Definition: vtkX3D.h:443
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkStatisticsAlgorithm::Test
virtual void Test(vtkTable *, vtkMultiBlockDataSet *, vtkTable *)=0
vtkStatisticsAlgorithm::DeriveOption
bool DeriveOption
Definition: vtkStatisticsAlgorithm.h:324
vtkStatisticsAlgorithm::SetAssessNames
virtual void SetAssessNames(vtkStringArray *)
vtkStatisticsAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkStatisticsAlgorithm::OutputIndices
OutputIndices
Definition: vtkStatisticsAlgorithm.h:95
vtkStatisticsAlgorithm::GetNumberOfRequests
virtual vtkIdType GetNumberOfRequests()