VTK
dox/Infovis/vtkDescriptiveStatistics.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003 Program:   Visualization Toolkit
00004 Module:    vtkDescriptiveStatistics.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 2010 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   -------------------------------------------------------------------------*/
00053 #ifndef __vtkDescriptiveStatistics_h
00054 #define __vtkDescriptiveStatistics_h
00055 
00056 #include "vtkUnivariateStatisticsAlgorithm.h"
00057 
00058 class vtkMultiBlockDataSet;
00059 class vtkStringArray;
00060 class vtkTable;
00061 class vtkVariant;
00062 
00063 class VTK_INFOVIS_EXPORT vtkDescriptiveStatistics : public vtkUnivariateStatisticsAlgorithm
00064 {
00065 public:
00066   vtkTypeMacro(vtkDescriptiveStatistics, vtkUnivariateStatisticsAlgorithm);
00067   void PrintSelf(ostream& os, vtkIndent indent);
00068   static vtkDescriptiveStatistics* New();
00069 
00071 
00074   vtkSetMacro(UnbiasedVariance,int);
00075   vtkGetMacro(UnbiasedVariance,int);
00076   vtkBooleanMacro(UnbiasedVariance,int);
00078 
00080 
00083   vtkSetMacro(G1Skewness,int);
00084   vtkGetMacro(G1Skewness,int);
00085   vtkBooleanMacro(G1Skewness,int);
00087 
00089 
00092   vtkSetMacro(G2Kurtosis,int);
00093   vtkGetMacro(G2Kurtosis,int);
00094   vtkBooleanMacro(G2Kurtosis,int);
00096 
00098 
00101   vtkSetMacro(SignedDeviations,int);
00102   vtkGetMacro(SignedDeviations,int);
00103   vtkBooleanMacro(SignedDeviations,int);
00105 
00108   void SetNominalParameter( const char* name );
00109 
00112   void SetDeviationParameter( const char* name );
00113 
00115 
00116   virtual void Aggregate( vtkDataObjectCollection*,
00117                           vtkMultiBlockDataSet* );
00119 
00120 protected:
00121   vtkDescriptiveStatistics();
00122   ~vtkDescriptiveStatistics();
00123 
00125 
00127   virtual void Learn( vtkTable* inData,
00128                       vtkTable* inParameters,
00129                       vtkMultiBlockDataSet* outMeta );
00131 
00133   virtual void Derive( vtkMultiBlockDataSet* );
00134 
00136 
00137   virtual void Test( vtkTable* inData,
00138                      vtkMultiBlockDataSet* inMeta,
00139                      vtkTable* outMeta ); 
00141 
00142   int UnbiasedVariance;
00143   int G1Skewness;
00144   int G2Kurtosis;
00145   int SignedDeviations;
00146 
00147 //BTX  
00149 
00150   virtual void SelectAssessFunctor( vtkTable* outData, 
00151                                     vtkDataObject* inMeta,
00152                                     vtkStringArray* rowNames,
00153                                     AssessFunctor*& dfunc );
00154 //ETX
00156 
00157 private:
00158   vtkDescriptiveStatistics( const vtkDescriptiveStatistics& ); // Not implemented
00159   void operator = ( const vtkDescriptiveStatistics& );   // Not implemented
00160 };
00161 
00162 #endif