Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference
[Similarity Metrics of Registration MethodsThread Unsafe classes]

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 >:

Inheritance graph
[legend]
Collaboration diagram for itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >:

Collaboration graph
[legend]

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
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 Superclass::OutputPointType OutputPointType
typedef Superclass::ParametersType ParametersType
typedef Superclass::ParametersType ParametersType
typedef double ParametersValueType
typedef SmartPointer< SelfPointer
typedef SmartPointer< SelfPointer
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
typedef
GradientImageFilterType::Pointer 
GradientImageFilterPointer
typedef
GradientRecursiveGaussianImageFilter
< MovingImageType,
GradientImageType
GradientImageFilterType
typedef SmartPointer
< GradientImageType
GradientImagePointer
typedef Image
< GradientPixelType,
itkGetStaticConstMacro(MovingImageDimension)> 
GradientImageType
typedef CovariantVector
< RealType,
itkGetStaticConstMacro(MovingImageDimension)> 
GradientPixelType
typedef NumericTraits
< MovingImagePixelType >
::RealType 
RealType
typedef
GradientImageFilterType::Pointer 
GradientImageFilterPointer
typedef
GradientRecursiveGaussianImageFilter
< MovingImageType,
GradientImageType
GradientImageFilterType
typedef SmartPointer
< GradientImageType
GradientImagePointer
typedef Image
< GradientPixelType,
itkGetStaticConstMacro(MovingImageDimension)> 
GradientImageType
typedef CovariantVector
< RealType,
itkGetStaticConstMacro(MovingImageDimension)> 
GradientPixelType
typedef NumericTraits
< MovingImagePixelType >
::RealType 
RealType

Public Member Functions

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

Static Public Member Functions

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

Protected Types

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

Protected Member Functions

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
 itkStaticConstMacro (DeformationSplineOrder, unsigned int, 3)
 MattesMutualInformationImageToImageMetric ()
 MattesMutualInformationImageToImageMetric ()
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 SampleFixedImageDomain (FixedImageSampleContainer &samples) const
virtual void SampleFixedImageDomain (FixedImageSpatialSampleContainer &samples)
virtual void SampleFixedImageIndexes (FixedImageSampleContainer &samples) const
virtual void SampleFullFixedImageDomain (FixedImageSampleContainer &samples) const
virtual void SampleFullFixedImageDomain (FixedImageSpatialSampleContainer &samples)
void SynchronizeTransforms () const
virtual void TransformPoint (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, unsigned int threadID) const
virtual void TransformPoint (unsigned int sampleNumber, const ParametersType &parameters, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue) const
virtual void TransformPointWithDerivatives (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, ImageDerivativesType &gradient, unsigned int threadID) const
virtual ~MattesMutualInformationImageToImageMetric ()
virtual ~MattesMutualInformationImageToImageMetric ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) 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
FixedImageMaskConstPointer m_FixedImageMask
FixedImageMaskPointer m_FixedImageMask
FixedImageSpatialSampleContainer m_FixedImageSamples
FixedImagePixelType m_FixedImageSamplesIntensityThreshold
GradientImagePointer m_GradientImage
InterpolatorPointer m_Interpolator
MovingImageConstPointer m_MovingImage
MovingImageMaskConstPointer m_MovingImageMask
MovingImageMaskPointer 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


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

typedef FixedArray< unsigned long, ::itk::GetImageDimension<FixedImageType>::ImageDimension > itk::ImageToImageMetric< TFixedImage , TMovingImage >::BSplineParametersOffsetType [protected, inherited]

Definition at line 456 of file itkOptImageToImageMetric.h.

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

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

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 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

typedef std::vector<FixedImageIndexType> itk::ImageToImageMetric< TFixedImage , TMovingImage >::FixedImageIndexContainer [inherited]

Definition at line 113 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

typedef FixedImageMaskType::ConstPointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::FixedImageMaskConstPointer [inherited]

