freImageClassificationSOMetricMonitor.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   F.R.E.E. - flexible registration evaluation engine
00004   Version:   v.1.0.0
00005   Date:      $Date: 2006/09/01 12:00:00 $
00006   Module:    $RCSfile: freImageClassificationSOMetricMonitor.h,v $
00007   Language:  C++
00008 
00009 
00010 
00011   Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics,
00012   Institute for Medical Biometry and Informatics, University of Heidelberg,
00013   Germany). All rights reserved.
00014   See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm
00015   for details.
00016 
00017      This software is distributed WITHOUT ANY WARRANTY; without even 
00018      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00019      PURPOSE.  See the above copyright notices for more information.
00020 
00021 =========================================================================*/
00022 #ifndef __freImageClassificationSOMetricMonitor_h
00023 #define __freImageClassificationSOMetricMonitor_h
00024 
00025 #include "freSetupOptimizationMetricMonitorBase.h"
00026 
00027 namespace FREE
00028 {
00037 class ImageClassificationSOMetricResult: public SetupOptimizationMetricResult
00038 {
00039 public:
00040   typedef std::vector<double> PointErrorListType;
00041 
00042   void SetTP(const unsigned long& count) {m_TP = count;};
00043   void SetFP(const unsigned long& count) {m_FP = count;};
00044   void SetTN(const unsigned long& count) {m_TN = count;};
00045   void SetFN(const unsigned long& count) {m_FN = count;};
00046   void SetDuration(const unsigned long& dur) {m_Duration = dur;};
00047 
00048   const unsigned long& GetTP() const { return m_TP;};
00049   const unsigned long& GetFP() const { return m_FP;};
00050   const unsigned long& GetTN() const { return m_TN;};
00051   const unsigned long& GetFN() const { return m_FN;};
00052   const unsigned long& GetDuration() const { return m_Duration;};
00053 
00054   unsigned long& GetTP() { return m_TP;};
00055   unsigned long& GetFP() { return m_FP;};
00056   unsigned long& GetTN() { return m_TN;};
00057   unsigned long& GetFN() { return m_FN;};
00058   unsigned long& GetDuration() { return m_Duration;};
00059 
00060   virtual void Reset();
00061 
00062   ImageClassificationSOMetricResult();
00063 protected:
00065   unsigned long m_TP;
00067   unsigned long m_FP;  
00069   unsigned long m_TN;
00071   unsigned long m_FN;  
00072 
00074   unsigned long m_Duration;  
00075 };
00076 
00089 class ITK_EXPORT ImageClassificationSOMetricMonitor : 
00090   public SetupOptimizationMetricMonitorBase<ImageClassificationSOMetricResult>
00091 {
00092 public:
00094   typedef ImageClassificationSOMetricMonitor  Self;
00095   typedef SetupOptimizationMetricMonitorBase<ImageClassificationSOMetricResult>   Superclass;
00096   typedef itk::SmartPointer<Self>           Pointer;
00097   typedef itk::SmartPointer<const Self>     ConstPointer;
00098 
00099   //Class containing the results of one adaptation evaluation
00100   //depends on the monitored metric and therefore a template.
00101   typedef ImageClassificationSOMetricResult   ResultType;
00102 
00104   itkTypeMacro( ImageClassificationSOMetricMonitor, SetupOptimizationMetricMonitorBase<ImageClassificationSOMetricResult> );
00105 
00106   itkNewMacro( Self );
00107 
00108 protected:
00109 
00110   ImageClassificationSOMetricMonitor();
00111 
00112   virtual ~ImageClassificationSOMetricMonitor();
00113 
00114   virtual void InsertEvaluationResults(const ResultType& results);
00115 
00116   virtual void CopyAdaptationResults(const ResultIndexType& index, ResultType& results) const;
00117 
00118   virtual void EnlistResultsToStatistic(const ResultType& results, StatisticEntry& entry);
00119 
00120   virtual void EnlistDictionaryEntries(StatisticDictionary& dictionary);
00121 
00122   //The folloing members are secured via m_ResultMutex and should therefore only acessed via
00123   //InsertEvaluationResults() and CopyAdaptationResults()
00125   std::vector<unsigned long> m_TPs;
00127   std::vector<unsigned long> m_FPs;
00129   std::vector<unsigned long> m_TNs;
00131   std::vector<unsigned long> m_FNs;
00132 
00134   std::vector<unsigned long> m_Durations;
00135 
00136 private:
00137   ImageClassificationSOMetricMonitor(const Self&); //purposely not implemented
00138   void operator=(const Self&); //purposely not implemented
00139 };
00140 
00141 } // end namespace FREE
00142 
00143 #endif
00144 
00145 
00146 

Generated at Sat Oct 13 16:02:21 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000