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)
186 itkGetConstReferenceMacro(NumberOfHistogramBins, SizeValueType);
213 itkSetMacro(UseExplicitPDFDerivatives,
bool);
214 itkGetConstReferenceMacro(UseExplicitPDFDerivatives,
bool);
215 itkBooleanMacro(UseExplicitPDFDerivatives);
229 const typename JointPDFType::
Pointer GetJointPDF ()
const
231 if( this->m_PerThread ==
NULL )
235 return this->m_PerThread[0].JointPDF;
247 if( this->m_PerThread ==
NULL )
251 return this->m_PerThread[0].JointPDFDerivatives;
259 void PrintSelf(std::ostream & os,
Indent indent)
const;
266 void operator=(
const Self &);
285 void ComputePDFDerivatives(
ThreadIdType threadID,
unsigned int sampleNumber,
int movingImageParzenWindowIndex,
287 & movingImageGradientValue,
290 virtual void GetValueThreadPreProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
291 virtual void GetValueThreadPostProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
295 double movingImageValue)
const;
297 virtual void GetValueAndDerivativeThreadPreProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
298 virtual void GetValueAndDerivativeThreadPostProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
303 movingImageGradientValue)
const;
348 itkAlignedTypedef( ITK_CACHE_LINE_ALIGNMENT,
PerThreadS, AlignedPerThreadType );
356 #ifndef ITK_MANUAL_INSTANTIATION
357 #include "itkMattesMutualInformationImageToImageMetric.hxx"