Definition at line 145 of file itkOptImageToImageMetric.h.

typedef FixedImageMaskType::ConstPointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::FixedImageMaskConstPointer [inherited]

Definition at line 137 of file itkImageToImageMetric.h.

typedef FixedImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::FixedImageMaskPointer [inherited]

Definition at line 144 of file itkOptImageToImageMetric.h.

typedef FixedImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::FixedImageMaskPointer [inherited]

Definition at line 136 of file itkImageToImageMetric.h.

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 143 of file itkOptImageToImageMetric.h.

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 135 of file itkImageToImageMetric.h.

typedef TFixedImage ::PixelType itk::ImageToImageMetric< TFixedImage , TMovingImage >::FixedImagePixelType [inherited]

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

typedef FixedImageType::RegionType itk::ImageToImageMetric< TFixedImage , TMovingImage >::FixedImageRegionType [inherited]

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 299 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.

typedef GradientImageFilterType::Pointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::GradientImageFilterPointer [inherited]

Gaussian filter to compute the gradient of the Moving Image

Definition at line 133 of file itkOptImageToImageMetric.h.

typedef GradientImageFilterType::Pointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::GradientImageFilterPointer [inherited]

Gaussian filter to compute the gradient of the Moving Image

Definition at line 125 of file itkImageToImageMetric.h.

Gaussian filter to compute the gradient of the Moving Image

Definition at line 132 of file itkOptImageToImageMetric.h.

Gaussian filter to compute the gradient of the Moving Image

Definition at line 124 of file itkImageToImageMetric.h.

typedef SmartPointer<GradientImageType> itk::ImageToImageMetric< TFixedImage , TMovingImage >::GradientImagePointer [inherited]

Gaussian filter to compute the gradient of the Moving Image

Definition at line 129 of file itkOptImageToImageMetric.h.

typedef SmartPointer<GradientImageType> itk::ImageToImageMetric< TFixedImage , TMovingImage >::GradientImagePointer [inherited]

Gaussian filter to compute the gradient of the Moving Image

Definition at line 121 of file itkImageToImageMetric.h.

typedef Image<GradientPixelType, itkGetStaticConstMacro(MovingImageDimension)> itk::ImageToImageMetric< TFixedImage , TMovingImage >::GradientImageType [inherited]

Gaussian filter to compute the gradient of the Moving Image

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

Definition at line 128 of file itkOptImageToImageMetric.h.

typedef Image<GradientPixelType, itkGetStaticConstMacro(MovingImageDimension)> itk::ImageToImageMetric< TFixedImage , TMovingImage >::GradientImageType [inherited]

Gaussian filter to compute the gradient of the Moving Image

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

Definition at line 120 of file itkImageToImageMetric.h.

typedef CovariantVector<RealType, itkGetStaticConstMacro(MovingImageDimension)> itk::ImageToImageMetric< TFixedImage , TMovingImage >::GradientPixelType [inherited]

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 Superclass::IndexValueType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::IndexValueType

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

typedef int itk::LightObject::InternalReferenceCountType [protected, inherited]

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

Definition at line 139 of file itkLightObject.h.

typedef InterpolatorType::Pointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::InterpolatorPointer [inherited]

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 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

Definition at line 152 of file itkOptImageToImageMetric.h.

Definition at line 145 of file itkImageToImageMetric.h.

typedef MovingImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::MovingImageMaskPointer [inherited]

Definition at line 151 of file itkOptImageToImageMetric.h.

typedef MovingImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::MovingImageMaskPointer [inherited]

Definition at line 144 of file itkImageToImageMetric.h.

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 150 of file itkOptImageToImageMetric.h.

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 143 of file itkImageToImageMetric.h.

typedef TMovingImage ::PixelType itk::ImageToImageMetric< TFixedImage , TMovingImage >::MovingImagePixelType [inherited]

