00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00043 #ifndef __vtkOrderStatistics_h
00044 #define __vtkOrderStatistics_h
00045
00046 #include "vtkUnivariateStatisticsAlgorithm.h"
00047
00048 class vtkStringArray;
00049 class vtkTable;
00050 class vtkVariant;
00051
00052 class VTK_INFOVIS_EXPORT vtkOrderStatistics : public vtkUnivariateStatisticsAlgorithm
00053 {
00054 public:
00055 vtkTypeMacro(vtkOrderStatistics, vtkUnivariateStatisticsAlgorithm);
00056 void PrintSelf(ostream& os, vtkIndent indent);
00057 static vtkOrderStatistics* New();
00058
00060
00061 enum QuantileDefinitionType {
00062 InverseCDF = 0,
00063 InverseCDFAveragedSteps = 1
00064 };
00065
00067
00069
00070 vtkSetMacro( NumberOfIntervals, vtkIdType );
00072
00074
00075 vtkGetMacro( NumberOfIntervals, vtkIdType );
00077
00079
00080 vtkSetMacro( QuantileDefinition, QuantileDefinitionType );
00081 void SetQuantileDefinition ( int );
00083
00085 vtkIdType GetQuantileDefinition() { return static_cast<vtkIdType>( this->QuantileDefinition ); }
00086
00087
00089
00092 virtual bool SetParameter( const char* parameter,
00093 int index,
00094 vtkVariant value );
00096
00097
00099
00101 virtual void Aggregate( vtkDataObjectCollection*,
00102 vtkDataObject* ) { return; };
00104
00105 protected:
00106 vtkOrderStatistics();
00107 ~vtkOrderStatistics();
00108
00110
00111 virtual void Learn( vtkTable* inData,
00112 vtkTable* inParameters,
00113 vtkDataObject* outMeta );
00115
00117 virtual void Derive( vtkDataObject* );
00118
00120
00121 virtual void Test( vtkTable*,
00122 vtkDataObject*,
00123 vtkDataObject* ) { return; };
00125
00126
00128
00129 virtual void SelectAssessFunctor( vtkTable* outData,
00130 vtkDataObject* inMeta,
00131 vtkStringArray* rowNames,
00132 AssessFunctor*& dfunc );
00134
00135
00136 int NumberOfIntervals;
00137 QuantileDefinitionType QuantileDefinition;
00138
00139 private:
00140 vtkOrderStatistics(const vtkOrderStatistics&);
00141 void operator=(const vtkOrderStatistics&);
00142 };
00143
00144 #endif
00145