18 #ifndef __itkMattesMutualInformationImageToImageMetric_h
19 #define __itkMattesMutualInformationImageToImageMetric_h
113 template <
class TFixedImage,
class TMovingImage>
157 itkStaticConstMacro(MovingImageDimension,
unsigned int,
158 MovingImageType::ImageDimension);
167 virtual void Initialize(
void)
187 itkGetConstReferenceMacro(NumberOfHistogramBins, SizeValueType);
214 itkSetMacro(UseExplicitPDFDerivatives,
bool);
215 itkGetConstReferenceMacro(UseExplicitPDFDerivatives,
bool);
216 itkBooleanMacro(UseExplicitPDFDerivatives);
230 const typename JointPDFType::
Pointer GetJointPDF ()
const
232 if( this->m_PerThread ==
NULL )
236 return this->m_PerThread[0].JointPDF;
248 if( this->m_PerThread ==
NULL )
252 return this->m_PerThread[0].JointPDFDerivatives;
260 void PrintSelf(std::ostream & os,
Indent indent)
const;
267 void operator=(
const Self &);
286 void ComputePDFDerivatives(
ThreadIdType threadID,
unsigned int sampleNumber,
int movingImageParzenWindowIndex,
288 & movingImageGradientValue,
291 virtual void GetValueThreadPreProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
292 virtual void GetValueThreadPostProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
296 double movingImageValue)
const;
298 virtual void GetValueAndDerivativeThreadPreProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
299 virtual void GetValueAndDerivativeThreadPostProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
304 movingImageGradientValue)
const;
349 itkAlignedTypedef( ITK_CACHE_LINE_ALIGNMENT,
PerThreadS, AlignedPerThreadType );
357 #ifndef ITK_MANUAL_INSTANTIATION
358 #include "itkMattesMutualInformationImageToImageMetric.hxx"