typedef TMovingImage ::PixelType itk::ImageToImageMetric< TFixedImage , TMovingImage >::MovingImagePixelType [inherited]

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.

typedef MultiThreader itk::ImageToImageMetric< TFixedImage , TMovingImage >::MultiThreaderType [protected, inherited]

Types and variables related to multi-threading

Definition at line 528 of file itkOptImageToImageMetric.h.

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

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.

Definition at line 46 of file itkCostFunction.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

typedef NumericTraits<MovingImagePixelType>::RealType itk::ImageToImageMetric< TFixedImage , TMovingImage >::RealType [inherited]

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

typedef TransformType::ParametersType itk::ImageToImageMetric< TFixedImage , TMovingImage >::TransformParametersType [inherited]

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


Constructor & Destructor Documentation

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

template<class TFixedImage , class TMovingImage >
virtual itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::~MattesMutualInformationImageToImageMetric (  )  [inline, protected, virtual]

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

template<class TFixedImage , class TMovingImage >
virtual itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::~MattesMutualInformationImageToImageMetric (  )  [protected, virtual]


Member Function Documentation

unsigned long itk::Object::AddObserver ( const EventObject event,
Command  
) const [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

unsigned long itk::Object::AddObserver ( const EventObject event,
Command  
) [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

static void itk::LightObject::BreakOnError (  )  [static, inherited]

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

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::ComputeGradient ( void   )  [virtual, inherited]

Computes the gradient image and assigns it to m_GradientImage

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

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::ComputeGradient ( void   )  [virtual, inherited]

Computes the gradient image and assigns it to m_GradientImage

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

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::ComputeGradientOff (  )  [virtual, inherited]

Set/Get gradient computation.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::ComputeGradientOff (  )  [virtual, inherited]

Set/Get gradient computation.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::ComputeGradientOn (  )  [virtual, inherited]

Set/Get gradient computation.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::ComputeGradientOn (  )  [virtual, inherited]

Set/Get gradient computation.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::ComputeImageDerivatives ( const MovingImagePointType mappedPoint,
ImageDerivativesType gradient,
unsigned int  threadID 
) const [protected, virtual, inherited]

Compute image derivatives at a point.

virtual LightObject::Pointer itk::Object::CreateAnother (  )  const [virtual, inherited]

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::LightObject.

virtual void itk::Object::DebugOff (  )  const [virtual, inherited]

Turn debugging output off.

virtual void itk::Object::DebugOn (  )  const [virtual, inherited]

Turn debugging output on.

virtual void itk::LightObject::Delete (  )  [virtual, inherited]

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.

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.

virtual const bool& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetComputeGradient (  )  [virtual, inherited]

Set/Get gradient computation.

virtual const bool& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetComputeGradient (  )  [virtual, inherited]

Set/Get gradient computation.

bool itk::Object::GetDebug (  )  const [inherited]

Get the value of the debug flag.

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.

Implements itk::SingleValuedCostFunction.

virtual const FixedImageType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetFixedImage (  )  [virtual, inherited]

Get the Fixed Image.

virtual const FixedImageType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetFixedImage (  )  [virtual, inherited]

Get the Fixed Image.

virtual const FixedImageMaskType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetFixedImageMask (  )  [virtual, inherited]

Set/Get the fixed image mask.

virtual const FixedImageMaskType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetFixedImageMask (  )  [virtual, inherited]

Set/Get the fixed image mask.

virtual const FixedImageRegionType& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetFixedImageRegion (  )  [virtual, inherited]

Get the region over which the metric will be computed

virtual const FixedImageRegionType& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetFixedImageRegion (  )  [virtual, inherited]

Get the region over which the metric will be computed

virtual const FixedImagePixelType& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetFixedImageSamplesIntensityThreshold (  )  [virtual, inherited]

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

static bool itk::Object::GetGlobalWarningDisplay (  )  [static, inherited]

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

virtual const GradientImageType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetGradientImage (  )  [virtual, inherited]

Get Gradient Image.

virtual const GradientImageType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetGradientImage (  )  [virtual, inherited]

Get Gradient Image.

virtual const InterpolatorType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetInterpolator (  )  [virtual, inherited]

Get a pointer to the Interpolator.

virtual const InterpolatorType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetInterpolator (  )  [virtual, inherited]

Get a pointer to the Interpolator.

const MetaDataDictionary& itk::Object::GetMetaDataDictionary ( void   )  const [inherited]

Returns:
A constant reference to this objects MetaDataDictionary.

MetaDataDictionary& itk::Object::GetMetaDataDictionary ( void   )  [inherited]

Returns:
A reference to this objects MetaDataDictionary.
Warning:
This reference may be changed.

virtual const MovingImageType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetMovingImage ( void   )  [virtual, inherited]

Get the Moving Image.

virtual const MovingImageType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetMovingImage ( void   )  [virtual, inherited]

Get the Moving Image.

virtual const MovingImageMaskType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetMovingImageMask (  )  [virtual, inherited]

Set/Get the moving image mask.

virtual const MovingImageMaskType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetMovingImageMask (  )  [virtual, inherited]

Set/Get the moving image mask.

virtual unsigned long itk::Object::GetMTime (  )  const [virtual, inherited]

Return this objects modified time.

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

Referenced by itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime().

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 >.

virtual const unsigned long& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetNumberOfFixedImageSamples (  )  [virtual, inherited]

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

template<class TFixedImage , class TMovingImage >
virtual const unsigned long& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfHistogramBins (  )  [virtual]

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

template<class TFixedImage , class TMovingImage >
virtual const unsigned long& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfHistogramBins (  )  [virtual]

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

unsigned long itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetNumberOfMovingImageSamples ( void   )  [inline, inherited]

Get the number of pixels considered in the computation.

Definition at line 189 of file itkOptImageToImageMetric.h.

unsigned int itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetNumberOfParameters ( void   )  const [inline, virtual, inherited]

unsigned int itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetNumberOfParameters ( void   )  const [inline, virtual, inherited]

virtual const unsigned long& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetNumberOfPixelsCounted (  )  [virtual, inherited]

Get the number of pixels considered in the computation.

virtual const unsigned long& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetNumberOfPixelsCounted (  )  [virtual, inherited]

Get the number of pixels considered in the computation.

template<class TFixedImage , class TMovingImage >
virtual const unsigned long& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfSpatialSamples (  )  [virtual]

Number of spatial samples to used to compute metric

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

virtual const unsigned int& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetNumberOfThreads (  )  [virtual, inherited]

Set/Get number of threads to use for computations.

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

virtual int itk::LightObject::GetReferenceCount (  )  const [inline, virtual, inherited]

Gets the reference count on this object.

Definition at line 106 of file itkLightObject.h.

virtual const TransformType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetTransform (  )  [virtual, inherited]

Get a pointer to the Transform.

virtual const TransformType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetTransform (  )  [virtual, inherited]

Get a pointer to the Transform.

template<class TFixedImage , class TMovingImage >
virtual const bool& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetUseAllPixels (  )  [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 const bool& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetUseCachingOfBSplineWeights (  )  [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 const bool& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetUseExplicitPDFDerivatives (  )  [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 const bool& itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetUseExplicitPDFDerivatives (  )  [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.

virtual const bool& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetUseFixedImageIndexes (  )  [virtual, inherited]

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

virtual const bool& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetUseFixedImageSamplesIntensityThreshold (  )  [virtual, inherited]

virtual const bool& itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetUseSequentialSampling (  )  [virtual, 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.

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 >
MeasureType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::GetValue ( const ParametersType parameters  )  const [virtual]

Get the value.

Implements itk::SingleValuedCostFunction.

virtual void itk::SingleValuedCostFunction::GetValueAndDerivative ( const ParametersType parameters,
MeasureType value,
DerivativeType derivative 
) const [inline, virtual, inherited]

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

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.

static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueAndDerivativeMultiThreaded ( void *  arg  )  [static, protected, inherited]

void itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueAndDerivativeMultiThreadedInitiate ( void   )  const [protected, inherited]

static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueAndDerivativeMultiThreadedPostProcess ( void *  arg  )  [static, protected, inherited]

void itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueAndDerivativeMultiThreadedPostProcessInitiate ( void   )  const [protected, inherited]

static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueAndDerivativeMultiThreadedPreProcess ( void *  arg  )  [static, protected, inherited]

void itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueAndDerivativeMultiThreadedPreProcessInitiate ( void   )  const [protected, inherited]

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueAndDerivativeThread ( unsigned int  threadID  )  const [inline, protected, virtual, inherited]

static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueMultiThreaded ( void *  arg  )  [static, protected, inherited]

void itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueMultiThreadedInitiate ( void   )  const [protected, inherited]

static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueMultiThreadedPostProcess ( void *  arg  )  [static, protected, inherited]

void itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueMultiThreadedPostProcessInitiate ( void   )  const [protected, inherited]

static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueMultiThreadedPreProcess ( void *  arg  )  [static, protected, inherited]

void itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueMultiThreadedPreProcessInitiate ( void   )  const [protected, inherited]

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::GetValueThread ( unsigned int  threadID  )  const [inline, protected, virtual, inherited]

static void itk::Object::GlobalWarningDisplayOff (  )  [inline, static, inherited]

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

Definition at line 100 of file itkObject.h.

References itk::Object::SetGlobalWarningDisplay().

static void itk::Object::GlobalWarningDisplayOn (  )  [inline, static, inherited]

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

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.

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 >
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 >.

void itk::Object::InvokeEvent ( const EventObject  )  const [inherited]

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

void itk::Object::InvokeEvent ( const EventObject  )  [inherited]

Call Execute on all the Commands observing this event id.

itk::ImageToImageMetric< TFixedImage , TMovingImage >::itkStaticConstMacro ( DeformationSplineOrder  ,
unsigned  int,
 
) [protected, inherited]

itk::ImageToImageMetric< TFixedImage , TMovingImage >::itkStaticConstMacro ( FixedImageDimension  ,
unsigned  int,
TFixedImage ::ImageDimension   
) [inherited]

Constants for the image dimensions

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

itk::ImageToImageMetric< TFixedImage , TMovingImage >::itkStaticConstMacro ( MovingImageDimension  ,
unsigned  int,
TMovingImage ::ImageDimension   
) [inherited]

Constants for the image dimensions

template<class TFixedImage , class TMovingImage >
itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro ( MovingImageDimension  ,
unsigned  int,
MovingImageType::ImageDimension   
)

The moving image dimension.

template<class TFixedImage , class TMovingImage >
itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro ( MovingImageDimension  ,
unsigned  int,
MovingImageType::ImageDimension   
)

The moving image dimension.

virtual void itk::Object::Modified (  )  const [virtual, inherited]

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

Reimplemented in itk::NormalizeImageFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, PixelAccessor >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, and itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, RankImageFilter< TInputImage, TInputImage, FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >.

Referenced by itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::InsertNarrowBandNode(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::SetNarrowBand(), itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, TOutputImage >::SetNarrowBandTotalRadius(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), itk::NonUniformBSpline< TDimension >::SetSplineOrder(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::Statistics::GoodnessOfFitFunctionBase< TInputHistogram >::SetTotalObservedScale(), and itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation().

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::MultiThreadingInitialize ( void   )  throw ( ExceptionObject ) [virtual, inherited]

Initialize the components related to supporting multiple threads

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.

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

Cause the object to print itself out.

Referenced by itk::WeakPointer< ProcessObject >::Print().

virtual void itk::LightObject::PrintHeader ( std::ostream &  os,
Indent  indent 
) const [protected, virtual, inherited]

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

bool itk::Object::PrintObservers ( std::ostream &  os,
Indent  indent 
) const [protected, inherited]

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

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

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

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

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

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

virtual void itk::LightObject::PrintTrailer ( std::ostream &  os,
Indent  indent 
) const [protected, virtual, inherited]

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

virtual void itk::Object::Register (  )  const [virtual, inherited]

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

Reimplemented from itk::LightObject.

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

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 >.

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 >.

void itk::Object::RemoveAllObservers (  )  [inherited]

Remove all observers .

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

Remove the observer with this tag value.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SampleFixedImageDomain ( FixedImageSampleContainer &  samples  )  const [protected, virtual, inherited]

Uniformly select a sample set from the fixed image domain.

template<class TFixedImage , class TMovingImage >
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SampleFixedImageDomain ( FixedImageSpatialSampleContainer samples  )  [protected, virtual]

Uniformly select a sample set from the fixed image domain.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SampleFixedImageIndexes ( FixedImageSampleContainer &  samples  )  const [protected, virtual, inherited]

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SampleFullFixedImageDomain ( FixedImageSampleContainer &  samples  )  const [protected, virtual, inherited]

Gather all the pixels from the fixed image domain.

template<class TFixedImage , class TMovingImage >
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::SampleFullFixedImageDomain ( FixedImageSpatialSampleContainer samples  )  [protected, virtual]

Gather all the pixels from the fixed image domain.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetComputeGradient ( bool  _arg  )  [virtual, inherited]

Set/Get gradient computation.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetComputeGradient ( bool  _arg  )  [virtual, inherited]

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.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetFixedImage ( const FixedImageType *  _arg  )  [virtual, inherited]

Connect the Fixed Image.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetFixedImage ( const FixedImageType *  _arg  )  [virtual, inherited]

Connect the Fixed Image.

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

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetFixedImageMask ( const FixedImageMaskType _arg  )  [virtual, inherited]

Set/Get the fixed image mask.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetFixedImageMask ( FixedImageMaskType _arg  )  [virtual, inherited]

Set/Get the fixed image mask.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetFixedImageMask ( const FixedImageMaskType mask  )  [inline, virtual, inherited]

Set/Get the fixed image mask.

Definition at line 206 of file itkImageToImageMetric.h.

References itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageMask().

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetFixedImageMask ( FixedImageMaskType _arg  )  [virtual, inherited]

Set/Get the fixed image mask.

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

Set the region over which the metric will be computed

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetFixedImageRegion ( FixedImageRegionType  _arg  )  [virtual, inherited]

Set the region over which the metric will be computed

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

static void itk::Object::SetGlobalWarningDisplay ( bool  flag  )  [static, inherited]

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

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

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetInterpolator ( InterpolatorType _arg  )  [virtual, inherited]

Connect the Interpolator.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetInterpolator ( InterpolatorType _arg  )  [virtual, inherited]

Connect the Interpolator.

void itk::Object::SetMetaDataDictionary ( const MetaDataDictionary rhs  )  [inherited]

Returns:
Set the MetaDataDictionary

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetMovingImage ( const MovingImageType *  _arg  )  [virtual, inherited]

Connect the Moving Image.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetMovingImage ( const MovingImageType *  _arg  )  [virtual, inherited]

Connect the Moving Image.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetMovingImageMask ( const MovingImageMaskType _arg  )  [virtual, inherited]

Set/Get the moving image mask.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetMovingImageMask ( MovingImageMaskType _arg  )  [virtual, inherited]

Set/Get the moving image mask.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetMovingImageMask ( const MovingImageMaskType mask  )  [inline, virtual, inherited]

Set/Get the moving image mask.

Definition at line 195 of file itkImageToImageMetric.h.

References itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageMask().

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetMovingImageMask ( MovingImageMaskType _arg  )  [virtual, inherited]

Set/Get the moving image mask.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetNumberOfFixedImageSamples ( unsigned long  numSamples  )  [virtual, inherited]

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

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.

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.

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 >.

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

Set/Get number of threads to use for computations.

virtual void itk::Object::SetReferenceCount ( int   )  [virtual, inherited]

Sets the reference count (use with care)

Reimplemented from itk::LightObject.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetTransform ( TransformType _arg  )  [virtual, inherited]

Connect the Transform.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetTransform ( TransformType _arg  )  [virtual, inherited]

Connect the Transform.

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

Set the parameters defining the Transform.

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.

void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetUseFixedImageIndexes ( bool  useIndex  )  [inherited]

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

void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SetUseFixedImageSamplesIntensityThreshold ( bool  useThresh  )  [inherited]

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.

void itk::ImageToImageMetric< TFixedImage , TMovingImage >::SynchronizeTransforms (  )  const [protected, inherited]

Synchronizes the threader transforms with the transform member variable.

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::TransformPoint ( unsigned int  sampleNumber,
MovingImagePointType mappedPoint,
bool &  sampleWithinSupportRegion,
double &  movingImageValue,
unsigned int  threadID 
) const [protected, virtual, inherited]

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

template<class TFixedImage , class TMovingImage >
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::TransformPoint ( unsigned int  sampleNumber,
const ParametersType parameters,
MovingImagePointType mappedPoint,
bool &  sampleWithinSupportRegion,
double &  movingImageValue 
) const [protected, virtual]

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

virtual void itk::ImageToImageMetric< TFixedImage , TMovingImage >::TransformPointWithDerivatives ( unsigned int  sampleNumber,
MovingImagePointType mappedPoint,
bool &  sampleWithinSupportRegion,
double &  movingImageValue,
ImageDerivativesType gradient,
unsigned int  threadID 
) const [protected, virtual, inherited]

virtual void itk::Object::UnRegister (  )  const [virtual, inherited]

Decrease the reference count (release by another object).

Reimplemented from itk::LightObject.

template<class TFixedImage , class TMovingImage >
virtual void itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::UseAllPixelsOff (  )  [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 >::UseAllPixelsOn (  )  [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 >::UseCachingOfBSplineWeightsOff (  )  [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 >::UseCachingOfBSplineWeightsOn (  )  [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 >::UseExplicitPDFDerivativesOff (  )  [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 >::UseExplicitPDFDerivativesOff (  )  [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 >::UseExplicitPDFDerivativesOn (  )  [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 >::UseExplicitPDFDerivativesOn (  )  [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.


Member Data Documentation

BSplineParametersOffsetType itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_BSplineParametersOffset [protected, inherited]

Definition at line 482 of file itkOptImageToImageMetric.h.

MovingImagePointArrayType itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_BSplinePreTransformPointsArray [protected, inherited]

Definition at line 479 of file itkOptImageToImageMetric.h.

BSplineTransformIndexArrayType itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_BSplineTransformIndices [mutable, protected, inherited]

Definition at line 487 of file itkOptImageToImageMetric.h.

BSplineTransformWeightsType itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_BSplineTransformWeights [mutable, protected, inherited]

Definition at line 486 of file itkOptImageToImageMetric.h.

bool itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_ComputeGradient [protected, inherited]

Definition at line 248 of file itkImageToImageMetric.h.

FixedImageConstPointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_FixedImage [protected, inherited]

Definition at line 242 of file itkImageToImageMetric.h.

FixedImageIndexContainer itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_FixedImageIndexes [protected, inherited]

Definition at line 367 of file itkOptImageToImageMetric.h.

FixedImageMaskConstPointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_FixedImageMask [protected, inherited]

Definition at line 412 of file itkOptImageToImageMetric.h.

FixedImageMaskPointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_FixedImageMask [mutable, protected, inherited]

Definition at line 255 of file itkImageToImageMetric.h.

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 302 of file itkMattesMutualInformationImageToImageMetric.h.

FixedImagePixelType itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_FixedImageSamplesIntensityThreshold [protected, inherited]

Definition at line 370 of file itkOptImageToImageMetric.h.

GradientImagePointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_GradientImage [protected, inherited]

Definition at line 249 of file itkImageToImageMetric.h.

InterpolatorPointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_Interpolator [protected, inherited]

Definition at line 246 of file itkImageToImageMetric.h.

MovingImageConstPointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_MovingImage [protected, inherited]

Definition at line 243 of file itkImageToImageMetric.h.

MovingImageMaskConstPointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_MovingImageMask [protected, inherited]

Definition at line 413 of file itkOptImageToImageMetric.h.

MovingImageMaskPointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_MovingImageMask [mutable, protected, inherited]

Definition at line 256 of file itkImageToImageMetric.h.

unsigned long itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_NumberOfFixedImageSamples [protected, inherited]

Definition at line 391 of file itkOptImageToImageMetric.h.

unsigned long itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_NumberOfPixelsCounted [mutable, protected, inherited]

Definition at line 240 of file itkImageToImageMetric.h.

unsigned int itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_NumberOfThreads [protected, inherited]

Definition at line 415 of file itkOptImageToImageMetric.h.

ParametersType itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_Parameters [mutable, protected, inherited]

Definition at line 389 of file itkOptImageToImageMetric.h.

Number of uses of this object by other objects.

Definition at line 144 of file itkLightObject.h.

Mutex lock to protect modification to the reference count

Definition at line 147 of file itkLightObject.h.

MultiThreaderType::Pointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_Threader [protected, inherited]

Definition at line 535 of file itkOptImageToImageMetric.h.

BSplineTransformIndexArrayType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_ThreaderBSplineTransformIndices [mutable, protected, inherited]

Definition at line 490 of file itkOptImageToImageMetric.h.

BSplineTransformWeightsType* itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_ThreaderBSplineTransformWeights [mutable, protected, inherited]

Definition at line 489 of file itkOptImageToImageMetric.h.

unsigned int* itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_ThreaderNumberOfMovingImageSamples [mutable, protected, inherited]

Definition at line 537 of file itkOptImageToImageMetric.h.

MultiThreaderParameterType itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_ThreaderParameter [protected, inherited]

Definition at line 536 of file itkOptImageToImageMetric.h.

TransformPointer* itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_ThreaderTransform [protected, inherited]

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

Definition at line 405 of file itkOptImageToImageMetric.h.

TransformPointer itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_Transform [mutable, protected, inherited]

Main transform to be used in thread = 0

Definition at line 245 of file itkImageToImageMetric.h.

bool itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_UseFixedImageIndexes [protected, inherited]

Definition at line 366 of file itkOptImageToImageMetric.h.

bool itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_UseFixedImageSamplesIntensityThreshold [protected, inherited]

Definition at line 369 of file itkOptImageToImageMetric.h.

bool itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_UseSequentialSampling [protected, inherited]

Definition at line 418 of file itkOptImageToImageMetric.h.

BooleanArrayType itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_WithinBSplineSupportRegionArray [protected, inherited]

Definition at line 480 of file itkOptImageToImageMetric.h.

bool itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_WithinThreadPostProcess [protected, inherited]

Definition at line 539 of file itkOptImageToImageMetric.h.

bool itk::ImageToImageMetric< TFixedImage , TMovingImage >::m_WithinThreadPreProcess [protected, inherited]

Definition at line 538 of file itkOptImageToImageMetric.h.


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

Generated at Tue Sep 15 10:31:19 2009 for ITK by doxygen 1.5.8 written by Dimitri van Heesch, © 1997-2000