Orfeo Toolbox  3.16
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference

Computes the mutual information between two images to be registered using the method of Mattes et al. More...

#include <itkMattesMutualInformationImageToImageMetric.h>

+ Inheritance diagram for itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >:
+ Collaboration diagram for itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >:

List of all members.

Public Types

typedef
Superclass::BSplineTransformIndexArrayType 
BSplineTransformIndexArrayType
typedef
Superclass::BSplineTransformWeightsType 
BSplineTransformWeightsType
typedef SmartPointer< const SelfConstPointer
typedef SmartPointer< const SelfConstPointer
typedef
Superclass::CoordinateRepresentationType 
CoordinateRepresentationType
typedef
Superclass::CoordinateRepresentationType 
CoordinateRepresentationType
typedef Superclass::DerivativeType DerivativeType
typedef Superclass::DerivativeType DerivativeType
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointer
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointer
typedef std::vector
< FixedImageIndexType
FixedImageIndexContainer
typedef FixedImageType::IndexType FixedImageIndexType
typedef
FixedImageIndexType::IndexValueType 
FixedImageIndexValueType
typedef
FixedImageMaskType::ConstPointer 
FixedImageMaskConstPointer
typedef
FixedImageMaskType::ConstPointer 
FixedImageMaskConstPointer
typedef FixedImageMaskType::Pointer FixedImageMaskPointer
typedef FixedImageMaskType::Pointer FixedImageMaskPointer
typedef SpatialObject
< itkGetStaticConstMacro(FixedImageDimension) > 
FixedImageMaskType
typedef SpatialObject
< itkGetStaticConstMacro(FixedImageDimension) > 
FixedImageMaskType
typedef TFixedImage::PixelType FixedImagePixelType
typedef
TransformType::InputPointType 
FixedImagePointType
typedef FixedImageType::RegionType FixedImageRegionType
typedef FixedImageType::RegionType FixedImageRegionType
typedef
Superclass::FixedImageSampleContainer 
FixedImageSampleContainer
typedef Superclass::FixedImageType FixedImageType
typedef Superclass::FixedImageType FixedImageType
typedef
GradientImageFilterType::Pointer 
GradientImageFilterPointer
typedef
GradientImageFilterType::Pointer 
GradientImageFilterPointer
typedef
GradientRecursiveGaussianImageFilter
< MovingImageType,
GradientImageType
GradientImageFilterType
typedef
GradientRecursiveGaussianImageFilter
< MovingImageType,
GradientImageType
GradientImageFilterType
typedef SmartPointer
< GradientImageType
GradientImagePointer
typedef SmartPointer
< GradientImageType
GradientImagePointer
typedef Image
< GradientPixelType,
itkGetStaticConstMacro(MovingImageDimension)> 
GradientImageType
typedef Image
< GradientPixelType,
itkGetStaticConstMacro(MovingImageDimension)> 
GradientImageType
typedef CovariantVector
< RealType,
itkGetStaticConstMacro(MovingImageDimension)> 
GradientPixelType
typedef CovariantVector
< RealType,
itkGetStaticConstMacro(MovingImageDimension)> 
GradientPixelType
typedef
Superclass::ImageDerivativesType 
ImageDerivativesType
typedef Superclass::IndexValueType IndexValueType
typedef Superclass::InputPointType InputPointType
typedef InterpolatorType::Pointer InterpolatorPointer
typedef InterpolatorType::Pointer InterpolatorPointer
typedef
Superclass::InterpolatorType 
InterpolatorType
typedef
Superclass::InterpolatorType 
InterpolatorType
typedef Superclass::MeasureType MeasureType
typedef Superclass::MeasureType MeasureType
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointer
typedef
Superclass::MovingImageConstPointer 
MovingImageCosntPointer
typedef MovingImageType::IndexType MovingImageIndexType
typedef
MovingImageMaskType::ConstPointer 
MovingImageMaskConstPointer
typedef
MovingImageMaskType::ConstPointer 
MovingImageMaskConstPointer
typedef
MovingImageMaskType::Pointer 
MovingImageMaskPointer
typedef
MovingImageMaskType::Pointer 
MovingImageMaskPointer
typedef SpatialObject
< itkGetStaticConstMacro(MovingImageDimension) > 
MovingImageMaskType
typedef SpatialObject
< itkGetStaticConstMacro(MovingImageDimension) > 
MovingImageMaskType
typedef TMovingImage::PixelType MovingImagePixelType
typedef TMovingImage::PixelType MovingImagePixelType
typedef
Superclass::MovingImagePointType 
MovingImagePointType
typedef
TransformType::OutputPointType 
MovingImagePointType
typedef Superclass::MovingImageType MovingImageType
typedef Superclass::MovingImageType MovingImageType
typedef MultiThreader MultiThreaderType
typedef
FixedImageType::OffsetValueType 
OffsetValueType
typedef
FixedImageType::OffsetValueType 
OffsetValueType
typedef Superclass::OutputPointType OutputPointType
typedef Superclass::ParametersType ParametersType
typedef Superclass::ParametersType ParametersType
typedef double ParametersValueType
typedef SmartPointer< SelfPointer
typedef SmartPointer< SelfPointer
typedef NumericTraits
< MovingImagePixelType >
::RealType 
RealType
typedef NumericTraits
< MovingImagePixelType >
::RealType 
RealType
typedef
MattesMutualInformationImageToImageMetric 
Self
typedef
MattesMutualInformationImageToImageMetric 
Self
typedef ImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
typedef ImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
typedef
Superclass::TransformJacobianType 
TransformJacobianType
typedef
Superclass::TransformJacobianType 
TransformJacobianType
typedef
TransformType::ParametersType 
TransformParametersType
typedef
TransformType::ParametersType 
TransformParametersType
typedef
Superclass::TransformPointer 
TransformPointer
typedef
Superclass::TransformPointer 
TransformPointer
typedef Superclass::TransformType TransformType
typedef Superclass::TransformType TransformType
typedef
Superclass::WeightsValueType 
WeightsValueType

Public Member Functions

