VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkOrderStatistics.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 /*------------------------------------------------------------------------- 00016 Copyright 2008 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 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 //ETX 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 //BTX 00085 00086 virtual void SelectAssessFunctor( vtkTable* outData, 00087 vtkDataObject* inMeta, 00088 vtkStringArray* rowNames, 00089 AssessFunctor*& dfunc ); 00091 //ETX 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&); // Not implemented 00111 void operator=(const vtkOrderStatistics&); // Not implemented 00112 }; 00113 00114 #endif 00115