freMutualInformationHistogramMetricController.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: freMutualInformationHistogramMetricController.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 __freMutualInformationHistogramMetricController_h
00023 #define __freMutualInformationHistogramMetricController_h
00024 
00025 #include "freHistogramMetricControllerBase.h"
00026 
00027 #include "itkMutualInformationHistogramImageToImageMetric.h"
00028 
00029 namespace FREE
00030 {
00031 
00042   freControllerIDMacro(MutualInformationHistogramMetricControllerBase, "MutualInformationHistogramMetricBase");
00043 template <class TImageType>
00044 class MutualInformationHistogramMetricControllerBase : public HistogramMetricControllerBase< itk::MutualInformationHistogramImageToImageMetric<TImageType,TImageType> >
00045 {
00046 public:  
00047   typedef itk::MutualInformationHistogramImageToImageMetric<TImageType,TImageType> ComponentType;
00048   typedef HistogramMetricControllerBase<ComponentType> Superclass;
00049 
00050   itkTypeMacro(MutualInformationHistogramMetricControllerBase, HistogramMetricControllerBase);
00051 
00052 protected:
00055   MutualInformationHistogramMetricControllerBase()
00056   {
00057                 //Profile settings
00058     this->UpdateControllerID(ControllerID::MutualInformationHistogramMetricControllerBase);
00059     this->m_Description = "A mutual information metric using the intensity histograms.";
00060         };
00061 
00062   virtual void GenerateProfile(CtrlProfile::ControllerProfile& profile,
00063                                  const SessionComponentCache* pComponentCache,
00064                                  bool bRegardOldSetup) const
00065   {
00066       Superclass::GenerateProfile(profile,pComponentCache,bRegardOldSetup);
00067   };
00068 
00069 };
00070 
00081   freControllerIDMacro(MutualInformationHistogram2DMetricController, "Mutual Information Histogram 2D Metric");
00082 class MutualInformationHistogram2DMetricController : public MutualInformationHistogramMetricControllerBase<InternalImage2DType>
00083 {
00084 public:  
00085   itkTypeMacro(MutualInformationHistogram2DMetricController, MutualInformationHistogramMetricControllerBase);
00086 
00087   MutualInformationHistogram2DMetricController();
00088 };
00089 
00100   freControllerIDMacro(MutualInformationHistogram3DMetricController, "Mutual Information Histogram 3D Metric");
00101 class MutualInformationHistogram3DMetricController : public MutualInformationHistogramMetricControllerBase<InternalImage3DType>
00102 {
00103 public:  
00104   itkTypeMacro(MutualInformationHistogram3DMetricController, MutualInformationHistogramMetricControllerBase);
00105 
00106   MutualInformationHistogram3DMetricController();
00107 };
00108 
00109 } //end of namespace free
00110 
00111 #endif

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