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: freDifferenceHistogramMetricControllerBase.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 __freDifferenceHistogramMetricControllerBase_h 00023 #define __freDifferenceHistogramMetricControllerBase_h 00024 00025 #include "freImageToImageMetricControllerBase.h" 00026 00027 #include "freDifferenceHistogramImageToImageMetric.h" 00028 00029 namespace FREE 00030 { 00031 00041 freControllerIDMacro(DifferenceHistogramMetricControllerBase, "DifferenceHistogramMetricBase") 00042 template <class TMetric> 00043 class DifferenceHistogramMetricControllerBase : public ImageToImageMetricControllerBase< TMetric > 00044 { 00045 public: 00046 typedef TMetric ComponentType; 00047 typedef ImageToImageMetricControllerBase<ComponentType> Superclass; 00048 typedef DifferenceHistogramMetricControllerBase<TMetric> Self; 00049 00050 itkTypeMacro( DifferenceHistogramMetricControllerBase, ImageToImageMetricControllerBase); 00051 00052 DeclareParameterMacro(MaskedMinimum); 00053 DeclareParameterMacro(MaskedMaximum); 00054 DeclareParameterMacro(UseMask); 00055 DeclareParameterMacro(UpperBoundIncreaseFactor); 00056 DeclareParameterMacro(DerivativeStepLength); 00057 DeclareParameterMacro(HistogramSize); 00058 00059 protected: 00060 DifferenceHistogramMetricControllerBase(); 00061 00062 virtual void GenerateProfile(CtrlProfile::ControllerProfile& profile, 00063 const SessionComponentCache* pComponentCache, 00064 bool bRegardOldSetup) const; 00065 00066 virtual void ActualizeMainComponent(ComponentType* pMainComponent, 00067 SessionComponentCache* pComponentCache, 00068 SessionInfo* pSessionInfo, 00069 const unsigned int& iActLevel) const; 00070 00071 }; 00072 00073 } //end of namespace free 00074 00075 #ifndef ITK_MANUAL_INSTANTIATION 00076 #include "freDifferenceHistogramMetricControllerBase.txx" 00077 #endif 00078 00079 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000