![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
00001 /*====================================================================== 00002 00003 This file is part of the elastix software. 00004 00005 Copyright (c) University Medical Center Utrecht. All rights reserved. 00006 See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for 00007 details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notices for more information. 00012 00013 ======================================================================*/ 00014 00015 #ifndef __elxAdvancedKappaStatisticMetric_H__ 00016 #define __elxAdvancedKappaStatisticMetric_H__ 00017 00018 #include "elxIncludes.h" 00019 #include "itkAdvancedKappaStatisticImageToImageMetric.h" 00020 00021 #include "elxTimer.h" 00022 00023 namespace elastix 00024 { 00025 using namespace itk; 00026 00047 template <class TElastix > 00048 class AdvancedKappaStatisticMetric: 00049 public 00050 AdvancedKappaStatisticImageToImageMetric< 00051 ITK_TYPENAME MetricBase<TElastix>::FixedImageType, 00052 ITK_TYPENAME MetricBase<TElastix>::MovingImageType >, 00053 public MetricBase<TElastix> 00054 { 00055 public: 00056 00058 typedef AdvancedKappaStatisticMetric Self; 00059 typedef AdvancedKappaStatisticImageToImageMetric< 00060 typename MetricBase<TElastix>::FixedImageType, 00061 typename MetricBase<TElastix>::MovingImageType > Superclass1; 00062 typedef MetricBase<TElastix> Superclass2; 00063 typedef SmartPointer<Self> Pointer; 00064 typedef SmartPointer<const Self> ConstPointer; 00065 00067 itkNewMacro( Self ); 00068 00070 itkTypeMacro( AdvancedKappaStatisticMetric, AdvancedKappaStatisticImageToImageMetric ); 00071 00076 elxClassNameMacro( "AdvancedKappaStatistic" ); 00077 00079 typedef typename 00080 Superclass1::CoordinateRepresentationType CoordinateRepresentationType; 00081 typedef typename Superclass1::MovingImageType MovingImageType; 00082 typedef typename Superclass1::MovingImagePixelType MovingImagePixelType; 00083 typedef typename Superclass1::MovingImageConstPointer MovingImageConstPointer; 00084 typedef typename Superclass1::FixedImageType FixedImageType; 00085 typedef typename Superclass1::FixedImageConstPointer FixedImageConstPointer; 00086 typedef typename Superclass1::FixedImageRegionType FixedImageRegionType; 00087 typedef typename Superclass1::TransformType TransformType; 00088 typedef typename Superclass1::TransformPointer TransformPointer; 00089 typedef typename Superclass1::InputPointType InputPointType; 00090 typedef typename Superclass1::OutputPointType OutputPointType; 00091 typedef typename Superclass1::TransformParametersType TransformParametersType; 00092 typedef typename Superclass1::TransformJacobianType TransformJacobianType; 00093 typedef typename Superclass1::InterpolatorType InterpolatorType; 00094 typedef typename Superclass1::InterpolatorPointer InterpolatorPointer; 00095 typedef typename Superclass1::RealType RealType; 00096 typedef typename Superclass1::GradientPixelType GradientPixelType; 00097 typedef typename Superclass1::GradientImageType GradientImageType; 00098 typedef typename Superclass1::GradientImagePointer GradientImagePointer; 00099 typedef typename Superclass1::GradientImageFilterType GradientImageFilterType; 00100 typedef typename Superclass1::GradientImageFilterPointer GradientImageFilterPointer; 00101 typedef typename Superclass1::FixedImageMaskType FixedImageMaskType; 00102 typedef typename Superclass1::FixedImageMaskPointer FixedImageMaskPointer; 00103 typedef typename Superclass1::MovingImageMaskType MovingImageMaskType; 00104 typedef typename Superclass1::MovingImageMaskPointer MovingImageMaskPointer; 00105 typedef typename Superclass1::MeasureType MeasureType; 00106 typedef typename Superclass1::DerivativeType DerivativeType; 00107 typedef typename Superclass1::ParametersType ParametersType; 00108 typedef typename Superclass1::FixedImagePixelType FixedImagePixelType; 00109 typedef typename Superclass1::MovingImageRegionType MovingImageRegionType; 00110 typedef typename Superclass1::ImageSamplerType ImageSamplerType; 00111 typedef typename Superclass1::ImageSamplerPointer ImageSamplerPointer; 00112 typedef typename Superclass1::ImageSampleContainerType ImageSampleContainerType; 00113 typedef typename 00114 Superclass1::ImageSampleContainerPointer ImageSampleContainerPointer; 00115 typedef typename Superclass1::FixedImageLimiterType FixedImageLimiterType; 00116 typedef typename Superclass1::MovingImageLimiterType MovingImageLimiterType; 00117 typedef typename 00118 Superclass1::FixedImageLimiterOutputType FixedImageLimiterOutputType; 00119 typedef typename 00120 Superclass1::MovingImageLimiterOutputType MovingImageLimiterOutputType; 00121 typedef typename 00122 Superclass1::MovingImageDerivativeScalesType MovingImageDerivativeScalesType; 00123 00125 itkStaticConstMacro( FixedImageDimension, unsigned int, 00126 FixedImageType::ImageDimension ); 00127 00129 itkStaticConstMacro( MovingImageDimension, unsigned int, 00130 MovingImageType::ImageDimension ); 00131 00133 typedef typename Superclass2::ElastixType ElastixType; 00134 typedef typename Superclass2::ElastixPointer ElastixPointer; 00135 typedef typename Superclass2::ConfigurationType ConfigurationType; 00136 typedef typename Superclass2::ConfigurationPointer ConfigurationPointer; 00137 typedef typename Superclass2::RegistrationType RegistrationType; 00138 typedef typename Superclass2::RegistrationPointer RegistrationPointer; 00139 typedef typename Superclass2::ITKBaseType ITKBaseType; 00140 00142 typedef tmr::Timer TimerType; 00144 typedef TimerType::Pointer TimerPointer; 00145 00149 virtual void Initialize(void) throw (ExceptionObject); 00150 00156 virtual void BeforeRegistration( void ); 00157 00162 virtual void BeforeEachResolution(void); 00163 00164 protected: 00165 00167 AdvancedKappaStatisticMetric(){}; 00169 virtual ~AdvancedKappaStatisticMetric() {} 00170 00171 private: 00172 00174 AdvancedKappaStatisticMetric( const Self& );// purposely not implemented 00176 void operator=( const Self& ); // purposely not implemented 00177 00178 }; // end class AdvancedKappaStatisticMetric 00179 00180 00181 } // end namespace elastix 00182 00183 00184 #ifndef ITK_MANUAL_INSTANTIATION 00185 #include "elxAdvancedKappaStatisticMetric.hxx" 00186 #endif 00187 00188 #endif // end #ifndef __elxAdvancedKappaStatisticMetric_H__ 00189
Generated on 11-05-2012 for elastix by ![]() |
![]() |