VTK
dox/Infovis/vtkContingencyStatistics.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003 Program:   Visualization Toolkit
00004 Module:    vtkContingencyStatistics.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   -------------------------------------------------------------------------*/
00043 #ifndef __vtkContingencyStatistics_h
00044 #define __vtkContingencyStatistics_h
00045 
00046 #include "vtkBivariateStatisticsAlgorithm.h"
00047 
00048 class vtkMultiBlockDataSet;
00049 class vtkStringArray;
00050 class vtkTable;
00051 class vtkVariant;
00052 
00053 class VTK_INFOVIS_EXPORT vtkContingencyStatistics : public vtkBivariateStatisticsAlgorithm
00054 {
00055 public:
00056   vtkTypeMacro(vtkContingencyStatistics, vtkBivariateStatisticsAlgorithm);
00057   void PrintSelf(ostream& os, vtkIndent indent);
00058   static vtkContingencyStatistics* New();
00059 
00061 
00063   virtual void Aggregate( vtkDataObjectCollection*,
00064                           vtkMultiBlockDataSet* ) { return; };
00066 
00067 protected:
00068   vtkContingencyStatistics();
00069   ~vtkContingencyStatistics();
00070 
00072 
00073   virtual void Learn( vtkTable* inData,
00074                       vtkTable* inParameters,
00075                       vtkMultiBlockDataSet* outMeta );
00077 
00079   virtual void Derive( vtkMultiBlockDataSet* );
00080 
00082 
00083   virtual void Test( vtkTable* inData,
00084                      vtkMultiBlockDataSet* inMeta,
00085                      vtkTable* outMeta ); 
00087 
00089 
00090   virtual void Assess( vtkTable* inData,
00091                        vtkMultiBlockDataSet* inMeta,
00092                        vtkTable* outData );
00094 
00095 //BTX  
00097 
00100   virtual void SelectAssessFunctor( vtkTable* outData, 
00101                                     vtkDataObject* inMeta,
00102                                     vtkStringArray* rowNames,
00103                                     AssessFunctor*& dfunc );
00104   // Description:
00105   // Provide the appropriate assessment functor.
00106   // This one is the one that is actually used.
00107   virtual void SelectAssessFunctor( vtkTable* outData,
00108                                     vtkMultiBlockDataSet* inMeta,
00109                                     vtkIdType pairKey,
00110                                     vtkStringArray* rowNames,
00111                                     AssessFunctor*& dfunc );
00112 //ETX
00114 
00115 private:
00116   vtkContingencyStatistics(const vtkContingencyStatistics&); // Not implemented
00117   void operator=(const vtkContingencyStatistics&);   // Not implemented
00118 };
00119 
00120 #endif
00121