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_ThreaderJointPDF.size() == 0 )
235 return this->m_ThreaderJointPDF[0];
247 if( this->m_ThreaderJointPDFDerivatives.size() == 0 )
251 return this->m_ThreaderJointPDFDerivatives[0];
258 void PrintSelf(std::ostream & os,
Indent indent)
const;
265 void operator=(
const Self &);
284 void ComputePDFDerivatives(
ThreadIdType threadID,
unsigned int sampleNumber,
int movingImageParzenWindowIndex,
286 & movingImageGradientValue,
289 virtual void GetValueThreadPreProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
290 virtual void GetValueThreadPostProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
294 double movingImageValue)
const;
296 virtual void GetValueAndDerivativeThreadPreProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
297 virtual void GetValueAndDerivativeThreadPostProcess(
ThreadIdType threadID,
bool withinSampleThread)
const;
302 movingImageGradientValue)
const;
346 #ifndef ITK_MANUAL_INSTANTIATION
347 #include "itkMattesMutualInformationImageToImageMetric.hxx"