00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
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 }
00103
00104 #endif