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 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 __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                           vtkDataObject* ) { return; };
00066 
00067 protected:
00068   vtkContingencyStatistics();
00069   ~vtkContingencyStatistics();
00070 
00072 
00076   virtual int FillInputPortInformation( int port, vtkInformation* info );
00077   virtual int FillOutputPortInformation( int port, vtkInformation* info );
00079 
00081 
00082   virtual void Learn( vtkTable* inData,
00083                       vtkTable* inParameters,
00084                       vtkDataObject* outMeta );
00086 
00088   virtual void Derive( vtkDataObject* );
00089 
00091 
00092   virtual void Assess( vtkTable* inData,
00093                        vtkDataObject* inMeta,
00094                        vtkTable* outData ); 
00096   
00098 
00099   virtual void Test( vtkTable* inData,
00100                      vtkDataObject* inMeta,
00101                      vtkDataObject* outMeta ); 
00103 
00104 //BTX  
00106 
00109   virtual void SelectAssessFunctor( vtkTable* outData, 
00110                                     vtkDataObject* inMeta,
00111                                     vtkStringArray* rowNames,
00112                                     AssessFunctor*& dfunc );
00113   // Description:
00114   // Provide the appropriate assessment functor.
00115   // This one is the one that is actually used.
00116   virtual void SelectAssessFunctor( vtkTable* outData,
00117                                     vtkMultiBlockDataSet* inMeta,
00118                                     vtkIdType pairKey,
00119                                     vtkStringArray* rowNames,
00120                                     AssessFunctor*& dfunc );
00122 //ETX
00123 
00124 private:
00125   vtkContingencyStatistics(const vtkContingencyStatistics&); // Not implemented
00126   void operator=(const vtkContingencyStatistics&);   // Not implemented
00127 };
00128 
00129 #endif
00130