00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __freNormalizedCorrelationMetricController_h
00023 #define __freNormalizedCorrelationMetricController_h
00024
00025 #include "freImageToImageMetricControllerBase.h"
00026
00027 #include "itkNormalizedCorrelationImageToImageMetric.h"
00028
00029 namespace FREE
00030 {
00031
00039 freControllerIDMacro(NormalizedCorrelationMetricControllerBase, "NormalizedCorrelationMetricControllerBase");
00040 template <class TControlledMetric>
00041 class NormalizedCorrelationMetricControllerBase : public ImageToImageMetricControllerBase< TControlledMetric >
00042 {
00043 public:
00044 typedef TControlledMetric ComponentType;
00045 typedef ImageToImageMetricControllerBase<TControlledMetric> Superclass;
00046
00047 itkTypeMacro(NormalizedCorrelationMetricControllerBase, ImageToImageMetricControllerBase);
00048
00049 protected:
00050 NormalizedCorrelationMetricControllerBase()
00051 {
00052 this->UpdateControllerID(ControllerID::NormalizedCorrelationMetricControllerBase);
00053 this->m_Description = "Base class for metric controller; not for practical use.";
00054 };
00055
00056 };
00057
00067 freControllerIDMacro(NormalizedCorrelation2DMetricController, "Normal Correlation 2D Metric");
00068 class NormalizedCorrelation2DMetricController : public NormalizedCorrelationMetricControllerBase< itk::NormalizedCorrelationImageToImageMetric<InternalImage2DType,InternalImage2DType> >
00069 {
00070 public:
00071 typedef itk::NormalizedCorrelationImageToImageMetric<InternalImage2DType,InternalImage2DType> ComponentType;
00072 typedef NormalizedCorrelationMetricControllerBase<ComponentType> Superclass;
00073
00074 itkTypeMacro(NormalizedCorrelation2DMetricController, NormalizedCorrelationMetricControllerBase);
00075
00076 NormalizedCorrelation2DMetricController();
00077
00078 };
00079
00089 freControllerIDMacro(NormalizedCorrelation3DMetricController, "Normal Correlation 3D Metric");
00090 class NormalizedCorrelation3DMetricController : public NormalizedCorrelationMetricControllerBase< itk::NormalizedCorrelationImageToImageMetric<InternalImage3DType,InternalImage3DType> >
00091 {
00092 public:
00093 typedef itk::NormalizedCorrelationImageToImageMetric<InternalImage3DType,InternalImage3DType> ComponentType;
00094 typedef NormalizedCorrelationMetricControllerBase<ComponentType> Superclass;
00095
00096 itkTypeMacro(NormalizedCorrelation3DMetricController, NormalizedCorrelationMetricControllerBase);
00097
00098 NormalizedCorrelation3DMetricController();
00099
00100 };
00101
00102 }
00103
00104 #endif