00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00040 #ifndef __vtkOrderStatistics_h
00041 #define __vtkOrderStatistics_h
00042
00043 #include "vtkUnivariateStatisticsAlgorithm.h"
00044
00045 class vtkStringArray;
00046 class vtkTable;
00047
00048 class VTK_INFOVIS_EXPORT vtkOrderStatistics : public vtkUnivariateStatisticsAlgorithm
00049 {
00050 public:
00051 vtkTypeRevisionMacro(vtkOrderStatistics, vtkUnivariateStatisticsAlgorithm);
00052 void PrintSelf(ostream& os, vtkIndent indent);
00053 static vtkOrderStatistics* New();
00054
00056
00057 enum QuantileDefinitionType {
00058 InverseCDF = 0,
00059 InverseCDFAveragedSteps = 1,
00060 };
00061
00063
00065
00066 vtkSetMacro( NumberOfIntervals, vtkIdType );
00068
00070
00071 vtkGetMacro( NumberOfIntervals, vtkIdType );
00073
00075
00076 vtkSetMacro( QuantileDefinition, QuantileDefinitionType );
00077 void SetQuantileDefinition ( int );
00079
00081 vtkIdType GetQuantileDefinition() { return static_cast<vtkIdType>( this->QuantileDefinition ); }
00082
00083
00085
00086 virtual void SelectAssessFunctor( vtkTable* outData,
00087 vtkDataObject* inMeta,
00088 vtkStringArray* rowNames,
00089 AssessFunctor*& dfunc );
00091
00092
00093 protected:
00094 vtkOrderStatistics();
00095 ~vtkOrderStatistics();
00096
00098
00099 virtual void ExecuteLearn( vtkTable* inData,
00100 vtkDataObject* outMeta );
00102
00104 virtual void ExecuteDerive( vtkDataObject* );
00105
00106 vtkIdType NumberOfIntervals;
00107 QuantileDefinitionType QuantileDefinition;
00108
00109 private:
00110 vtkOrderStatistics(const vtkOrderStatistics&);
00111 void operator=(const vtkOrderStatistics&);
00112 };
00113
00114 #endif
00115