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 class vtkVariant;
00048
00049 class VTK_INFOVIS_EXPORT vtkOrderStatistics : public vtkUnivariateStatisticsAlgorithm
00050 {
00051 public:
00052 vtkTypeRevisionMacro(vtkOrderStatistics, vtkUnivariateStatisticsAlgorithm);
00053 void PrintSelf(ostream& os, vtkIndent indent);
00054 static vtkOrderStatistics* New();
00055
00057
00058 enum QuantileDefinitionType {
00059 InverseCDF = 0,
00060 InverseCDFAveragedSteps = 1
00061 };
00062
00064
00066
00067 vtkSetMacro( NumberOfIntervals, vtkIdType );
00069
00071
00072 vtkGetMacro( NumberOfIntervals, vtkIdType );
00074
00076
00077 vtkSetMacro( QuantileDefinition, QuantileDefinitionType );
00078 void SetQuantileDefinition ( int );
00080
00082 vtkIdType GetQuantileDefinition() { return static_cast<vtkIdType>( this->QuantileDefinition ); }
00083
00084
00086
00089 virtual bool SetParameter( const char* parameter,
00090 int index,
00091 vtkVariant value );
00093
00094
00096
00098 virtual void Aggregate( vtkDataObjectCollection*,
00099 vtkDataObject* ) { return; };
00101
00102 protected:
00103 vtkOrderStatistics();
00104 ~vtkOrderStatistics();
00105
00107
00108 virtual void Learn( vtkTable* inData,
00109 vtkTable* inParameters,
00110 vtkDataObject* outMeta );
00112
00114 virtual void Derive( vtkDataObject* );
00115
00117
00118 virtual void Test( vtkTable*,
00119 vtkDataObject*,
00120 vtkDataObject* ) { return; };
00122
00123
00125
00126 virtual void SelectAssessFunctor( vtkTable* outData,
00127 vtkDataObject* inMeta,
00128 vtkStringArray* rowNames,
00129 AssessFunctor*& dfunc );
00131
00132
00133 int NumberOfIntervals;
00134 QuantileDefinitionType QuantileDefinition;
00135
00136 private:
00137 vtkOrderStatistics(const vtkOrderStatistics&);
00138 void operator=(const vtkOrderStatistics&);
00139 };
00140
00141 #endif
00142