VTK
dox/Filters/Statistics/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   -------------------------------------------------------------------------*/
00054 #ifndef __vtkDescriptiveStatistics_h
00055 #define __vtkDescriptiveStatistics_h
00056 
00057 #include "vtkFiltersStatisticsModule.h" // For export macro
00058 #include "vtkStatisticsAlgorithm.h"
00059 
00060 class vtkMultiBlockDataSet;
00061 class vtkStringArray;
00062 class vtkTable;
00063 class vtkVariant;
00064 class vtkDoubleArray;
00065 
00066 class VTKFILTERSSTATISTICS_EXPORT vtkDescriptiveStatistics : public vtkStatisticsAlgorithm
00067 {
00068 public:
00069   vtkTypeMacro(vtkDescriptiveStatistics, vtkStatisticsAlgorithm);
00070   void PrintSelf(ostream& os, vtkIndent indent);
00071   static vtkDescriptiveStatistics* New();
00072 
00074 
00077   vtkSetMacro(UnbiasedVariance,int);
00078   vtkGetMacro(UnbiasedVariance,int);
00079   vtkBooleanMacro(UnbiasedVariance,int);
00081 
00083 
00086   vtkSetMacro(G1Skewness,int);
00087   vtkGetMacro(G1Skewness,int);
00088   vtkBooleanMacro(G1Skewness,int);
00090 
00092 
00095   vtkSetMacro(G2Kurtosis,int);
00096   vtkGetMacro(G2Kurtosis,int);
00097   vtkBooleanMacro(G2Kurtosis,int);
00099 
00101 
00104   vtkSetMacro(SignedDeviations,int);
00105   vtkGetMacro(SignedDeviations,int);
00106   vtkBooleanMacro(SignedDeviations,int);
00108 
00110 
00111   virtual void Aggregate( vtkDataObjectCollection*,
00112                           vtkMultiBlockDataSet* );
00114 
00115 protected:
00116   vtkDescriptiveStatistics();
00117   ~vtkDescriptiveStatistics();
00118 
00120 
00122   virtual void Learn( vtkTable*,
00123                       vtkTable*,
00124                       vtkMultiBlockDataSet* );
00126 
00128   virtual void Derive( vtkMultiBlockDataSet* );
00129 
00131 
00132   virtual void Test( vtkTable*,
00133                      vtkMultiBlockDataSet*,
00134                      vtkTable* );
00136 
00138 
00139   virtual void Assess( vtkTable* inData,
00140                        vtkMultiBlockDataSet* inMeta,
00141                        vtkTable* outData )
00142   { this->Superclass::Assess( inData, inMeta, outData, 1 ); }
00144 
00145 //BTX
00148   virtual vtkDoubleArray* CalculatePValues(vtkDoubleArray*);
00149 
00151 
00152   virtual void SelectAssessFunctor( vtkTable* outData,
00153                                     vtkDataObject* inMeta,
00154                                     vtkStringArray* rowNames,
00155                                     AssessFunctor*& dfunc );
00156 //ETX
00158 
00159   int UnbiasedVariance;
00160   int G1Skewness;
00161   int G2Kurtosis;
00162   int SignedDeviations;
00163 
00164 private:
00165   vtkDescriptiveStatistics( const vtkDescriptiveStatistics& ); // Not implemented
00166   void operator = ( const vtkDescriptiveStatistics& );   // Not implemented
00167 };
00168 
00169 #endif