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: freConstrainedAccuracySOMetric.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 __freConstrainedAccuracySOMetric_h 00023 #define __freConstrainedAccuracySOMetric_h 00024 00025 #include "freSetupOptimizationMetric.h" 00026 #include "freConstrainedMetricInterface.h" 00027 #include "freIDPath.h" 00028 00029 #include "freSetupParameterConstraints.h" 00030 00031 namespace FREE 00032 { 00033 00084 template <unsigned int VImageDimension> 00085 class ITK_EXPORT ConstrainedAccuracySOMetric : 00086 public AccuracySOMetric<VImageDimension>, public ConstrainedMetricInterface 00087 { 00088 public: 00090 typedef ConstrainedAccuracySOMetric<VImageDimension> Self; 00091 typedef AccuracySOMetric<VImageDimension> Superclass; 00092 typedef itk::SmartPointer<Self> Pointer; 00093 typedef itk::SmartPointer<const Self> ConstPointer; 00094 typedef typename Superclass::DecomposedMeasureType DecomposedMeasureType; 00096 itkTypeMacro( ConstrainedAccuracySOMetric, AccuracySOMetric ); 00097 00098 itkNewMacro( Self ); 00099 00100 virtual unsigned int GetNumberOfValues(void) const {return Superclass::GetNumberOfValues() + GetNumberOfConstrainedValues();}; 00101 00102 protected: 00103 typedef typename SetupOptimizationMetric::ParametersType ParametersType; 00104 00105 ConstrainedAccuracySOMetric(); 00106 00107 virtual DecomposedMeasureType ComputeDecomposedValue( const ParametersType & parameters ) const; 00108 00109 private: 00110 ConstrainedAccuracySOMetric(const Self&); //purposely not implemented 00111 void operator=(const Self&); //purposely not implemented 00112 }; 00113 00114 } // end namespace FREE 00115 00116 #ifndef ITK_MANUAL_INSTANTIATION 00117 #include "freConstrainedAccuracySOMetric.txx" 00118 #endif 00119 00120 #endif 00121 00122 00123
1.5.3 written by Dimitri van Heesch,
© 1997-2000