freMeanSquaresMetricController.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: freMeanSquaresMetricController.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 __freMeanSquaresMetricController_h
00023 #define __freMeanSquaresMetricController_h
00024 
00025 #include "freImageToImageMetricControllerBase.h"
00026 
00027 #include "itkMeanSquaresImageToImageMetric.h"
00028 
00029 namespace FREE
00030 {
00031 
00039   freControllerIDMacro(MeanSquaresMetricControllerBase, "MeanSquaresMetricControllerBase");
00040 template <class TControlledMetric>
00041 class MeanSquaresMetricControllerBase : public ImageToImageMetricControllerBase< TControlledMetric >
00042 {
00043 public:  
00044   typedef TControlledMetric ComponentType;
00045   typedef ImageToImageMetricControllerBase<TControlledMetric> Superclass;
00046 
00047   itkTypeMacro(MeanSquaresMetricControllerBase, ImageToImageMetricControllerBase);
00048 
00049 protected:
00050   MeanSquaresMetricControllerBase()
00051   {
00052     this->UpdateControllerID(ControllerID::MeanSquaresMetricControllerBase);
00053     this->m_Description = "Base class for metric controller; not for practical use.";
00054   };
00055 };
00056 
00057 
00067   freControllerIDMacro(MeanSquares2DMetricController, "Mean Squares 2D Metric");
00068 class MeanSquares2DMetricController : public MeanSquaresMetricControllerBase< itk::MeanSquaresImageToImageMetric<InternalImage2DType,InternalImage2DType> >
00069 {
00070 public:  
00071   typedef itk::MeanSquaresImageToImageMetric<InternalImage2DType,InternalImage2DType> ComponentType;
00072   typedef MeanSquaresMetricControllerBase<ComponentType> Superclass;
00073 
00074   itkTypeMacro(MeanSquares2DMetricController, MeanSquaresMetricControllerBase);
00075 
00076   MeanSquares2DMetricController();
00077 
00078 };
00079 
00089   freControllerIDMacro(MeanSquares3DMetricController, "Mean Squares 3D Metric");
00090 class MeanSquares3DMetricController : public MeanSquaresMetricControllerBase< itk::MeanSquaresImageToImageMetric<InternalImage3DType,InternalImage3DType> >
00091 {
00092 public:  
00093   typedef itk::MeanSquaresImageToImageMetric<InternalImage3DType,InternalImage3DType> ComponentType;
00094   typedef MeanSquaresMetricControllerBase<ComponentType> Superclass;
00095 
00096   itkTypeMacro(MeanSquares3DMetricController, MeanSquaresMetricControllerBase);
00097 
00098   MeanSquares3DMetricController();
00099 
00100 };
00101 
00102 } //end of namespace free
00103 
00104 #endif

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