unsigned long AddObserver (const EventObject &event, Command *)
unsigned long AddObserver (const EventObject &event, Command *) const
virtual void ComputeGradient ()
virtual void ComputeGradient (void)
virtual void ComputeGradientOff ()
virtual void ComputeGradientOff ()
virtual void ComputeGradientOn ()
virtual void ComputeGradientOn ()
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual void DebugOff () const
virtual void DebugOn () const
virtual void Delete ()
CommandGetCommand (unsigned long tag)
virtual const bool & GetComputeGradient ()
virtual const bool & GetComputeGradient ()
bool GetDebug () const
void GetDerivative (const ParametersType &parameters, DerivativeType &Derivative) const
void GetDerivative (const ParametersType &parameters, DerivativeType &Derivative) const
virtual const FixedImageTypeGetFixedImage ()
virtual const FixedImageTypeGetFixedImage ()
virtual const FixedImageMaskTypeGetFixedImageMask ()
virtual const FixedImageMaskTypeGetFixedImageMask ()
virtual const
FixedImageRegionType
GetFixedImageRegion ()
virtual const
FixedImageRegionType
GetFixedImageRegion ()
virtual const FixedImagePixelTypeGetFixedImageSamplesIntensityThreshold ()
virtual const GradientImageTypeGetGradientImage ()
virtual const GradientImageTypeGetGradientImage ()
virtual const InterpolatorTypeGetInterpolator ()
virtual const InterpolatorTypeGetInterpolator ()
MetaDataDictionaryGetMetaDataDictionary (void)
const MetaDataDictionaryGetMetaDataDictionary (void) const
virtual const MovingImageTypeGetMovingImage ()
virtual const MovingImageTypeGetMovingImage ()
virtual const MovingImageMaskTypeGetMovingImageMask ()
virtual const MovingImageMaskTypeGetMovingImageMask ()
virtual unsigned long GetMTime () const
virtual const char * GetNameOfClass () const
virtual const char * GetNameOfClass () const
virtual const unsigned long & GetNumberOfFixedImageSamples ()
virtual const unsigned long & GetNumberOfHistogramBins ()
virtual const unsigned long & GetNumberOfHistogramBins ()
unsigned long GetNumberOfMovingImageSamples (void)
unsigned int GetNumberOfParameters (void) const
unsigned int GetNumberOfParameters (void) const
virtual const unsigned long & GetNumberOfPixelsCounted ()
virtual const unsigned long & GetNumberOfPixelsCounted ()
virtual const unsigned long & GetNumberOfSpatialSamples ()
virtual const unsigned int & GetNumberOfThreads ()
virtual int GetReferenceCount () const
virtual const MultiThreaderTypeGetThreader ()
const TransformPointerGetThreaderTransform ()
virtual const TransformTypeGetTransform ()
virtual const TransformTypeGetTransform ()
virtual const bool & GetUseAllPixels ()
virtual const bool & GetUseCachingOfBSplineWeights ()
virtual const bool & GetUseExplicitPDFDerivatives ()
virtual const bool & GetUseExplicitPDFDerivatives ()
virtual const bool & GetUseFixedImageIndexes ()
virtual const bool & GetUseFixedImageSamplesIntensityThreshold ()
virtual const bool & GetUseSequentialSampling ()
MeasureType GetValue (const ParametersType &parameters) const
MeasureType GetValue (const ParametersType &parameters) const
virtual void GetValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
void GetValueAndDerivative (const ParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
void GetValueAndDerivative (const ParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const
bool HasObserver (const EventObject &event) const
virtual void Initialize (void) throw ( ExceptionObject )
virtual void Initialize (void) throw ( ExceptionObject )
void InvokeEvent (const EventObject &)
void InvokeEvent (const EventObject &) const
virtual void Modified () const
virtual void MultiThreadingInitialize (void) throw ( ExceptionObject )
void Print (std::ostream &os, Indent indent=0) const
virtual void Register () const
void ReinitializeSeed ()
void ReinitializeSeed (int)
void RemoveAllObservers ()
void RemoveObserver (unsigned long tag)
virtual void SetComputeGradient (bool _arg)
virtual void SetComputeGradient (bool _arg)
void SetDebug (bool debugFlag) const
virtual void SetFixedImage (const FixedImageType *_arg)
virtual void SetFixedImage (const FixedImageType *_arg)
void SetFixedImageIndexes (const FixedImageIndexContainer &indexes)
virtual void SetFixedImageMask (FixedImageMaskType *_arg)
virtual void SetFixedImageMask (const FixedImageMaskType *mask)
virtual void SetFixedImageMask (FixedImageMaskType *_arg)
virtual void SetFixedImageMask (const FixedImageMaskType *_arg)
virtual void SetFixedImageRegion (FixedImageRegionType _arg)
void SetFixedImageRegion (const FixedImageRegionType reg)
void SetFixedImageSamplesIntensityThreshold (const FixedImagePixelType &thresh)
virtual void SetInterpolator (InterpolatorType *_arg)
virtual void SetInterpolator (InterpolatorType *_arg)
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
virtual void SetMovingImage (const MovingImageType *_arg)
virtual void SetMovingImage (const MovingImageType *_arg)
virtual void SetMovingImageMask (MovingImageMaskType *_arg)
virtual void SetMovingImageMask (const MovingImageMaskType *mask)
virtual void SetMovingImageMask (MovingImageMaskType *_arg)
virtual void SetMovingImageMask (const MovingImageMaskType *_arg)
virtual void SetNumberOfFixedImageSamples (unsigned long numSamples)
virtual void SetNumberOfHistogramBins (unsigned long _arg)
virtual void SetNumberOfHistogramBins (unsigned long _arg)
virtual void SetNumberOfSpatialSamples (unsigned long _arg)
void SetNumberOfThreads (unsigned int numberOfThreads)
virtual void SetReferenceCount (int)
virtual void SetTransform (TransformType *_arg)
virtual void SetTransform (TransformType *_arg)
void SetTransformParameters (const ParametersType &parameters) const
void SetTransformParameters (const ParametersType &parameters) const
virtual void SetUseAllPixels (bool _arg)
virtual void SetUseCachingOfBSplineWeights (bool _arg)
virtual void SetUseExplicitPDFDerivatives (bool _arg)
virtual void SetUseExplicitPDFDerivatives (bool _arg)
void SetUseFixedImageIndexes (bool useIndex)
void SetUseFixedImageSamplesIntensityThreshold (bool useThresh)
void SetUseSequentialSampling (bool sequentialSampling)
virtual void UnRegister () const
virtual void UseAllPixelsOff ()
virtual void UseAllPixelsOn ()
virtual void UseCachingOfBSplineWeightsOff ()
virtual void UseCachingOfBSplineWeightsOn ()
virtual void UseExplicitPDFDerivativesOff ()
virtual void UseExplicitPDFDerivativesOff ()
virtual void UseExplicitPDFDerivativesOn ()
virtual void UseExplicitPDFDerivativesOn ()

Static Public Member Functions

static void BreakOnError ()
static bool GetGlobalWarningDisplay ()
static void GlobalWarningDisplayOff ()
static void GlobalWarningDisplayOn ()
static Pointer New ()
static Pointer New ()
static void SetGlobalWarningDisplay (bool flag)

Static Public Attributes

static const unsigned int MovingImageDimension = MovingImageType::ImageDimension

Protected Types

typedef FixedArray< unsigned
long,::itk::GetImageDimension
< FixedImageType >
::ImageDimension > 
BSplineParametersOffsetType
typedef std::vector
< FixedImageSpatialSample
FixedImageSpatialSampleContainer
typedef int InternalReferenceCountType

Protected Member Functions

 MattesMutualInformationImageToImageMetric ()
 MattesMutualInformationImageToImageMetric ()
virtual ~MattesMutualInformationImageToImageMetric ()
virtual ~MattesMutualInformationImageToImageMetric ()
virtual void ComputeImageDerivatives (const MovingImagePointType &mappedPoint, ImageDerivativesType &gradient, unsigned int threadID) const
void GetValueAndDerivativeMultiThreadedInitiate (void) const
void GetValueAndDerivativeMultiThreadedPostProcessInitiate (void) const
void GetValueAndDerivativeMultiThreadedPreProcessInitiate (void) const
virtual void GetValueAndDerivativeThread (unsigned int threadID) const
void GetValueMultiThreadedInitiate (void) const
void GetValueMultiThreadedPostProcessInitiate (void) const
void GetValueMultiThreadedPreProcessInitiate (void) const
virtual void GetValueThread (unsigned int threadID) const
virtual void PrintHeader (std::ostream &os, Indent indent) const
bool PrintObservers (std::ostream &os, Indent indent) const
void PrintSelf (std::ostream &os, Indent indent) const
void PrintSelf (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
virtual void SampleFixedImageDomain (FixedImageSpatialSampleContainer &samples)
virtual void SampleFixedImageIndexes (FixedImageSampleContainer &samples) const
virtual void SampleFixedImageRegion (FixedImageSampleContainer &samples) const
virtual void SampleFullFixedImageDomain (FixedImageSpatialSampleContainer &samples)
virtual void SampleFullFixedImageRegion (FixedImageSampleContainer &samples) const
virtual void SynchronizeTransforms () const
virtual void TransformPoint (unsigned int sampleNumber, const ParametersType &parameters, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue) const
virtual void TransformPoint (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, unsigned int threadID) const
virtual void TransformPointWithDerivatives (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, ImageDerivativesType &gradient, unsigned int threadID) const

Static Protected Member Functions

static ITK_THREAD_RETURN_TYPE GetValueAndDerivativeMultiThreaded (void *arg)
static ITK_THREAD_RETURN_TYPE GetValueAndDerivativeMultiThreadedPostProcess (void *arg)
static ITK_THREAD_RETURN_TYPE GetValueAndDerivativeMultiThreadedPreProcess (void *arg)
static ITK_THREAD_RETURN_TYPE GetValueMultiThreaded (void *arg)
static ITK_THREAD_RETURN_TYPE GetValueMultiThreadedPostProcess (void *arg)
static ITK_THREAD_RETURN_TYPE GetValueMultiThreadedPreProcess (void *arg)

Protected Attributes

BSplineParametersOffsetType m_BSplineParametersOffset
MovingImagePointArrayType m_BSplinePreTransformPointsArray
BSplineTransformIndexArrayType m_BSplineTransformIndices
BSplineTransformWeightsType m_BSplineTransformWeights
bool m_ComputeGradient
FixedImageConstPointer m_FixedImage
FixedImageIndexContainer m_FixedImageIndexes
FixedImageMaskPointer m_FixedImageMask
FixedImageMaskConstPointer m_FixedImageMask
FixedImageSpatialSampleContainer m_FixedImageSamples
FixedImagePixelType m_FixedImageSamplesIntensityThreshold
GradientImagePointer m_GradientImage
InterpolatorPointer m_Interpolator
MovingImageConstPointer m_MovingImage
MovingImageMaskPointer m_MovingImageMask
MovingImageMaskConstPointer m_MovingImageMask
unsigned long m_NumberOfFixedImageSamples
unsigned long m_NumberOfPixelsCounted
unsigned int m_NumberOfThreads
ParametersType m_Parameters
InternalReferenceCountType m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock
MultiThreaderType::Pointer m_Threader
BSplineTransformIndexArrayTypem_ThreaderBSplineTransformIndices
BSplineTransformWeightsTypem_ThreaderBSplineTransformWeights
unsigned int * m_ThreaderNumberOfMovingImageSamples
MultiThreaderParameterType m_ThreaderParameter
TransformPointerm_ThreaderTransform
TransformPointer m_Transform
bool m_UseFixedImageIndexes
bool m_UseFixedImageSamplesIntensityThreshold
bool m_UseSequentialSampling
BooleanArrayType m_WithinBSplineSupportRegionArray
bool m_WithinThreadPostProcess
bool m_WithinThreadPreProcess

Private Types

enum  { DeformationSplineOrder = 3 }
typedef std::vector< bool > BooleanArrayType
typedef
BSplineInterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType
BSplineInterpolatorType
typedef
BSplineTransformType::ParameterIndexArrayType 
BSplineTransformIndexArrayType
typedef Array2D< IndexValueTypeBSplineTransformIndicesArrayType
typedef
BSplineDeformableTransform
< CoordinateRepresentationType,::itk::GetImageDimension
< FixedImageType >
::ImageDimension,
DeformationSplineOrder
BSplineTransformType
typedef Array2D< WeightsValueTypeBSplineTransformWeightsArrayType
typedef
BSplineTransformType::WeightsType 
BSplineTransformWeightsType
typedef
BSplineDerivativeKernelFunction< 3 > 
CubicBSplineDerivativeFunctionType
typedef
BSplineDerivativeKernelFunction< 3 > 
CubicBSplineDerivativeFunctionType
typedef BSplineKernelFunction< 3 > CubicBSplineFunctionType
typedef BSplineKernelFunction< 3 > CubicBSplineFunctionType
typedef
CentralDifferenceImageFunction
< MovingImageType,
CoordinateRepresentationType
DerivativeFunctionType
typedef CovariantVector
< double,
itkGetStaticConstMacro(MovingImageDimension) > 
ImageDerivativesType
typedef
BSplineTransformIndexArrayType::ValueType 
IndexValueType
typedef
JointPDFDerivativesType::IndexType 
JointPDFDerivativesIndexType
typedef
JointPDFDerivativesType::IndexType 
JointPDFDerivativesIndexType
typedef
JointPDFDerivativesType::RegionType 
JointPDFDerivativesRegionType
typedef
JointPDFDerivativesType::RegionType 
JointPDFDerivativesRegionType
typedef
JointPDFDerivativesType::SizeType 
JointPDFDerivativesSizeType
typedef
JointPDFDerivativesType::SizeType 
JointPDFDerivativesSizeType
typedef Image< PDFValueType, 3 > JointPDFDerivativesType
typedef Image< PDFValueType, 3 > JointPDFDerivativesType
typedef
JointPDFDerivativesType::PixelType 
JointPDFDerivativesValueType
typedef
JointPDFDerivativesType::PixelType 
JointPDFDerivativesValueType
typedef JointPDFType::IndexType JointPDFIndexType
typedef JointPDFType::IndexType JointPDFIndexType
typedef JointPDFType::RegionType JointPDFRegionType
typedef JointPDFType::RegionType JointPDFRegionType
typedef JointPDFType::SizeType JointPDFSizeType
typedef JointPDFType::SizeType JointPDFSizeType
typedef Image< PDFValueType, 2 > JointPDFType
typedef Image< PDFValueType, 2 > JointPDFType
typedef JointPDFType::PixelType JointPDFValueType
typedef JointPDFType::PixelType JointPDFValueType
typedef float * MarginalPDFType
typedef std::vector< PDFValueTypeMarginalPDFType
typedef std::vector
< MovingImagePointType
MovingImagePointArrayType
typedef FixedArray< unsigned
long,::itk::GetImageDimension
< FixedImageType >
::ImageDimension > 
ParametersOffsetType
typedef float PDFValueType
typedef float PDFValueType
typedef Array2D< PRatioTypePRatioArrayType
typedef Array2D< PRatioTypePRatioArrayType
typedef double PRatioType
typedef double PRatioType
typedef
BSplineTransformWeightsType::ValueType 
WeightsValueType

Private Member Functions

 MattesMutualInformationImageToImageMetric (const Self &)
 MattesMutualInformationImageToImageMetric (const Self &)
virtual void ComputeFixedImageParzenWindowIndices (FixedImageSampleContainer &samples)
virtual void ComputeFixedImageParzenWindowIndices (FixedImageSpatialSampleContainer &samples)
virtual void ComputeImageDerivatives (const MovingImagePointType &mappedPoint, ImageDerivativesType &gradient) const
virtual void ComputePDFDerivatives (unsigned int threadID, unsigned int sampleNumber, int movingImageParzenWindowIndex, const ImageDerivativesType &movingImageGradientValue, double cubicBSplineDerivativeValue) const
virtual void ComputePDFDerivatives (unsigned int sampleNumber, int movingImageParzenWindowIndex, const ImageDerivativesType &movingImageGradientValue, double cubicBSplineDerivativeValue) const
virtual void GetValueAndDerivativeThreadPostProcess (unsigned int threadID, bool withinSampleThread) const
virtual void GetValueAndDerivativeThreadPreProcess (unsigned int threadID, bool withinSampleThread) const
virtual bool GetValueAndDerivativeThreadProcessSample (unsigned int threadID, unsigned long fixedImageSample, const MovingImagePointType &mappedPoint, double movingImageValue, const ImageDerivativesType &movingImageGradientValue) const
virtual void GetValueThreadPostProcess (unsigned int threadID, bool withinSampleThread) const
virtual void GetValueThreadPreProcess (unsigned int threadID, bool withinSampleThread) const
virtual bool GetValueThreadProcessSample (unsigned int threadID, unsigned long fixedImageSample, const MovingImagePointType &mappedPoint, double movingImageValue) const
void operator= (const Self &)
void operator= (const Self &)
virtual void PreComputeTransformValues ()

Private Attributes

BSplineInterpolatorType::Pointer m_BSplineInterpolator
BSplineTransformType::Pointer m_BSplineTransform
BSplineTransformIndicesArrayType m_BSplineTransformIndicesArray
BSplineTransformWeightsArrayType m_BSplineTransformWeightsArray
CubicBSplineDerivativeFunctionType::Pointer m_CubicBSplineDerivativeKernel
CubicBSplineFunctionType::Pointer m_CubicBSplineKernel
DerivativeFunctionType::Pointer m_DerivativeCalculator
double m_FixedImageBinSize
MarginalPDFType m_FixedImageMarginalPDF
double m_FixedImageNormalizedMin
double m_FixedImageTrueMax
double m_FixedImageTrueMin
bool m_ImplicitDerivativesSecondPass
BSplineTransformIndexArrayType m_Indices
bool m_InterpolatorIsBSpline
JointPDFType::Pointer m_JointPDF
unsigned long m_JointPDFBufferSize
JointPDFDerivativesType::Pointer m_JointPDFDerivatives
unsigned long m_JointPDFDerivativesBufferSize
double m_JointPDFSum
DerivativeType m_MetricDerivative
double m_MovingImageBinSize
MarginalPDFType m_MovingImageMarginalPDF
double m_MovingImageNormalizedMin
double m_MovingImageTrueMax
double m_MovingImageTrueMin
unsigned long m_NumberOfHistogramBins
unsigned long m_NumberOfParameters
unsigned long m_NumberOfSpatialSamples
unsigned long m_NumBSplineWeights
long m_NumParametersPerDim
ParametersOffsetType m_ParametersOffset
PRatioArrayType m_PRatioArray
MovingImagePointArrayType m_PreTransformPointsArray
int m_RandomSeed
bool m_ReseedIterator
PDFValueTypem_ThreaderFixedImageMarginalPDF
JointPDFType::Pointerm_ThreaderJointPDF
JointPDFDerivativesType::Pointerm_ThreaderJointPDFDerivatives
int * m_ThreaderJointPDFEndBin
int * m_ThreaderJointPDFStartBin
double * m_ThreaderJointPDFSum
DerivativeTypem_ThreaderMetricDerivative
bool m_TransformIsBSpline
bool m_UseAllPixels
bool m_UseCachingOfBSplineWeights
bool m_UseExplicitPDFDerivatives
BSplineTransformWeightsType m_Weights
BooleanArrayType m_WithinSupportRegionArray

Static Private Attributes

static const unsigned int FixedImageDimension = FixedImageType::ImageDimension

Detailed Description

template<class TFixedImage, class TMovingImage>
class itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >

Computes the mutual information between two images to be registered using the method of Mattes et al.

MattesMutualInformationImageToImageMetric computes the mutual information between a fixed and moving image to be registered.

This class is templated over the FixedImage type and the MovingImage type.

The fixed and moving images are set via methods SetFixedImage() and SetMovingImage(). This metric makes use of user specified Transform and Interpolator. The Transform is used to map points from the fixed image to the moving image domain. The Interpolator is used to evaluate the image intensity at user specified geometric points in the moving image. The Transform and Interpolator are set via methods SetTransform() and SetInterpolator().

If a BSplineInterpolationFunction is used, this class obtain image derivatives from the BSpline interpolator. Otherwise, image derivatives are computed using central differencing.

Warning:
This metric assumes that the moving image has already been connected to the interpolator outside of this class.

The method GetValue() computes of the mutual information while method GetValueAndDerivative() computes both the mutual information and its derivatives with respect to the transform parameters.

The calculations are based on the method of Mattes et al [1,2] where the probability density distribution are estimated using Parzen histograms. Since the fixed image PDF does not contribute to the derivatives, it does not need to be smooth. Hence, a zero order (box car) BSpline kernel is used for the fixed image intensity PDF. On the other hand, to ensure smoothness a third order BSpline kernel is used for the moving image intensity PDF.

On Initialize(), the FixedImage is uniformly sampled within the FixedImageRegion. The number of samples used can be set via SetNumberOfSpatialSamples(). Typically, the number of spatial samples used should increase with the image size.

The option UseAllPixelOn() disables the random sampling and uses all the pixels of the FixedImageRegion in order to estimate the joint intensity PDF.

During each call of GetValue(), GetDerivatives(), GetValueAndDerivatives(), marginal and joint intensity PDF's values are estimated at discrete position or bins. The number of bins used can be set via SetNumberOfHistogramBins(). To handle data with arbitray magnitude and dynamic range, the image intensity is scale such that any contribution to the histogram will fall into a valid bin.

One the PDF's have been contructed, the mutual information is obtained by doubling summing over the discrete PDF values.

Notes:

  1. This class returns the negative mutual information value.
  2. This class in not thread safe due the private data structures used to the store the sampled points and the marginal and joint pdfs.

References: [1] "Nonrigid multimodality image registration" D. Mattes, D. R. Haynor, H. Vesselle, T. Lewellen and W. Eubank Medical Imaging 2001: Image Processing, 2001, pp. 1609-1620. [2] "PET-CT Image Registration in the Chest Using Free-form Deformations" D. Mattes, D. R. Haynor, H. Vesselle, T. Lewellen and W. Eubank IEEE Transactions in Medical Imaging. Vol.22, No.1, January 2003. pp.120-128. [3] "Optimization of Mutual Information for MultiResolution Image Registration" P. Thevenaz and M. Unser IEEE Transactions in Image Processing, 9(12) December 2000.

Definition at line 125 of file itkMattesMutualInformationImageToImageMetric.h.


Member Typedef Documentation

template<class TFixedImage, class TMovingImage>
typedef std::vector<bool> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::BooleanArrayType
private
template<class TFixedImage, class TMovingImage>
typedef BSplineInterpolateImageFunction<MovingImageType, CoordinateRepresentationType> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorType
private

Typedefs for using BSpline interpolator.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 406 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef FixedArray< unsigned long, ::itk::GetImageDimension<FixedImageType>::ImageDimension > itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineParametersOffsetType
protectedinherited

Definition at line 448 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::BSplineTransformIndexArrayType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformIndexArrayType
template<class TFixedImage, class TMovingImage>
typedef BSplineTransformType::ParameterIndexArrayType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformIndexArrayType
private
template<class TFixedImage, class TMovingImage>
typedef Array2D<IndexValueType> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformIndicesArrayType
private
template<class TFixedImage, class TMovingImage>
typedef BSplineDeformableTransform< CoordinateRepresentationType, ::itk::GetImageDimension<FixedImageType>::ImageDimension, DeformationSplineOrder> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformType
private
template<class TFixedImage, class TMovingImage>
typedef Array2D<WeightsValueType> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformWeightsArrayType
private
template<class TFixedImage, class TMovingImage>
typedef Superclass::BSplineTransformWeightsType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformWeightsType
template<class TFixedImage, class TMovingImage>
typedef BSplineTransformType::WeightsType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformWeightsType
private
template<class TFixedImage, class TMovingImage>
typedef SmartPointer<const Self> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
template<class TFixedImage, class TMovingImage>
typedef SmartPointer<const Self> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::CoordinateRepresentationType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::CoordinateRepresentationType

Type used for representing point components

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 154 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::CoordinateRepresentationType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::CoordinateRepresentationType

Type used for representing point components

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 158 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef BSplineDerivativeKernelFunction<3> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::CubicBSplineDerivativeFunctionType
private
template<class TFixedImage, class TMovingImage>
typedef BSplineDerivativeKernelFunction<3> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::CubicBSplineDerivativeFunctionType
private
template<class TFixedImage, class TMovingImage>
typedef BSplineKernelFunction<3> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::CubicBSplineFunctionType
private

Typedefs for BSpline kernel and derivative functions.

Definition at line 287 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef BSplineKernelFunction<3> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::CubicBSplineFunctionType
private

Typedefs for BSpline kernel and derivative functions.

Definition at line 373 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef CentralDifferenceImageFunction<MovingImageType, CoordinateRepresentationType> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::DerivativeFunctionType
private

Typedefs for using central difference calculator.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 414 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::DerivativeType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType

Type of the derivative.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 141 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::DerivativeType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType

Type of the derivative.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 148 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageConstPointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageConstPointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef std::vector<FixedImageIndexType> itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexContainer
inherited

Definition at line 112 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef FixedImageType::IndexType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexType

Index and Point typedef support.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 161 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef FixedImageIndexType::IndexValueType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexValueType
template<class TFixedImage , class TMovingImage >
typedef FixedImageMaskType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskConstPointer
inherited

Definition at line 135 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef FixedImageMaskType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskConstPointer
inherited

Definition at line 143 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef FixedImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer
inherited

Definition at line 134 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef FixedImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer
inherited

Definition at line 142 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef SpatialObject< itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType
inherited

Type for the mask of the fixed image. Only pixels that are "inside" this mask will be considered for the computation of the metric

Definition at line 133 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef SpatialObject< itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType
inherited

Type for the mask of the fixed image. Only pixels that are "inside" this mask will be considered for the computation of the metric

Definition at line 141 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef TFixedImage::PixelType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType
inherited
template<class TFixedImage, class TMovingImage>
typedef TransformType::InputPointType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointType
template<class TFixedImage , class TMovingImage >
typedef FixedImageType::RegionType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType
inherited
template<class TFixedImage , class TMovingImage >
typedef FixedImageType::RegionType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType
inherited
template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageSampleContainer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageSampleContainer
template<class TFixedImage, class TMovingImage>
typedef std::vector<FixedImageSpatialSample> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageSpatialSampleContainer
protected

FixedImageSpatialSample typedef support.

Definition at line 297 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType
template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType

Type of the fixed Image.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 150 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef GradientImageFilterType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterPointer
inherited

Definition at line 124 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef GradientImageFilterType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterPointer
inherited

Definition at line 132 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef GradientRecursiveGaussianImageFilter< MovingImageType, GradientImageType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterType
inherited

Definition at line 123 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef GradientRecursiveGaussianImageFilter< MovingImageType, GradientImageType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterType
inherited

Definition at line 131 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef SmartPointer<GradientImageType> itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImagePointer
inherited

Definition at line 120 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef SmartPointer<GradientImageType> itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImagePointer
inherited

Definition at line 128 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Image<GradientPixelType, itkGetStaticConstMacro(MovingImageDimension)> itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageType
inherited
template<class TFixedImage , class TMovingImage >
typedef Image<GradientPixelType, itkGetStaticConstMacro(MovingImageDimension)> itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageType
inherited
template<class TFixedImage , class TMovingImage >
typedef CovariantVector<RealType, itkGetStaticConstMacro(MovingImageDimension)> itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType
inherited
template<class TFixedImage , class TMovingImage >
typedef CovariantVector<RealType, itkGetStaticConstMacro(MovingImageDimension)> itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType
inherited
template<class TFixedImage, class TMovingImage>
typedef Superclass::ImageDerivativesType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ImageDerivativesType
template<class TFixedImage, class TMovingImage>
typedef CovariantVector< double, itkGetStaticConstMacro(MovingImageDimension) > itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ImageDerivativesType
private

Types and variables related to image derivative calculations. If a BSplineInterpolationFunction is used, this class obtain image derivatives from the BSpline interpolator. Otherwise, image derivatives are computed using central differencing.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 393 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::IndexValueType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::IndexValueType
template<class TFixedImage, class TMovingImage>
typedef BSplineTransformIndexArrayType::ValueType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::IndexValueType
private
template<class TFixedImage, class TMovingImage>
typedef Superclass::InputPointType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::InputPointType
typedef int itk::LightObject::InternalReferenceCountType
protectedinherited

Define the type of the reference count according to the target. This allows the use of atomic operations

Definition at line 137 of file itkLightObject.h.

template<class TFixedImage , class TMovingImage >
typedef InterpolatorType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer
inherited
template<class TFixedImage , class TMovingImage >
typedef InterpolatorType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer
inherited
template<class TFixedImage, class TMovingImage>
typedef Superclass::InterpolatorType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType

Type of the Interpolator Base class

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 139 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::InterpolatorType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType

Type of the Interpolator Base class

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 146 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef JointPDFDerivativesType::IndexType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesIndexType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFDerivativesType::IndexType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesIndexType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFDerivativesType::RegionType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesRegionType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFDerivativesType::RegionType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesRegionType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFDerivativesType::SizeType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesSizeType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFDerivativesType::SizeType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesSizeType
private
template<class TFixedImage, class TMovingImage>
typedef Image<PDFValueType,3> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesType
private
template<class TFixedImage, class TMovingImage>
typedef Image<PDFValueType,3> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFDerivativesType::PixelType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesValueType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFDerivativesType::PixelType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFDerivativesValueType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFType::IndexType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFIndexType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFType::IndexType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFIndexType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFType::RegionType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFRegionType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFType::RegionType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFRegionType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFType::SizeType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFSizeType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFType::SizeType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFSizeType
private
template<class TFixedImage, class TMovingImage>
typedef Image<PDFValueType,2> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFType
private

Typedef for the joint PDF and PDF derivatives are stored as ITK Images.

Definition at line 258 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Image<PDFValueType,2> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFType
private

Typedef for the joint PDF and PDF derivatives are stored as ITK Images.

Definition at line 345 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef JointPDFType::PixelType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFValueType
private
template<class TFixedImage, class TMovingImage>
typedef JointPDFType::PixelType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::JointPDFValueType
private
template<class TFixedImage, class TMovingImage>
typedef float* itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MarginalPDFType
private
template<class TFixedImage, class TMovingImage>
typedef std::vector<PDFValueType> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MarginalPDFType
private
template<class TFixedImage, class TMovingImage>
typedef Superclass::MeasureType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MeasureType

Type of the measure.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 140 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MeasureType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MeasureType

Type of the measure.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 147 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageConstPointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageConstPointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MovingImageCosntPointer
template<class TFixedImage, class TMovingImage>
typedef MovingImageType::IndexType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MovingImageIndexType
template<class TFixedImage , class TMovingImage >
typedef MovingImageMaskType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskConstPointer
inherited

Definition at line 143 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef MovingImageMaskType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskConstPointer
inherited

Definition at line 150 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef MovingImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer
inherited

Definition at line 142 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef MovingImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer
inherited

Definition at line 149 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef SpatialObject< itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType
inherited

Type for the mask of the moving image. Only pixels that are "inside" this mask will be considered for the computation of the metric

Definition at line 141 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef SpatialObject< itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType
inherited

Type for the mask of the moving image. Only pixels that are "inside" this mask will be considered for the computation of the metric

Definition at line 148 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef TMovingImage::PixelType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType
inherited
template<class TFixedImage , class TMovingImage >
typedef TMovingImage::PixelType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType
inherited
template<class TFixedImage, class TMovingImage>
typedef std::vector<MovingImagePointType> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointArrayType
private
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImagePointType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointType
template<class TFixedImage, class TMovingImage>
typedef TransformType::OutputPointType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointType
template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType

Type of the moving Image.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 144 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType

Type of the moving Image.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 151 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef MultiThreader itk::ImageToImageMetric< TFixedImage, TMovingImage >::MultiThreaderType
inherited

Definition at line 321 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef FixedImageType::OffsetValueType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::OffsetValueType
template<class TFixedImage, class TMovingImage>
typedef FixedImageType::OffsetValueType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::OffsetValueType
template<class TFixedImage, class TMovingImage>
typedef Superclass::OutputPointType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::OutputPointType
template<class TFixedImage, class TMovingImage>
typedef FixedArray<unsigned long, ::itk::GetImageDimension<FixedImageType>::ImageDimension> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ParametersOffsetType
private
template<class TFixedImage, class TMovingImage>
typedef Superclass::ParametersType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ParametersType

Type of the parameters.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 142 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::ParametersType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ParametersType

Type of the parameters.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 149 of file itkMattesMutualInformationImageToImageMetric.h.

typedef double itk::CostFunction::ParametersValueType
inherited

ParametersType typedef. It defines a position in the optimization search space.

Reimplemented in otb::SVMCrossValidationCostFunction< TModel >.

Definition at line 46 of file itkCostFunction.h.

template<class TFixedImage, class TMovingImage>
typedef float itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::PDFValueType
private

The marginal PDFs are stored as std::vector.

Definition at line 240 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef float itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::PDFValueType
private

The marginal PDFs are stored as std::vector.

Definition at line 327 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef SmartPointer<Self> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Pointer
template<class TFixedImage, class TMovingImage>
typedef SmartPointer<Self> itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Pointer
template<class TFixedImage, class TMovingImage>
typedef Array2D< PRatioType > itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::PRatioArrayType
private
template<class TFixedImage, class TMovingImage>
typedef Array2D< PRatioType > itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::PRatioArrayType
private
template<class TFixedImage, class TMovingImage>
typedef double itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::PRatioType
private

Helper array for storing the values of the JointPDF ratios.

Definition at line 249 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef double itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::PRatioType
private

Helper array for storing the values of the JointPDF ratios.

Definition at line 337 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef NumericTraits<MovingImagePixelType>::RealType itk::ImageToImageMetric< TFixedImage, TMovingImage >::RealType
inherited
template<class TFixedImage , class TMovingImage >
typedef NumericTraits<MovingImagePixelType>::RealType itk::ImageToImageMetric< TFixedImage, TMovingImage >::RealType
inherited
template<class TFixedImage, class TMovingImage>
typedef MattesMutualInformationImageToImageMetric itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Self

Standard class typedefs.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 123 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef MattesMutualInformationImageToImageMetric itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Self

Standard class typedefs.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 131 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef ImageToImageMetric< TFixedImage, TMovingImage > itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Superclass
template<class TFixedImage, class TMovingImage>
typedef ImageToImageMetric< TFixedImage, TMovingImage > itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Superclass
template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformJacobianType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType
template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformJacobianType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType
template<class TFixedImage , class TMovingImage >
typedef TransformType::ParametersType itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType
inherited
template<class TFixedImage , class TMovingImage >
typedef TransformType::ParametersType itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType
inherited
template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformPointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformPointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer
template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::TransformType

Types inherited from Superclass.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 133 of file itkOptMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::TransformType

Types inherited from Superclass.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 140 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::WeightsValueType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::WeightsValueType
template<class TFixedImage, class TMovingImage>
typedef BSplineTransformWeightsType::ValueType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::WeightsValueType
private

Cache pre-transformed points, weights, indices and within support region flag.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 477 of file itkMattesMutualInformationImageToImageMetric.h.


Member Enumeration Documentation

template<class TFixedImage, class TMovingImage>
anonymous enum
private

Enum of the deformabtion field spline order.

Enumerator:
DeformationSplineOrder 

Definition at line 454 of file itkMattesMutualInformationImageToImageMetric.h.


Constructor & Destructor Documentation

template<class TFixedImage , class TMovingImage >
itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MattesMutualInformationImageToImageMetric ( )
protected

Constructor

Definition at line 50 of file itkMattesMutualInformationImageToImageMetric.txx.

References NULL.

template<class TFixedImage , class TMovingImage >
itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::~MattesMutualInformationImageToImageMetric ( )
inlineprotectedvirtual
template<class TFixedImage, class TMovingImage>
itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MattesMutualInformationImageToImageMetric ( const Self )
private
template<class TFixedImage, class TMovingImage>
itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MattesMutualInformationImageToImageMetric ( )
protected
template<class TFixedImage, class TMovingImage>
virtual itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::~MattesMutualInformationImageToImageMetric ( )
protectedvirtual
template<class TFixedImage, class TMovingImage>
itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MattesMutualInformationImageToImageMetric ( const Self )
private

Member Function Documentation

unsigned long itk::Object::AddObserver ( const EventObject event,
Command cmd 
)
inherited

Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects

Definition at line 389 of file itkObject.cxx.

References itk::SubjectImplementation::AddObserver().

Referenced by otb::StreamingImageVirtualWriter< TInputImage >::GenerateData(), itk::ProgressAccumulator::RegisterInternalFilter(), otb::ImageFileWriter< TInputImage >::Update(), and otb::WriterWatcherBase::WriterWatcherBase().

unsigned long itk::Object::AddObserver ( const EventObject event,
Command cmd 
) const
inherited

Definition at line 401 of file itkObject.cxx.

References itk::SubjectImplementation::AddObserver().

void itk::LightObject::BreakOnError ( )
staticinherited

This method is called when itkExceptionMacro executes. It allows the debugger to break on error.

Definition at line 149 of file itkLightObject.cxx.

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ComputeFixedImageParzenWindowIndices ( FixedImageSampleContainer samples)
privatevirtual

Precompute fixed image parzen window indices.

Uniformly sample the fixed image domain using a random walk

Definition at line 455 of file itkOptMattesMutualInformationImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ComputeFixedImageParzenWindowIndices ( FixedImageSpatialSampleContainer samples)
privatevirtual

Precompute fixed image parzen window indices.

Uniformly sample the fixed image domain using a random walk

Definition at line 657 of file itkMattesMutualInformationImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::ComputeGradient ( void  )
virtualinherited

Computes the gradient image and assigns it to m_GradientImage

Compute the gradient image and assign it to m_GradientImage.

Reimplemented in itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 152 of file itkImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::ComputeGradient ( void  )
virtualinherited

Computes the gradient image and assigns it to m_GradientImage

Reimplemented in itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::ComputeGradientOff ( )
virtualinherited
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::ComputeGradientOff ( )
virtualinherited
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::ComputeGradientOn ( )
virtualinherited
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::ComputeGradientOn ( )
virtualinherited
template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ComputeImageDerivatives ( const MovingImagePointType mappedPoint,
ImageDerivativesType gradient 
) const
privatevirtual

Compute image derivatives at a point.

Compute image derivatives using a central difference function if we are not using a BSplineInterpolator, which includes derivatives.

Definition at line 1409 of file itkMattesMutualInformationImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::ComputeImageDerivatives ( const MovingImagePointType mappedPoint,
ImageDerivativesType gradient,
unsigned int  threadID 
) const
protectedvirtualinherited

Compute image derivatives at a point.

Compute image derivatives using a central difference function if we are not using a BSplineInterpolator, which includes derivatives.

Definition at line 1158 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ComputePDFDerivatives ( unsigned int  threadID,
unsigned int  sampleNumber,
int  pdfMovingIndex,
const ImageDerivativesType movingImageGradientValue,
double  cubicBSplineDerivativeValue 
) const
privatevirtual

Compute PDF derivative contribution for each parameter.

Compute PDF derivatives contribution for each parameter

Generic version which works for all transforms.

Definition at line 1202 of file itkOptMattesMutualInformationImageToImageMetric.txx.

References itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::GetJacobian(), and NULL.

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ComputePDFDerivatives ( unsigned int  sampleNumber,
int  pdfMovingIndex,
const ImageDerivativesType movingImageGradientValue,
double  cubicBSplineDerivativeValue 
) const
privatevirtual

Compute PDF derivative contribution for each parameter.

Compute PDF derivatives contribution for each parameter

Generic version which works for all transforms.

     If the transform is of type BSplineDeformableTransform,
     we can obtain a speed up by only processing the affected parameters.
     Note that these pointers are just pointing to pre-allocated rows
     of the caching arrays. There is therefore, no need to free this
     memory.

Definition at line 1533 of file itkMattesMutualInformationImageToImageMetric.txx.

References NULL.

template<class TFixedImage, class TMovingImage>
virtual::itk::LightObject::Pointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::CreateAnother ( void  ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<class TFixedImage, class TMovingImage>
virtual::itk::LightObject::Pointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::CreateAnother ( void  ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

void itk::Object::DebugOff ( ) const
virtualinherited

Turn debugging output off.

Definition at line 253 of file itkObject.cxx.

void itk::Object::DebugOn ( ) const
virtualinherited

Turn debugging output on.

Definition at line 242 of file itkObject.cxx.

void itk::LightObject::Delete ( )
virtualinherited

Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.

Delete a itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C++ delete method will not work with reference counting.

Definition at line 88 of file itkLightObject.cxx.

Command * itk::Object::GetCommand ( unsigned long  tag)
inherited

Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.

Definition at line 414 of file itkObject.cxx.

References itk::Object::GetCommand(), and NULL.

Referenced by itk::Object::GetCommand().

template<class TFixedImage , class TMovingImage >
virtual const bool& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetComputeGradient ( )
virtualinherited
template<class TFixedImage , class TMovingImage >
virtual const bool& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetComputeGradient ( )
virtualinherited
bool itk::Object::GetDebug ( ) const
inherited

Get the value of the debug flag.

Definition at line 264 of file itkObject.cxx.

Referenced by otb::ogr::ImageReference< double >::GetDebug().

template<class TFixedImage, class TMovingImage>
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative ( const ParametersType parameters,
DerivativeType Derivative 
) const
virtual

Get the derivatives of the match measure.

Implements itk::SingleValuedCostFunction.

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetDerivative ( const ParametersType parameters,
DerivativeType derivative 
) const
virtual

Get the derivatives of the match measure.

Get the match measure derivative

Implements itk::SingleValuedCostFunction.

Definition at line 1392 of file itkMattesMutualInformationImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
virtual const FixedImageType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetFixedImage ( )
virtualinherited

Get the Fixed Image.

template<class TFixedImage , class TMovingImage >
virtual const FixedImageType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetFixedImage ( )
virtualinherited

Get the Fixed Image.

template<class TFixedImage , class TMovingImage >
virtual const FixedImageMaskType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetFixedImageMask ( )
virtualinherited
template<class TFixedImage , class TMovingImage >
virtual const FixedImageMaskType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetFixedImageMask ( )
virtualinherited
template<class TFixedImage , class TMovingImage >
virtual const FixedImageRegionType& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetFixedImageRegion ( )
virtualinherited

Get the region over which the metric will be computed

template<class TFixedImage , class TMovingImage >
virtual const FixedImageRegionType& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetFixedImageRegion ( )
virtualinherited

Get the region over which the metric will be computed

template<class TFixedImage , class TMovingImage >
virtual const FixedImagePixelType& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetFixedImageSamplesIntensityThreshold ( )
virtualinherited
bool itk::Object::GetGlobalWarningDisplay ( )
staticinherited

Get the value of the global debug output control flag.

Definition at line 381 of file itkObject.cxx.

template<class TFixedImage , class TMovingImage >
virtual const GradientImageType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetGradientImage ( )
virtualinherited

Get Gradient Image.

template<class TFixedImage , class TMovingImage >
virtual const GradientImageType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetGradientImage ( )
virtualinherited

Get Gradient Image.

template<class TFixedImage , class TMovingImage >
virtual const InterpolatorType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetInterpolator ( )
virtualinherited

Get a pointer to the Interpolator.

template<class TFixedImage , class TMovingImage >
virtual const InterpolatorType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetInterpolator ( )
virtualinherited

Get a pointer to the Interpolator.

MetaDataDictionary & itk::Object::GetMetaDataDictionary ( void  )
inherited
Returns:
A reference to this objects MetaDataDictionary.
Warning:
This reference may be changed.

Reimplemented in otb::ImageMetadataInterfaceBase.

Definition at line 532 of file itkObject.cxx.

References NULL.

Referenced by otb::RenderingImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData(), itk::Brains2MaskImageIO::CanReadFile(), otb::DataNode< TPrecision, VDimension, TValuePrecision >::CopyFieldList(), otb::VectorImage< TPixel, VImageDimension >::CopyInformation(), otb::Image< TPixel, VImageDimension >::CopyInformation(), itk::GDCMImageIO::GetBodyPart(), itk::GDCMImageIO::GetInstitution(), itk::GDCMImageIO::GetManufacturer(), itk::GDCMImageIO::GetModality(), itk::GDCMImageIO::GetModel(), itk::GDCMImageIO::GetNumberOfSeriesInStudy(), itk::GDCMImageIO::GetNumberOfStudyRelatedSeries(), itk::GDCMImageIO::GetPatientAge(), itk::GDCMImageIO::GetPatientDOB(), itk::GDCMImageIO::GetPatientID(), itk::GDCMImageIO::GetPatientName(), itk::GDCMImageIO::GetPatientSex(), itk::GDCMImageIO::GetScanOptions(), itk::GDCMImageIO::GetStudyDate(), itk::GDCMImageIO::GetStudyDescription(), itk::GDCMImageIO::GetStudyID(), itk::GDCMImageIO::GetValueFromTag(), otb::GDALImageIO::InternalReadImageInformation(), itk::GDCMImageIO::InternalReadImageInformation(), otb::GDALImageIO::InternalWriteImageInformation(), otb::RAMDrivenAdaptativeStreamingManager< TImage >::PrepareStreaming(), itk::DICOMImageIO2::Read(), itk::DICOMImageIO2::ReadImageInformation(), itk::NrrdImageIO::ReadImageInformation(), otb::JPEG2000ImageIO::ReadImageInformation(), itk::MetaImageIO::ReadImageInformation(), itk::VoxBoCUBImageIO::ReadImageInformation(), itk::MRCImageIO::ReadImageInformation(), itk::IPLCommonImageIO::ReadImageInformation(), itk::PhilipsRECImageIO::ReadImageInformation(), itk::AnalyzeImageIO::ReadImageInformation(), itk::Bruker2DSEQImageIO::ReadImageInformation(), otb::ImageMetadataInterfaceBase::SetImage(), itk::NiftiImageIO::SetImageIOMetadataFromNIfTI(), otb::VectorDataToLabelImageFilter< TVectorData, TOutputImage >::SetOutputParametersFromImage(), itk::NrrdImageIO::Write(), itk::GDCMImageIO::Write(), and itk::PolygonGroupSpatialObjectXMLFileWriter::WriteFile().

const MetaDataDictionary & itk::Object::GetMetaDataDictionary ( void  ) const
inherited
Returns:
A constant reference to this objects MetaDataDictionary.

Reimplemented in otb::ImageMetadataInterfaceBase.

Definition at line 543 of file itkObject.cxx.

References NULL.

template<class TFixedImage , class TMovingImage >
virtual const MovingImageType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetMovingImage ( )
virtualinherited

Get the Moving Image.

template<class TFixedImage , class TMovingImage >
virtual const MovingImageType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetMovingImage ( )
virtualinherited

Get the Moving Image.

template<class TFixedImage , class TMovingImage >
virtual const MovingImageMaskType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetMovingImageMask ( )
virtualinherited
template<class TFixedImage , class TMovingImage >
virtual const MovingImageMaskType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetMovingImageMask ( )
virtualinherited
unsigned long itk::Object::GetMTime ( void  ) const
virtualinherited

Return this objects modified time.

Return the modification for this object.

Reimplemented in itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::VectorImageToASPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ShiftScalePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::SpatialObject< TDimension >, itk::SpatialObject< 3 >, itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >, itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >, itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >, itk::DeformationFieldSource< TOutputImage >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::MeshSpatialObject< TMesh >, and itk::SceneSpatialObject< TSpaceDimension >.

Definition at line 286 of file itkObject.cxx.

Referenced by itk::DeformationFieldSource< TOutputImage >::GetMTime(), itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::GetMTime(), itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::GetMTime(), itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >::GetMTime(), itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::GetMTime(), itk::SpatialObject< TDimension >::GetMTime(), itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::GetMTime(), itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime(), otb::Function::NoStretchRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::Initialize(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::Initialize(), itk::VTKImageExportBase::PipelineModifiedCallback(), and itk::ProcessObject::UpdateOutputInformation().

template<class TFixedImage, class TMovingImage>
virtual const char* itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage, class TMovingImage>
virtual const char* itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
virtual const unsigned long& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfFixedImageSamples ( )
virtualinherited
template<class TFixedImage, class TMovingImage>
virtual const unsigned long& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfHistogramBins ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual const unsigned long& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfHistogramBins ( )
virtual
template<class TFixedImage , class TMovingImage >
unsigned long itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfMovingImageSamples ( void  )
inlineinherited

Get the number of pixels considered in the computation.

Definition at line 187 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
unsigned int itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters ( void  ) const
inlinevirtualinherited
template<class TFixedImage , class TMovingImage >
unsigned int itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters ( void  ) const
inlinevirtualinherited
template<class TFixedImage , class TMovingImage >
virtual const unsigned long& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfPixelsCounted ( )
virtualinherited

Get the number of pixels considered in the computation.

template<class TFixedImage , class TMovingImage >
virtual const unsigned long& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfPixelsCounted ( )
virtualinherited
template<class TFixedImage, class TMovingImage>
virtual const unsigned long& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfSpatialSamples ( )
virtual
template<class TFixedImage , class TMovingImage >
virtual const unsigned int& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfThreads ( )
virtualinherited
virtual int itk::LightObject::GetReferenceCount ( ) const
inlinevirtualinherited

Gets the reference count on this object.

Definition at line 105 of file itkLightObject.h.

template<class TFixedImage , class TMovingImage >
virtual const MultiThreaderType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetThreader ( )
virtualinherited

Get the Threader.

template<class TFixedImage , class TMovingImage >
const TransformPointer* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetThreaderTransform ( )
inlineinherited

Definition at line 326 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
virtual const TransformType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetTransform ( )
virtualinherited

Get a pointer to the Transform.

template<class TFixedImage , class TMovingImage >
virtual const TransformType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetTransform ( )
virtualinherited

Get a pointer to the Transform.

template<class TFixedImage, class TMovingImage>
virtual const bool& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetUseAllPixels ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual const bool& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetUseCachingOfBSplineWeights ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual const bool& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetUseExplicitPDFDerivatives ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual const bool& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetUseExplicitPDFDerivatives ( )
virtual
template<class TFixedImage , class TMovingImage >
virtual const bool& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetUseFixedImageIndexes ( )
virtualinherited
template<class TFixedImage , class TMovingImage >
virtual const bool& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetUseFixedImageSamplesIntensityThreshold ( )
virtualinherited
template<class TFixedImage , class TMovingImage >
virtual const bool& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetUseSequentialSampling ( )
virtualinherited
template<class TFixedImage, class TMovingImage>
MeasureType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValue ( const ParametersType parameters) const
virtual

Get the value.

Implements itk::SingleValuedCostFunction.

template<class TFixedImage , class TMovingImage >
MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MeasureType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValue ( const ParametersType parameters) const
virtual

Get the value.

Get the match Measure

     Compute this sample's contribution to the marginal and 
     joint distributions.
     The region of support of the parzen window determines which bins
     of the joint PDF are effected by the pair of image values.
     Since we are using a cubic spline for the moving image parzen
     window, four bins are affected.  The fixed image parzen window is
     a zero-order spline (box car) and thus effects only one bin.

      The PDF is arranged so that moving image bins corresponds to the 
     zero-th (column) dimension and the fixed image bins corresponds
     to the first (row) dimension.
 Normalize the PDFs, compute moving image marginal PDF
 Compute the metric by double summation over histogram.

Compute the metric by double summation over histogram.

Implements itk::SingleValuedCostFunction.

Definition at line 702 of file itkMattesMutualInformationImageToImageMetric.txx.

References itk::ImageRegionConstIterator< TImage >::GoToBegin(), and itk::ImageLinearConstIteratorWithIndex< TImage >::SetDirection().

virtual void itk::SingleValuedCostFunction::GetValueAndDerivative ( const ParametersType parameters,
MeasureType value,
DerivativeType derivative 
) const
inlinevirtualinherited

This method returns the value and derivative of the cost function corresponding to the specified parameters

Reimplemented in itk::ImageToSpatialObjectMetric< TFixedImage, TMovingSpatialObject >.

Definition at line 71 of file itkSingleValuedCostFunction.h.

template<class TFixedImage, class TMovingImage>
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivative ( const ParametersType parameters,
MeasureType Value,
DerivativeType Derivative 
) const

Get the value and derivatives for single valued optimizers.

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivative ( const ParametersType parameters,
MeasureType value,
DerivativeType derivative 
) const

Get the value and derivatives for single valued optimizers.

Get the both Value and Derivative Measure

     Compute this sample's contribution to the marginal 
       and joint distributions.
     The region of support of the parzen window determines which bins
     of the joint PDF are effected by the pair of image values.
     Since we are using a cubic spline for the moving image parzen
     window, four bins are effected.  The fixed image parzen window is
     a zero-order spline (box car) and thus effects only one bin.

      The PDF is arranged so that moving image bins corresponds to the 
     zero-th (column) dimension and the fixed image bins corresponds
     to the first (row) dimension.
 Normalize the PDFs, compute moving image marginal PDF
 Compute the metric by double summation over histogram.
       Compute this sample's contribution to the marginal 
         and joint distributions.

Compute the metric by double summation over histogram.

Definition at line 966 of file itkMattesMutualInformationImageToImageMetric.txx.

References itk::Array< TValueType >::Fill(), itk::ImageRegionConstIterator< TImage >::GoToBegin(), and itk::ImageLinearConstIteratorWithIndex< TImage >::SetDirection().

template<class TFixedImage , class TMovingImage >
ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreaded ( void *  arg)
staticprotectedinherited
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedInitiate ( void  ) const
protectedinherited

Definition at line 1369 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPostProcess ( void *  arg)
staticprotectedinherited
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPostProcessInitiate ( void  ) const
protectedinherited

Definition at line 1386 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPreProcess ( void *  arg)
staticprotectedinherited
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPreProcessInitiate ( void  ) const
protectedinherited

Definition at line 1357 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeThread ( unsigned int  threadID) const
inlineprotectedvirtualinherited
template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeThreadPostProcess ( unsigned int  threadID,
bool  withinSampleThread 
) const
inlineprivatevirtual
template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeThreadPreProcess ( unsigned int  threadID,
bool  withinSampleThread 
) const
inlineprivatevirtual
template<class TFixedImage , class TMovingImage >
bool itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeThreadProcessSample ( unsigned int  threadID,
unsigned long  fixedImageSample,
const MovingImagePointType mappedPoint,
double  movingImageValue,
const ImageDerivativesType movingImageGradientValue 
) const
inlineprivatevirtual

Compute this sample's contribution to the marginal and joint distributions.

  The region of support of the parzen window determines which bins
  of the joint PDF are effected by the pair of image values.
  Since we are using a cubic spline for the moving image parzen
  window, four bins are effected.  The fixed image parzen window is
  a zero-order spline (box car) and thus effects only one bin.

   The PDF is arranged so that moving image bins corresponds to the
  zero-th (column) dimension and the fixed image bins corresponds
  to the first (row) dimension.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 822 of file itkOptMattesMutualInformationImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreaded ( void *  arg)
staticprotectedinherited
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedInitiate ( void  ) const
protectedinherited

Definition at line 1204 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPostProcess ( void *  arg)
staticprotectedinherited
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPostProcessInitiate ( void  ) const
protectedinherited

Definition at line 1222 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPreProcess ( void *  arg)
staticprotectedinherited
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPreProcessInitiate ( void  ) const
protectedinherited

Definition at line 1192 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueThread ( unsigned int  threadID) const
inlineprotectedvirtualinherited
template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValueThreadPostProcess ( unsigned int  threadID,
bool  withinSampleThread 
) const
inlineprivatevirtual
template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValueThreadPreProcess ( unsigned int  threadID,
bool  withinSampleThread 
) const
inlineprivatevirtual
template<class TFixedImage , class TMovingImage >
bool itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValueThreadProcessSample ( unsigned int  threadID,
unsigned long  fixedImageSample,
const MovingImagePointType mappedPoint,
double  movingImageValue 
) const
inlineprivatevirtual

Compute this sample's contribution to the marginal and joint distributions.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 525 of file itkOptMattesMutualInformationImageToImageMetric.txx.

static void itk::Object::GlobalWarningDisplayOff ( )
inlinestaticinherited
static void itk::Object::GlobalWarningDisplayOn ( )
inlinestaticinherited

Definition at line 98 of file itkObject.h.

References itk::Object::SetGlobalWarningDisplay().

bool itk::Object::HasObserver ( const EventObject event) const
inherited

Return true if an observer is registered for this event.

Definition at line 467 of file itkObject.cxx.

template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Initialize ( void  ) throw ( ExceptionObject )
virtual

Initialize the Metric by (1) making sure that all the components are present and plugged together correctly, (2) uniformly select NumberOfSpatialSamples within the FixedImageRegion, and (3) allocate memory for pdf data structures.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Initialize ( void  ) throw ( ExceptionObject )
virtual

Initialize the Metric by (1) making sure that all the components are present and plugged together correctly, (2) uniformly select NumberOfSpatialSamples within the FixedImageRegion, and (3) allocate memory for pdf data structures.

Initialize

 Compute the minimum and maximum for the FixedImage over
 the FixedImageRegion.

 NB: We can't use StatisticsImageFilter to do this because
 the filter computes the min/max for the largest possible region
 Compute the minimum and maximum for the entire moving image
 in the buffer.
 Compute binsize for the histograms.

 The binsize for the image intensities needs to be adjusted so that 
 we can avoid dealing with boundary conditions using the cubic 
 spline as the Parzen window.  We do this by increasing the size
 of the bins so that the joint histogram becomes "padded" at the 
 borders. Because we are changing the binsize, 
 we also need to shift the minimum by the padded amount in order to 
 avoid minimum values filling in our padded region.

 Note that there can still be non-zero bin values in the padded region,
 it's just that these bins will never be a central bin for the Parzen
 window.
 Allocate memory for the fixed image sample container.
 Allocate memory for the marginal PDF and initialize values
 to zero. The marginal PDFs are stored as std::vector.
 Allocate memory for the joint PDF and joint PDF derivatives.
 The joint PDF and joint PDF derivatives are store as itk::Image.
Allocate memory for helper array that will contain the pRatios
    for each bin of the joint histogram. This is part of the effort
    for flattening the computation of the PDF Jacobians.
 Setup the kernels used for the Parzen windows.
   Take all the pixels within the fixed image region)
   to create the sample points list.
   Uniformly sample the fixed image (within the fixed image region)
   to create the sample points list.
 Pre-compute the fixed image parzen window index for 
 each point of the fixed image sample points list.
 Check if the interpolator is of type BSplineInterpolateImageFunction.
 If so, we can make use of its EvaluateDerivatives method.
 Otherwise, we instantiate an external central difference
 derivative calculator.

 TODO: Also add it the possibility of using the default gradient
 provided by the superclass.
 Check if the transform is of type BSplineDeformableTransform.

 If so, several speed up features are implemented.
 [1] Precomputing the results of bulk transform for each sample point.
 [2] Precomputing the BSpline weights for each sample point,
     to be used later to directly compute the deformation vector
 [3] Precomputing the indices of the parameters within the 
     the support region of each sample point.
 Compute binsize for the histograms.

 The binsize for the image intensities needs to be adjusted so that
 we can avoid dealing with boundary conditions using the cubic
 spline as the Parzen window.  We do this by increasing the size
 of the bins so that the joint histogram becomes "padded" at the
 borders. Because we are changing the binsize,
 we also need to shift the minimum by the padded amount in order to
 avoid minimum values filling in our padded region.

 Note that there can still be non-zero bin values in the padded region,
 it's just that these bins will never be a central bin for the Parzen
 window.
 Allocate memory for the marginal PDF and initialize values
 to zero. The marginal PDFs are stored as std::vector.
 Allocate memory for the joint PDF and joint PDF derivatives.
 The joint PDF and joint PDF derivatives are store as itk::Image.
Allocate memory for helper array that will contain the pRatios
    for each bin of the joint histogram. This is part of the effort
    for flattening the computation of the PDF Jacobians.
 Setup the kernels used for the Parzen windows.
 Pre-compute the fixed image parzen window index for
 each point of the fixed image sample points list.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 147 of file itkMattesMutualInformationImageToImageMetric.txx.

References itk::Size< VDimension >::Fill(), itk::Index< VIndexDimension >::Fill(), itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfParametersPerDimension(), NULL, itk::Size< VDimension >::SetSize(), and itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::UseImageDirectionOn().

void itk::Object::InvokeEvent ( const EventObject event)
inherited
void itk::Object::InvokeEvent ( const EventObject event) const
inherited

Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.

Definition at line 457 of file itkObject.cxx.

void itk::Object::Modified ( void  ) const
virtualinherited

Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.

Make sure this object's modified time is greater than all others.

Reimplemented in otb::SVMModel< TValue, TLabel >, otb::SurfaceAdjacencyEffect6SCorrectionSchemeFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::VectorImageToASPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ShiftScalePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, otb::GenericRSTransform< TScalarType, NInputDimensions, NOutputDimensions >, otb::MeanShiftImageFilter< TInputImage, TOutputImage, TLabeledOutput, TBufferConverter >, otb::MeanShiftImageFilter< TInputImage, TOutputImage, TLabeledOutput, MeanShift::VectorBufferConverter >, otb::GCPsToRPCSensorModelImageFilter< TImage >, otb::Polygon< TValue >, otb::ImageRegionAdaptativeSplitter< VImageDimension >, otb::GenericInterpolateImageFunction< TInputImage, TFunction, TBoundaryCondition, TCoordRep >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, otb::PolyLineParametricPathWithValue< TValue, VDimension >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, otb::PolyLineParametricPathWithValue< TValue, 2 >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, otb::PhysicalToRPCSensorModelImageFilter< TImage >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, RankImageFilter< TInputImage, TInputImage, FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >, itk::NormalizeImageFilter< TInputImage, TOutputImage >, and otb::StatisticsXMLFileReader< TMeasurementVector >.

Definition at line 297 of file itkObject.cxx.

Referenced by otb::Wrapper::InputImageListParameter::AddFromFileName(), otb::Wrapper::InputVectorDataListParameter::AddFromFileName(), otb::Wrapper::InputImageListParameter::AddImage(), otb::Wrapper::InputImageListParameter::AddNullElement(), otb::Wrapper::InputVectorDataListParameter::AddNullElement(), otb::Wrapper::StringListParameter::AddNullElement(), otb::VectorDataModel::AddPointToGeometry(), otb::Wrapper::InputVectorDataListParameter::AddVectorData(), otb::Wrapper::InputImageListParameter::ClearValue(), otb::Wrapper::InputVectorDataListParameter::ClearValue(), otb::VectorDataModel::DeleteGeometry(), otb::VectorDataModel::EndGeometry(), otb::Wrapper::InputImageListParameter::Erase(), otb::Wrapper::InputVectorDataListParameter::Erase(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::InsertNarrowBandNode(), otb::ImageWidget< TInputImage >::LinearInterpolationOff(), otb::ImageWidget< TInputImage >::LinearInterpolationOn(), itk::MatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::MatrixOffsetTransformBase(), otb::ogr::ImageReference< double >::Modified(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetAutoMinMax(), otb::BlendingImageFilter< TInputImage1, TInputImage2, TOutputImage >::SetBlendingFunction(), otb::ImageLayerGenerator< TImageLayer >::SetBlendingFunction(), otb::TileMapImageIO::SetCacheDirectory(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetChannelList(), itk::LBFGSBOptimizer::SetCostFunction(), itk::MINC2ImageIO::SetDimensionName(), itk::ImageIOBase::SetDimensions(), itk::ImageIOBase::SetDirection(), otb::Wrapper::InputImageListParameter::SetImageList(), itk::GDCMSeriesFileNames::SetInputDirectory(), otb::HistogramStatisticsFunction< TInputHistogram, TOutput >::SetInputHistogram(), otb::ImageToGenericRSOutputParameters< TImage >::SetInputKeywordList(), otb::Wrapper::InputVectorDataListParameter::SetListFromFileName(), otb::Wrapper::InputImageListParameter::SetListFromFileName(), otb::Function::RenderingFunction< TPixel, TRGBPixel >::SetListSample(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBand(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandTotalRadius(), otb::Wrapper::InputImageListParameter::SetNthFileName(), otb::Wrapper::InputVectorDataListParameter::SetNthFileName(), itk::ImageIOBase::SetNumberOfDimensions(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ImageIOBase::SetOrigin(), otb::ImageToGenericRSOutputParameters< TImage >::SetOutputProjectionRef(), otb::MapProjectionAdapter::SetParameter(), otb::Function::GaussianRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetParameters(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetParameters(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), otb::ImageLayerGenerator< TImageLayer >::SetRenderingFunction(), otb::RenderingImageFilter< TInputImage, TOutputImage >::SetRenderingFunction(), itk::ImageIOBase::SetSpacing(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::Statistics::GoodnessOfFitFunctionBase< TInputHistogram >::SetTotalObservedScale(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation(), otb::Wrapper::OutputFilenameParameter::SetValue(), otb::Wrapper::InputFilenameParameter::SetValue(), otb::Wrapper::ListViewParameter::SetValue(), otb::Wrapper::ChoiceParameter::SetValue(), otb::Wrapper::InputVectorDataListParameter::SetVectorDataList(), and otb::MapProjectionAdapter::SetWkt().

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::MultiThreadingInitialize ( void  ) throw ( ExceptionObject )
virtualinherited

Initialize the components related to supporting multiple threads

MultiThreading Initialize

Set the fixed parameters first. Some transforms have parameters which depend on the values of the fixed parameters. For instance, the BSplineDeformableTransform checks the grid size (part of the fixed parameters) before setting the parameters.

Definition at line 364 of file itkOptImageToImageMetric.txx.

References itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >::GetNumberOfWeights(), itk::SmartPointer< TObjectType >::GetPointer(), NULL, itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::SetFixedParameters(), itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetNumberOfThreads(), itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::SetParameters(), and itk::Array< TValueType >::SetSize().

template<class TFixedImage, class TMovingImage>
static Pointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::New ( )
static

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TFixedImage, class TMovingImage>
static Pointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::New ( )
static

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TFixedImage, class TMovingImage>
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::operator= ( const Self )
private
template<class TFixedImage, class TMovingImage>
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::operator= ( const Self )
private
template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::PreComputeTransformValues ( void  )
privatevirtual

Cache pre-transformed points, weights and indices. This method is only called if the flag UseCachingOfBSplineWeights is ON.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 1686 of file itkMattesMutualInformationImageToImageMetric.txx.

References itk::Array< TValueType >::Fill().

void itk::LightObject::Print ( std::ostream &  os,
Indent  indent = 0 
) const
inherited

Cause the object to print itself out.

Avoid DLL boundary problems. This function will be common to all itk objects. It just calls the header/self/trailer virtual print methods, which can be overriden by subclasses (any itk object).

Definition at line 135 of file itkLightObject.cxx.

References itk::Indent::GetNextIndent().

Referenced by itk::operator<<().

void itk::LightObject::PrintHeader ( std::ostream &  os,
Indent  indent 
) const
protectedvirtualinherited

Define a default print header for all objects.

Definition at line 320 of file itkLightObject.cxx.

bool itk::Object::PrintObservers ( std::ostream &  os,
Indent  indent 
) const
protectedinherited

Definition at line 478 of file itkObject.cxx.

template<class TFixedImage, class TMovingImage>
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual
template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

Print out internal information about this class

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 102 of file itkMattesMutualInformationImageToImageMetric.txx.

void itk::LightObject::PrintTrailer ( std::ostream &  os,
Indent  indent 
) const
protectedvirtualinherited

Define a default print trailer for all objects.

Definition at line 331 of file itkLightObject.cxx.

void itk::Object::Register ( ) const
virtualinherited

Increase the reference count (mark as used by another object).

Reimplemented from itk::LightObject.

Definition at line 309 of file itkObject.cxx.

Referenced by itk::ObjectFactoryBase::RegisterFactory().

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ReinitializeSeed ( )

Reinitialize the seed of the random number generator that selects the sample of pixels used for estimating the image histograms and the joint histogram. By nature, this metric is not deterministic, since at each run it may select a different set of pixels. By initializing the random number generator seed to the same value you can restore determinism. On the other hand, calling the method ReinitializeSeed() without arguments will use the clock from your machine in order to have a very random initialization of the seed. This will indeed increase the non-deterministic behavior of the metric.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 1664 of file itkMattesMutualInformationImageToImageMetric.txx.

References itk::Statistics::MersenneTwisterRandomVariateGenerator::GetInstance().

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ReinitializeSeed ( int  seed)
void itk::Object::RemoveAllObservers ( )
inherited

Remove all observers .

Definition at line 435 of file itkObject.cxx.

void itk::Object::RemoveObserver ( unsigned long  tag)
inherited

Remove the observer with this tag value.

Definition at line 425 of file itkObject.cxx.

Referenced by otb::StreamingImageVirtualWriter< TInputImage >::GenerateData(), and otb::ImageFileWriter< TInputImage >::Update().

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SampleFixedImageDomain ( FixedImageSpatialSampleContainer samples)
protectedvirtual

Uniformly select a sample set from the fixed image domain.

Uniformly sample the fixed image domain using a random walk

Definition at line 489 of file itkMattesMutualInformationImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SampleFixedImageIndexes ( FixedImageSampleContainer samples) const
protectedvirtualinherited

Use the indexes that have been passed to the metric

Definition at line 553 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SampleFixedImageRegion ( FixedImageSampleContainer samples) const
protectedvirtualinherited

Uniformly select a sample set from the fixed image domain.

Sample the fixed image using a random walk

Definition at line 587 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SampleFullFixedImageDomain ( FixedImageSpatialSampleContainer samples)
protectedvirtual

Gather all the pixels from the fixed image domain.

Sample the fixed image domain using all pixels in the Fixed image region

Definition at line 574 of file itkMattesMutualInformationImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SampleFullFixedImageRegion ( FixedImageSampleContainer samples) const
protectedvirtualinherited

Gather all the pixels from the fixed image domain.

Sample the fixed image domain using all pixels in the Fixed image region

Definition at line 703 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetComputeGradient ( bool  _arg)
virtualinherited

Set/Get gradient computation.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetComputeGradient ( bool  _arg)
virtualinherited

Set/Get gradient computation.

void itk::Object::SetDebug ( bool  debugFlag) const
inherited

Set the value of the debug flag. A non-zero value turns debugging on.

Definition at line 275 of file itkObject.cxx.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImage ( const FixedImageType _arg)
virtualinherited

Connect the Fixed Image.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImage ( const FixedImageType _arg)
virtualinherited

Connect the Fixed Image.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageIndexes ( const FixedImageIndexContainer indexes)
inherited

Set the fixed image indexes to be used as the samples when computing the match metric

Definition at line 171 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageMask ( FixedImageMaskType _arg)
virtualinherited

Set/Get the fixed image mask.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageMask ( const FixedImageMaskType mask)
inlinevirtualinherited
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageMask ( FixedImageMaskType _arg)
virtualinherited

Set/Get the fixed image mask.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageMask ( const FixedImageMaskType _arg)
virtualinherited
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageRegion ( FixedImageRegionType  _arg)
virtualinherited

Set the region over which the metric will be computed

Definition at line 236 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageRegion ( const FixedImageRegionType  reg)
inherited

Set the region over which the metric will be computed

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageSamplesIntensityThreshold ( const FixedImagePixelType thresh)
inherited

Minimum fixed-image intensity needed for a sample to be used in the metric computation

Definition at line 204 of file itkOptImageToImageMetric.txx.

void itk::Object::SetGlobalWarningDisplay ( bool  val)
staticinherited

This is a global flag that controls whether any debug, warning or error messages are displayed.

Set the value of the global debug output control flag.

Definition at line 370 of file itkObject.cxx.

Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn().

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetInterpolator ( InterpolatorType _arg)
virtualinherited

Connect the Interpolator.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetInterpolator ( InterpolatorType _arg)
virtualinherited

Connect the Interpolator.

void itk::Object::SetMetaDataDictionary ( const MetaDataDictionary rhs)
inherited
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImage ( const MovingImageType _arg)
virtualinherited

Connect the Moving Image.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImage ( const MovingImageType _arg)
virtualinherited

Connect the Moving Image.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageMask ( MovingImageMaskType _arg)
virtualinherited

Set/Get the moving image mask.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageMask ( const MovingImageMaskType mask)
inlinevirtualinherited
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageMask ( MovingImageMaskType _arg)
virtualinherited

Set/Get the moving image mask.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageMask ( const MovingImageMaskType _arg)
virtualinherited
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfFixedImageSamples ( unsigned long  numSamples)
virtualinherited

Number of spatial samples to used to compute metric This sets the number of samples.

Definition at line 155 of file itkOptImageToImageMetric.txx.

template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfHistogramBins ( unsigned long  _arg)
virtual

Number of bins to used in the histogram. Typical value is

  1. The minimum value is 5 due to the padding required by the Parzen windowing with a cubic-BSpline kernel. Note that even if the metric is used on binary images, the number of bins should at least be equal to five.
template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfHistogramBins ( unsigned long  _arg)
virtual

Number of bins to used in the histogram. Typical value is 50. The minimum value is 5 due to the padding required by the Parzen windowing with a cubic-BSpline kernel. Note that even if the metric is used on binary images, the number of bins should at least be equal to five.

template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfSpatialSamples ( unsigned long  _arg)
virtual

Number of spatial samples to used to compute metric

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfThreads ( unsigned int  numberOfThreads)
inherited

Set/Get number of threads to use for computations.

Set the number of threads. This will be clamped by the multithreader, so we must check to see if it is accepted.

Definition at line 129 of file itkOptImageToImageMetric.txx.

void itk::Object::SetReferenceCount ( int  ref)
virtualinherited

Sets the reference count (use with care)

If there is a delete method, invoke it.

Reimplemented from itk::LightObject.

Definition at line 347 of file itkObject.cxx.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetTransform ( TransformType _arg)
virtualinherited
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetTransform ( TransformType _arg)
virtualinherited
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetTransformParameters ( const ParametersType parameters) const
inherited

Set the parameters defining the Transform.

Set the parameters that define a unique transform

Definition at line 70 of file itkImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetTransformParameters ( const ParametersType parameters) const
inherited

Set the parameters defining the Transform.

template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SetUseAllPixels ( bool  _arg)
virtual

Select whether the metric will be computed using all the pixels on the fixed image region, or only using a set of randomly selected pixels.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SetUseCachingOfBSplineWeights ( bool  _arg)
virtual

This boolean flag is only relevant when this metric is used along with a BSplineDeformableTransform. The flag enables/disables the caching of values computed when a physical point is mapped through the BSplineDeformableTransform. In particular it will cache the values of the BSpline weights for that points, and the indexes indicating what BSpline-grid nodes are relevant for that specific point. This caching is made optional due to the fact that the memory arrays used for the caching can reach large sizes even for moderate image size problems. For example, for a 3D image of 256^3, using 20% of pixels, these arrays will take about 1 Gigabyte of RAM for storage. The ratio of computing time between using the cache or not using the cache can reach 1:5, meaning that using the caching can provide a five times speed up. It is therefore, interesting to enable the caching, if enough memory is available for it. The caching is enabled by default, in order to preserve backward compatibility with previous versions of ITK.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SetUseExplicitPDFDerivatives ( bool  _arg)
virtual

This variable selects the method to be used for computing the Metric derivatives with respect to the Transform parameters. Two modes of computation are available. The choice between one and the other is a trade-off between computation speed and memory allocations. The two modes are described in detail below:

UseExplicitPDFDerivatives = True will compute the Metric derivative by first calculating the derivatives of each one of the Joint PDF bins with respect to each one of the Transform parameters and then accumulating these contributions in the final metric derivative array by using a bin-specific weight. The memory required for storing the intermediate derivatives is a 3D array of doubles with size equals to the product of (number of histogram bins)^2 times number of transform parameters. This method is well suited for Transform with a small number of parameters.

UseExplicitPDFDerivatives = False will compute the Metric derivative by first computing the weights for each one of the Joint PDF bins and caching them into an array. Then it will revisit each one of the PDF bins for computing its weighted contribution to the full derivative array. In this method an extra 2D array is used for storing the weights of each one of the PDF bins. This is an array of doubles with size equals to (number of histogram bins)^2. This method is well suited for Transforms with a large number of parameters, such as, BSplineDeformableTransforms.

template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SetUseExplicitPDFDerivatives ( bool  _arg)
virtual

This variable selects the method to be used for computing the Metric derivatives with respect to the Transform parameters. Two modes of computation are available. The choice between one and the other is a trade-off between computation speed and memory allocations. The two modes are described in detail below:

UseExplicitPDFDerivatives = True will compute the Metric derivative by first calculating the derivatives of each one of the Joint PDF bins with respect to each one of the Transform parameters and then accumulating these contributions in the final metric derivative array by using a bin-specific weight. The memory required for storing the intermediate derivatives is a 3D array of doubles with size equals to the product of (number of histogram bins)^2 times number of transform parameters. This method is well suited for Transform with a small number of parameters.

UseExplicitPDFDerivatives = False will compute the Metric derivative by first computing the weights for each one of the Joint PDF bins and caching them into an array. Then it will revisit each one of the PDF bins for computing its weighted contribution to the full derivative array. In this method an extra 2D array is used for storing the weights of each one of the PDF bins. This is an array of doubles with size equals to (number of histogram bins)^2. This method is well suited for Transforms with a large number of parameters, such as, BSplineDeformableTransforms.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseFixedImageIndexes ( bool  useIndex)
inherited

Definition at line 185 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseFixedImageSamplesIntensityThreshold ( bool  useThresh)
inherited

Definition at line 217 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseSequentialSampling ( bool  sequentialSampling)
inherited

If set to true, then every pixel in the fixed image will be scanned to determine if it should be used in registration metric computation. A pixel will be chosen if it meets any mask or threshold limits set. If set to false, then UseAllPixels will be set to false.

Definition at line 274 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SynchronizeTransforms ( ) const
protectedvirtualinherited

Synchronizes the threader transforms with the transform member variable.

This method can be const because we are not altering the m_ThreaderTransform pointer. We are altering the object that m_ThreaderTransform[idx] points at. This is allowed under C++ const rules.

Set the fixed parameters first. Some transforms have parameters which depend on the values of the fixed parameters. For instance, the BSplineDeformableTransform checks the grid size (part of the fixed parameters) before setting the parameters.

Definition at line 1606 of file itkOptImageToImageMetric.txx.

template<class TFixedImage , class TMovingImage >
void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::TransformPoint ( unsigned int  sampleNumber,
const ParametersType parameters,
MovingImagePointType mappedPoint,
bool &  sampleOk,
double &  movingImageValue 
) const
protectedvirtual

Transform a point from FixedImage domain to MovingImage domain. This function also checks if mapped point is within support region.

Definition at line 1435 of file itkMattesMutualInformationImageToImageMetric.txx.

References itk::FixedArray< TValueType, VLength >::Fill().

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformPoint ( unsigned int  sampleNumber,
MovingImagePointType mappedPoint,
bool &  sampleOk,
double &  movingImageValue,
unsigned int  threadID 
) const
protectedvirtualinherited

Transform a point from FixedImage domain to MovingImage domain. This function also checks if mapped point is within support region.

Definition at line 917 of file itkOptImageToImageMetric.txx.

References itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::TransformPoint().

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformPointWithDerivatives ( unsigned int  sampleNumber,
MovingImagePointType mappedPoint,
bool &  sampleOk,
double &  movingImageValue,
ImageDerivativesType movingImageGradient,
unsigned int  threadID 
) const
protectedvirtualinherited

Transform a point from FixedImage domain to MovingImage domain. This function also checks if mapped point is within support region.

Definition at line 1035 of file itkOptImageToImageMetric.txx.

References itk::Transform< TScalarType, NInputDimensions, NOutputDimensions >::TransformPoint().

void itk::Object::UnRegister ( ) const
virtualinherited

Decrease the reference count (release by another object).

If there is a delete method, invoke it.

Reimplemented from itk::LightObject.

Definition at line 324 of file itkObject.cxx.

Referenced by itk::Object::New(), and itk::ObjectFactoryBase::UnRegisterFactory().

template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::UseAllPixelsOff ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::UseAllPixelsOn ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::UseCachingOfBSplineWeightsOff ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::UseCachingOfBSplineWeightsOn ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::UseExplicitPDFDerivativesOff ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::UseExplicitPDFDerivativesOff ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::UseExplicitPDFDerivativesOn ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::UseExplicitPDFDerivativesOn ( )
virtual

Member Data Documentation

template<class TFixedImage, class TMovingImage>
const unsigned int itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageDimension = FixedImageType::ImageDimension
staticprivate

The fixed image dimension.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 449 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
BSplineInterpolatorType::Pointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineInterpolator
private

Pointer to BSplineInterpolator.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 409 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
BSplineParametersOffsetType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineParametersOffset
protectedinherited

Definition at line 473 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
MovingImagePointArrayType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_BSplinePreTransformPointsArray
protectedinherited

Definition at line 470 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
BSplineTransformType::Pointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineTransform
private

Variables used when transform is of type BSpline deformable.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 471 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
BSplineTransformIndexArrayType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineTransformIndices
mutableprotectedinherited

Definition at line 478 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
BSplineTransformIndicesArrayType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineTransformIndicesArray
private
template<class TFixedImage , class TMovingImage >
BSplineTransformWeightsType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineTransformWeights
mutableprotectedinherited

Definition at line 477 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
BSplineTransformWeightsArrayType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineTransformWeightsArray
private
template<class TFixedImage , class TMovingImage >
bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_ComputeGradient
protectedinherited

Definition at line 243 of file itkImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
CubicBSplineDerivativeFunctionType::Pointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_CubicBSplineDerivativeKernel
private
template<class TFixedImage, class TMovingImage>
CubicBSplineFunctionType::Pointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_CubicBSplineKernel
private

Cubic BSpline kernel for computing Parzen histograms.

Definition at line 377 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
DerivativeFunctionType::Pointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_DerivativeCalculator
private

Pointer to central difference calculator.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 417 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
FixedImageConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImage
protectedinherited

Definition at line 237 of file itkImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
double itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageBinSize
private
template<class TFixedImage , class TMovingImage >
FixedImageIndexContainer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageIndexes
protectedinherited

Definition at line 360 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
MarginalPDFType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageMarginalPDF
mutableprivate

The fixed image marginal PDF.

Definition at line 331 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
FixedImageMaskPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageMask
mutableprotectedinherited

Definition at line 250 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
FixedImageMaskConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageMask
protectedinherited

Definition at line 404 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
double itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageNormalizedMin
private
template<class TFixedImage, class TMovingImage>
FixedImageSpatialSampleContainer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageSamples
protected

Container to store a set of points and fixed image values.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 300 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
FixedImagePixelType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageSamplesIntensityThreshold
protectedinherited

Definition at line 363 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
double itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageTrueMax
private
template<class TFixedImage, class TMovingImage>
double itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageTrueMin
private
template<class TFixedImage , class TMovingImage >
GradientImagePointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_GradientImage
protectedinherited

Definition at line 244 of file itkImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_ImplicitDerivativesSecondPass
mutableprivate
template<class TFixedImage, class TMovingImage>
BSplineTransformIndexArrayType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_Indices
mutableprivate
template<class TFixedImage , class TMovingImage >
InterpolatorPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_Interpolator
protectedinherited

Definition at line 241 of file itkImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_InterpolatorIsBSpline
private

Boolean to indicate if the interpolator BSpline.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 400 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
JointPDFType::Pointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_JointPDF
private

The joint PDF and PDF derivatives.

Definition at line 357 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
unsigned long itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_JointPDFBufferSize
private
template<class TFixedImage, class TMovingImage>
JointPDFDerivativesType::Pointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_JointPDFDerivatives
private
template<class TFixedImage, class TMovingImage>
unsigned long itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_JointPDFDerivativesBufferSize
private
template<class TFixedImage, class TMovingImage>
double itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_JointPDFSum
mutableprivate
template<class TFixedImage, class TMovingImage>
DerivativeType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_MetricDerivative
mutableprivate

Helper variable for accumulating the derivative of the metric.

Definition at line 342 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
MovingImageConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImage
protectedinherited

Definition at line 238 of file itkImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
double itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageBinSize
private
template<class TFixedImage, class TMovingImage>
MarginalPDFType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageMarginalPDF
mutableprivate

The moving image marginal PDF.

Definition at line 334 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
MovingImageMaskPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageMask
mutableprotectedinherited

Definition at line 251 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
MovingImageMaskConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageMask
protectedinherited

Definition at line 405 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
double itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageNormalizedMin
private
template<class TFixedImage, class TMovingImage>
double itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageTrueMax
private
template<class TFixedImage, class TMovingImage>
double itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageTrueMin
private
template<class TFixedImage , class TMovingImage >
unsigned long itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_NumberOfFixedImageSamples
protectedinherited

Definition at line 384 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
unsigned long itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_NumberOfHistogramBins
private

Variables to define the marginal and joint histograms.

Definition at line 364 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
unsigned long itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_NumberOfParameters
private
template<class TFixedImage , class TMovingImage >
unsigned long itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_NumberOfPixelsCounted
mutableprotectedinherited

Definition at line 235 of file itkImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
unsigned long itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_NumberOfSpatialSamples
private
template<class TFixedImage , class TMovingImage >
unsigned int itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_NumberOfThreads
protectedinherited
template<class TFixedImage, class TMovingImage>
unsigned long itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_NumBSplineWeights
private

The number of BSpline transform weights is the number of of parameter in the support region (per dimension ).

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 445 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
long itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_NumParametersPerDim
private

The number of BSpline parameters per image dimension.

Definition at line 440 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
ParametersType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_Parameters
mutableprotectedinherited

Definition at line 382 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
ParametersOffsetType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_ParametersOffset
private
template<class TFixedImage, class TMovingImage>
PRatioArrayType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_PRatioArray
mutableprivate
template<class TFixedImage, class TMovingImage>
MovingImagePointArrayType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_PreTransformPointsArray
private
template<class TFixedImage, class TMovingImage>
int itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_RandomSeed
private
InternalReferenceCountType itk::LightObject::m_ReferenceCount
mutableprotectedinherited

Number of uses of this object by other objects.

Definition at line 141 of file itkLightObject.h.

SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock
mutableprotectedinherited

Mutex lock to protect modification to the reference count

Definition at line 144 of file itkLightObject.h.

template<class TFixedImage, class TMovingImage>
bool itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_ReseedIterator
private
template<class TFixedImage , class TMovingImage >
MultiThreaderType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_Threader
protectedinherited
template<class TFixedImage , class TMovingImage >
BSplineTransformIndexArrayType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderBSplineTransformIndices
mutableprotectedinherited

Definition at line 481 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
BSplineTransformWeightsType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderBSplineTransformWeights
mutableprotectedinherited

Definition at line 480 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
PDFValueType* itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderFixedImageMarginalPDF
private
template<class TFixedImage, class TMovingImage>
JointPDFType::Pointer* itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderJointPDF
private
template<class TFixedImage, class TMovingImage>
JointPDFDerivativesType::Pointer* itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderJointPDFDerivatives
private
template<class TFixedImage, class TMovingImage>
int* itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderJointPDFEndBin
private
template<class TFixedImage, class TMovingImage>
int* itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderJointPDFStartBin
private
template<class TFixedImage, class TMovingImage>
double* itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderJointPDFSum
mutableprivate
template<class TFixedImage, class TMovingImage>
DerivativeType* itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderMetricDerivative
mutableprivate
template<class TFixedImage , class TMovingImage >
unsigned int* itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderNumberOfMovingImageSamples
mutableprotectedinherited

Definition at line 525 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
MultiThreaderParameterType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderParameter
protectedinherited

Definition at line 524 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
TransformPointer* itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderTransform
protectedinherited

Copies of Transform helpers per thread (N-1 of them, since m_Transform will do the work for thread=0.

Definition at line 397 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
TransformPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_Transform
mutableprotectedinherited

Main transform to be used in thread = 0

Definition at line 240 of file itkImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_TransformIsBSpline
private

Types and variables related to BSpline deformable transforms. If the transform is of type third order BSplineDeformableTransform, then we can speed up the metric derivative calculation by only inspecting the parameters within the support region of a mapped point. Boolean to indicate if the transform is BSpline deformable.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 437 of file itkMattesMutualInformationImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_UseAllPixels
private
template<class TFixedImage, class TMovingImage>
bool itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_UseCachingOfBSplineWeights
private
template<class TFixedImage, class TMovingImage>
bool itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_UseExplicitPDFDerivatives
private
template<class TFixedImage , class TMovingImage >
bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_UseFixedImageIndexes
protectedinherited

Definition at line 359 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_UseFixedImageSamplesIntensityThreshold
protectedinherited

Definition at line 362 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_UseSequentialSampling
protectedinherited

Definition at line 410 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
BSplineTransformWeightsType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_Weights
mutableprivate
template<class TFixedImage , class TMovingImage >
BooleanArrayType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_WithinBSplineSupportRegionArray
protectedinherited

Definition at line 471 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
BooleanArrayType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::m_WithinSupportRegionArray
private
template<class TFixedImage , class TMovingImage >
bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_WithinThreadPostProcess
protectedinherited

Definition at line 527 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_WithinThreadPreProcess
protectedinherited

Definition at line 526 of file itkOptImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
static const unsigned int itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDimension = MovingImageType::ImageDimension
static

The moving image dimension.

Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.

Definition at line 170 of file itkMattesMutualInformationImageToImageMetric.h.


The documentation for this class was generated from the following files:

Generated at Sun Feb 3 2013 02:05:13 for Orfeo Toolbox with doxygen 1.8.1.1