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: freDifferenceEnergyImageToImageMetric.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 __freDifferenceEnergyImageToImageMetric_h 00023 #define __freDifferenceEnergyImageToImageMetric_h 00024 00025 #include "itkHistogram.h" 00026 #include "freDifferenceHistogramImageToImageMetric.h" 00027 00028 namespace itk 00029 { 00041 template <class TFixedImage, class TMovingImage, class TDifImage> 00042 class ITK_EXPORT DifferenceEnergyImageToImageMetric : 00043 public DifferenceHistogramImageToImageMetric<TFixedImage, TMovingImage, TDifImage> 00044 { 00045 public: 00047 typedef DifferenceEnergyImageToImageMetric Self; 00048 typedef DifferenceHistogramImageToImageMetric<TFixedImage, TMovingImage, TDifImage> Superclass; 00049 typedef SmartPointer<Self> Pointer; 00050 typedef SmartPointer<const Self> ConstPointer; 00051 00053 itkNewMacro(Self); 00054 00056 itkTypeMacro(DifferenceEnergyImageToImageMetric, 00057 DifferenceHistogramImageToImageMetric); 00058 00060 typedef typename Superclass::RealType RealType; 00061 typedef typename Superclass::TransformType TransformType; 00062 typedef typename Superclass::TransformPointer TransformPointer; 00063 typedef typename Superclass::TransformParametersType TransformParametersType; 00064 typedef typename Superclass::TransformJacobianType TransformJacobianType; 00065 typedef typename Superclass::GradientPixelType GradientPixelType; 00066 00067 typedef typename Superclass::MeasureType MeasureType; 00068 typedef typename Superclass::DerivativeType DerivativeType; 00069 typedef typename Superclass::FixedImageType FixedImageType; 00070 typedef typename Superclass::MovingImageType MovingImageType; 00071 typedef typename Superclass::FixedImageConstPointer FixedImageConstPointer; 00072 typedef typename Superclass::MovingImageConstPointer MovingImageConstPointer; 00073 typedef TDifImage DifferenceImageType; 00074 typedef typename DifferenceImageType::PixelType DifferenceImagePixelType; 00075 00076 typedef typename Superclass::HistogramType HistogramType; 00077 typedef typename HistogramType::FrequencyType HistogramFrequencyType; 00078 typedef typename HistogramType::Iterator HistogramIteratorType; 00079 typedef typename HistogramType::MeasurementVectorType HistogramMeasurementVectorType; 00080 00081 protected: 00084 DifferenceEnergyImageToImageMetric(){} 00085 virtual ~DifferenceEnergyImageToImageMetric(){} 00086 00088 virtual MeasureType EvaluateMeasure(HistogramType& histogram) const; 00089 00090 private: 00091 DifferenceEnergyImageToImageMetric(Self const&); // Purposely not implemented. 00092 void operator=(Self const&); // Purposely not implemented. 00093 }; 00094 00095 } // end namespace itk 00096 00097 #ifndef ITK_MANUAL_INSTANTIATION 00098 #include "freDifferenceEnergyImageToImageMetric.txx" 00099 #endif 00100 00101 #endif // __freDifferenceEnergyImageToImageMetric_h
1.5.3 written by Dimitri van Heesch,
© 1997-2000