VTK
vtkOrderStatistics.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkOrderStatistics.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  -------------------------------------------------------------------------*/
43 #ifndef vtkOrderStatistics_h
44 #define vtkOrderStatistics_h
45 
46 #include "vtkFiltersStatisticsModule.h" // For export macro
47 #include "vtkStatisticsAlgorithm.h"
48 
50 class vtkStringArray;
51 class vtkTable;
52 class vtkVariant;
53 
54 class VTKFILTERSSTATISTICS_EXPORT vtkOrderStatistics : public vtkStatisticsAlgorithm
55 {
56 public:
58  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
59  static vtkOrderStatistics* New();
60 
65  InverseCDF = 0, // Identical to method 1 of R
66  InverseCDFAveragedSteps = 1, // Identical to method 2 of R, ignored for non-numeric types
67  NearestObservation = 2 // Identical to method 3 of R
68  };
69 
71 
74  vtkSetMacro( NumberOfIntervals, vtkIdType );
75  vtkGetMacro( NumberOfIntervals, vtkIdType );
77 
79 
82  vtkSetMacro( QuantileDefinition, QuantileDefinitionType );
83  void SetQuantileDefinition ( int );
85 
87 
90  vtkSetMacro( Quantize, bool );
91  vtkGetMacro( Quantize, bool );
93 
95 
99  vtkSetMacro( MaximumHistogramSize, vtkIdType );
100  vtkGetMacro( MaximumHistogramSize, vtkIdType );
102 
106  vtkIdType GetQuantileDefinition() { return static_cast<vtkIdType>( this->QuantileDefinition ); }
107 
113  bool SetParameter( const char* parameter,
114  int index,
115  vtkVariant value ) VTK_OVERRIDE;
116 
122  vtkMultiBlockDataSet* ) VTK_OVERRIDE { return; };
123 
124 protected:
126  ~vtkOrderStatistics() VTK_OVERRIDE;
127 
131  void Learn( vtkTable*,
132  vtkTable*,
133  vtkMultiBlockDataSet* ) VTK_OVERRIDE;
134 
138  void Derive( vtkMultiBlockDataSet* ) VTK_OVERRIDE;
139 
143  void Test( vtkTable*,
145  vtkTable* ) VTK_OVERRIDE;
146 
150  void Assess( vtkTable* inData,
151  vtkMultiBlockDataSet* inMeta,
152  vtkTable* outData ) VTK_OVERRIDE
153  { this->Superclass::Assess( inData, inMeta, outData, 1 ); }
154 
158  void SelectAssessFunctor( vtkTable* outData,
159  vtkDataObject* inMeta,
160  vtkStringArray* rowNames,
161  AssessFunctor*& dfunc ) VTK_OVERRIDE;
162 
165  bool Quantize;
167 
168 private:
169  vtkOrderStatistics(const vtkOrderStatistics&) VTK_DELETE_FUNCTION;
170  void operator=(const vtkOrderStatistics&) VTK_DELETE_FUNCTION;
171 };
172 
173 #endif
A base class for a functor that assesses data.
static vtkTableAlgorithm * New()
A class for univariate order statistics.
maintain an unordered list of data objects
void Aggregate(vtkDataObjectCollection *, vtkMultiBlockDataSet *) override
Given a collection of models, calculate aggregate model NB: not implemented.
virtual void Test(vtkTable *, vtkMultiBlockDataSet *, vtkTable *)=0
Execute the calculations required by the Test option.
a vtkAbstractArray subclass for strings
void Assess(vtkTable *inData, vtkMultiBlockDataSet *inMeta, vtkTable *outData) override
Execute the calculations required by the Assess option.
int vtkIdType
Definition: vtkType.h:345
A atomic type representing the union of many types.
Definition: vtkVariant.h:69
Base class for statistics algorithms.
a simple class to control print indentation
Definition: vtkIndent.h:33
virtual void Learn(vtkTable *, vtkTable *, vtkMultiBlockDataSet *)=0
Execute the calculations required by the Learn option, given some input Data.
QuantileDefinitionType
The type of quantile definition.
virtual void Derive(vtkMultiBlockDataSet *)=0
Execute the calculations required by the Derive option.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:62
virtual bool SetParameter(const char *parameter, int index, vtkVariant value)
A convenience method (in particular for access from other applications) to set parameter values of Le...
Composite dataset that organizes datasets into blocks.
virtual void SelectAssessFunctor(vtkTable *outData, vtkDataObject *inMeta, vtkStringArray *rowNames, AssessFunctor *&dfunc)=0
A pure virtual method to select the appropriate assessment functor.
QuantileDefinitionType QuantileDefinition
general representation of visualization data
Definition: vtkDataObject.h:58
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkIdType GetQuantileDefinition()
Get the quantile definition.