00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00044 #ifndef __vtkOrderStatistics_h
00045 #define __vtkOrderStatistics_h
00046
00047 #include "vtkUnivariateStatisticsAlgorithm.h"
00048
00049 class vtkMultiBlockDataSet;
00050 class vtkStringArray;
00051 class vtkTable;
00052 class vtkVariant;
00053
00054 class VTK_INFOVIS_EXPORT vtkOrderStatistics : public vtkUnivariateStatisticsAlgorithm
00055 {
00056 public:
00057 vtkTypeMacro(vtkOrderStatistics, vtkUnivariateStatisticsAlgorithm);
00058 void PrintSelf(ostream& os, vtkIndent indent);
00059 static vtkOrderStatistics* New();
00060
00061
00063
00064 enum QuantileDefinitionType {
00065 InverseCDF = 0,
00066 InverseCDFAveragedSteps = 1
00067 };
00068
00070
00072
00078 vtkSetMacro( NumericType, int );
00079 vtkGetMacro( NumericType, int );
00080 vtkBooleanMacro( NumericType, int );
00082
00084
00085 vtkSetMacro( NumberOfIntervals, vtkIdType );
00086 vtkGetMacro( NumberOfIntervals, vtkIdType );
00088
00090
00091 vtkSetMacro( QuantileDefinition, QuantileDefinitionType );
00092 void SetQuantileDefinition ( int );
00094
00096 vtkIdType GetQuantileDefinition() { return static_cast<vtkIdType>( this->QuantileDefinition ); }
00097
00099
00102 virtual bool SetParameter( const char* parameter,
00103 int index,
00104 vtkVariant value );
00106
00108
00110 virtual void Aggregate( vtkDataObjectCollection*,
00111 vtkMultiBlockDataSet* ) { return; };
00113
00114 protected:
00115 vtkOrderStatistics();
00116 ~vtkOrderStatistics();
00117
00119
00120 virtual void Learn( vtkTable* inData,
00121 vtkTable* inParameters,
00122 vtkMultiBlockDataSet* outMeta );
00124
00126 virtual void Derive( vtkMultiBlockDataSet* );
00127
00129
00130 virtual void Test( vtkTable*,
00131 vtkMultiBlockDataSet*,
00132 vtkTable* );
00134
00135
00137
00138 virtual void SelectAssessFunctor( vtkTable* outData,
00139 vtkDataObject* inMeta,
00140 vtkStringArray* rowNames,
00141 AssessFunctor*& dfunc );
00142
00144
00145 int NumericType;
00146 int NumberOfIntervals;
00147 QuantileDefinitionType QuantileDefinition;
00148
00149 private:
00150 vtkOrderStatistics(const vtkOrderStatistics&);
00151 void operator=(const vtkOrderStatistics&);
00152 };
00153
00154 #endif