14 #ifndef __itkPatternIntensityImageToImageMetric_h
15 #define __itkPatternIntensityImageToImageMetric_h
20 #include "itkCastImageFilter.h"
21 #include "itkResampleImageFilter.h"
22 #include "itkMultiplyByConstantImageFilter.h"
23 #include "itkSubtractImageFilter.h"
24 #include "itkOptimizer.h"
25 #include "itkRescaleIntensityImageFilter.h"
40 template <
class TFixedImage,
class TMovingImage >
78 typedef typename Superclass::RealType
RealType;
110 itkStaticConstMacro( FixedImageDimension,
unsigned int,
111 FixedImageType::ImageDimension );
121 typedef itk::ResampleImageFilter<
123 typedef itk::RescaleIntensityImageFilter<
127 typedef itk::SubtractImageFilter<
131 typedef itk::MultiplyByConstantImageFilter<
136 itkStaticConstMacro( MovingImageDimension,
unsigned int,
137 MovingImageType::ImageDimension );
155 virtual void Initialize(
void) throw ( ExceptionObject );
159 itkGetConstReferenceMacro( Scales, ScalesType );
162 itkSetMacro( NoiseConstant ,
double );
163 itkGetConstReferenceMacro( NoiseConstant,
double );
166 itkSetMacro( OptimizeNormalizationFactor ,
bool );
167 itkGetConstReferenceMacro( OptimizeNormalizationFactor,
bool );
171 virtual ~PatternIntensityImageToImageMetric() {};
172 void PrintSelf(std::ostream& os, Indent indent)
const;
175 MeasureType ComputePIFixed(
void )
const;
178 MeasureType ComputePIDiff(
const TransformParametersType ¶meters,
float scalingfactor )
const;
182 void operator=(
const Self&);
202 #ifndef ITK_MANUAL_INSTANTIATION
203 #include "itkPatternIntensityImageToImageMetric.hxx"
206 #endif // end #ifndef __itkPatternIntensityImageToImageMetric_h