VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkOrderStatistics.h 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 -------------------------------------------------------------------------*/ 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 //ETX 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 //BTX 00089 00092 virtual bool SetParameter( const char* parameter, 00093 int index, 00094 vtkVariant value ); 00096 //ETX 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 //BTX 00128 00129 virtual void SelectAssessFunctor( vtkTable* outData, 00130 vtkDataObject* inMeta, 00131 vtkStringArray* rowNames, 00132 AssessFunctor*& dfunc ); 00134 //ETX 00135 00136 int NumberOfIntervals; 00137 QuantileDefinitionType QuantileDefinition; 00138 00139 private: 00140 vtkOrderStatistics(const vtkOrderStatistics&); // Not implemented 00141 void operator=(const vtkOrderStatistics&); // Not implemented 00142 }; 00143 00144 #endif 00145