Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes

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

typedef NumericTraits
< MovingImagePixelType >
::RealType 
RealType
typedef CovariantVector
< RealType,
itkGetStaticConstMacro(MovingImageDimension)> 
GradientPixelType
typedef Image
< GradientPixelType,
itkGetStaticConstMacro(MovingImageDimension)> 
GradientImageType
typedef SmartPointer
< GradientImageType
GradientImagePointer
typedef
GradientRecursiveGaussianImageFilter
< MovingImageType,
GradientImageType
GradientImageFilterType
typedef
GradientImageFilterType::Pointer 
GradientImageFilterPointer

Public Member Functions

virtual void ComputeGradient ()
virtual void ComputeGradient (void)
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 void GetDerivative (const ParametersType &parameters, DerivativeType &derivative) const =0
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
virtual MeasureType GetValue (const ParametersType &parameters) const =0
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 &)
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)
virtual void SetFixedImageRegion (FixedImageRegionType _arg)
void SetFixedImageRegion (const FixedImageRegionType reg)
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

virtual void SetNumberOfSpatialSamples (unsigned long _arg)
virtual const unsigned long & GetNumberOfSpatialSamples ()

virtual void SetNumberOfHistogramBins (unsigned long _arg)
virtual const unsigned long & GetNumberOfHistogramBins ()

void ReinitializeSeed ()
void ReinitializeSeed (int)

virtual void SetUseAllPixels (bool _arg)
virtual const bool & GetUseAllPixels ()
virtual void UseAllPixelsOn ()
virtual void UseAllPixelsOff ()

virtual void SetUseExplicitPDFDerivatives (bool _arg)
virtual const bool & GetUseExplicitPDFDerivatives ()
virtual void UseExplicitPDFDerivativesOn ()
virtual void UseExplicitPDFDerivativesOff ()

virtual void SetUseCachingOfBSplineWeights (bool _arg)
virtual const bool & GetUseCachingOfBSplineWeights ()
virtual void UseCachingOfBSplineWeightsOn ()
virtual void UseCachingOfBSplineWeightsOff ()

virtual void SetNumberOfHistogramBins (unsigned long _arg)
virtual const unsigned long & GetNumberOfHistogramBins ()

virtual void SetUseExplicitPDFDerivatives (bool _arg)
virtual const bool & GetUseExplicitPDFDerivatives ()
virtual void UseExplicitPDFDerivativesOn ()
virtual void UseExplicitPDFDerivativesOff ()

virtual const unsigned long & GetNumberOfPixelsCounted ()
unsigned long GetNumberOfMovingImageSamples (void)

virtual void SetMovingImageMask (MovingImageMaskType *_arg)
virtual void SetMovingImageMask (const MovingImageMaskType *mask)
virtual const MovingImageMaskTypeGetMovingImageMask ()

virtual void SetMovingImageMask (MovingImageMaskType *_arg)
virtual void SetMovingImageMask (const MovingImageMaskType *_arg)
virtual const MovingImageMaskTypeGetMovingImageMask ()

virtual void SetFixedImageMask (FixedImageMaskType *_arg)
virtual void SetFixedImageMask (const FixedImageMaskType *mask)
virtual const FixedImageMaskTypeGetFixedImageMask ()

virtual void SetFixedImageMask (FixedImageMaskType *_arg)
virtual void SetFixedImageMask (const FixedImageMaskType *_arg)
virtual const FixedImageMaskTypeGetFixedImageMask ()

virtual void SetComputeGradient (bool _arg)
virtual const bool & GetComputeGradient ()
virtual void ComputeGradientOn ()
virtual void ComputeGradientOff ()

virtual void SetComputeGradient (bool _arg)
virtual const bool & GetComputeGradient ()
virtual void ComputeGradientOn ()
virtual void ComputeGradientOff ()

void SetFixedImageIndexes (const FixedImageIndexContainer &indexes)
void SetUseFixedImageIndexes (bool useIndex)
virtual const bool & GetUseFixedImageIndexes ()

void SetNumberOfThreads (unsigned int numberOfThreads)
virtual const unsigned int & GetNumberOfThreads ()

virtual void SetNumberOfFixedImageSamples (unsigned long numSamples)
virtual const unsigned long & GetNumberOfFixedImageSamples ()

void SetFixedImageSamplesIntensityThreshold (const FixedImagePixelType &thresh)
virtual const FixedImagePixelTypeGetFixedImageSamplesIntensityThreshold ()

void SetUseSequentialSampling (bool sequentialSampling)
virtual const bool & GetUseSequentialSampling ()

virtual const MultiThreaderTypeGetThreader ()
const TransformPointerGetThreaderTransform ()

virtual void GetValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const

unsigned long AddObserver (const EventObject &event, Command *)
unsigned long AddObserver (const EventObject &event, Command *) const

Static Public Member Functions

static void BreakOnError ()
static Pointer New ()
static Pointer New ()

static void SetGlobalWarningDisplay (bool flag)
static bool GetGlobalWarningDisplay ()
static void GlobalWarningDisplayOn ()
static void GlobalWarningDisplayOff ()

Static Public Attributes

static const unsigned int MovingImageDimension = MovingImageType::ImageDimension

Protected Types

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

typedef int InternalReferenceCountType

Protected Member Functions

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
 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 (FixedImageSpatialSampleContainer &samples)
virtual void SampleFixedImageIndexes (FixedImageSampleContainer &samples) const
virtual void SampleFixedImageRegion (FixedImageSampleContainer &samples) const
virtual void SampleFullFixedImageDomain (FixedImageSpatialSampleContainer &samples)
virtual void SampleFullFixedImageRegion (FixedImageSampleContainer &samples) const
virtual void SynchronizeTransforms () const
virtual void TransformPoint (unsigned int sampleNumber, const ParametersType &parameters, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue) const
virtual void TransformPoint (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, unsigned int threadID) const
virtual void TransformPointWithDerivatives (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, ImageDerivativesType &gradient, unsigned int threadID) const
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
FixedImageMaskPointer m_FixedImageMask
FixedImageMaskConstPointer m_FixedImageMask
FixedImageSpatialSampleContainer m_FixedImageSamples
FixedImagePixelType m_FixedImageSamplesIntensityThreshold
GradientImagePointer m_GradientImage
InterpolatorPointer m_Interpolator
MovingImageConstPointer m_MovingImage
MovingImageMaskPointer m_MovingImageMask
MovingImageMaskConstPointer m_MovingImageMask
unsigned long m_NumberOfFixedImageSamples
unsigned long m_NumberOfPixelsCounted
unsigned int m_NumberOfThreads
ParametersType m_Parameters
InternalReferenceCountType m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock
MultiThreaderType::Pointer m_Threader
BSplineTransformIndexArrayTypem_ThreaderBSplineTransformIndices
BSplineTransformWeightsTypem_ThreaderBSplineTransformWeights
unsigned int * m_ThreaderNumberOfMovingImageSamples
MultiThreaderParameterType m_ThreaderParameter
TransformPointerm_ThreaderTransform
TransformPointer m_Transform
bool m_UseFixedImageIndexes
bool m_UseFixedImageSamplesIntensityThreshold
bool m_UseSequentialSampling
BooleanArrayType m_WithinBSplineSupportRegionArray
bool m_WithinThreadPostProcess
bool m_WithinThreadPreProcess

Detailed Description

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Definition at line 125 of file itkMattesMutualInformationImageToImageMetric.h.


Member Typedef Documentation

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

Definition at line 465 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 158 of file itkMattesMutualInformationImageToImageMetric.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 154 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::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::FixedImageConstPointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::FixedImageConstPointer itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef std::vector<FixedImageIndexType> itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexContainer [inherited]

Definition at line 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
template<class TFixedImage , class TMovingImage >
typedef FixedImageMaskType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskConstPointer [inherited]

Definition at line 137 of file itkImageToImageMetric.h.

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

Definition at line 145 of file itkOptImageToImageMetric.h.

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

Definition at line 144 of file itkOptImageToImageMetric.h.

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

Definition at line 136 of file itkImageToImageMetric.h.

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

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

Definition at line 135 of file itkImageToImageMetric.h.

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

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

Definition at line 143 of file itkOptImageToImageMetric.h.

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

FixedImageSpatialSample typedef support.

Definition at line 303 of file itkMattesMutualInformationImageToImageMetric.h.

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

Type of the fixed Image.

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

Definition at line 150 of file itkMattesMutualInformationImageToImageMetric.h.

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

Gaussian filter to compute the gradient of the Moving Image

Definition at line 125 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
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.

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

Gaussian filter to compute the gradient of the Moving Image

Definition at line 132 of file itkOptImageToImageMetric.h.

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

Gaussian filter to compute the gradient of the Moving Image

Definition at line 124 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
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.

template<class TFixedImage , class TMovingImage >
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.

template<class TFixedImage , class TMovingImage >
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.

template<class TFixedImage , class TMovingImage >
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.

template<class TFixedImage , class TMovingImage >
typedef CovariantVector<RealType, itkGetStaticConstMacro(MovingImageDimension)> itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType [inherited]
template<class TFixedImage , class TMovingImage >
typedef CovariantVector<RealType, itkGetStaticConstMacro(MovingImageDimension)> itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType [inherited]
template<class TFixedImage , class TMovingImage >
typedef Superclass::ImageDerivativesType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::ImageDerivativesType
template<class TFixedImage , class TMovingImage >
typedef 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.

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

Type of the Interpolator Base class

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

Definition at line 139 of file itkOptMattesMutualInformationImageToImageMetric.h.

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

Type of the Interpolator Base class

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

Definition at line 146 of file itkMattesMutualInformationImageToImageMetric.h.

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

Type of the measure.

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

Definition at line 140 of file itkOptMattesMutualInformationImageToImageMetric.h.

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

Type of the measure.

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

Definition at line 147 of file itkMattesMutualInformationImageToImageMetric.h.

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

Definition at line 152 of file itkOptImageToImageMetric.h.

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

Definition at line 145 of file itkImageToImageMetric.h.

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

Definition at line 144 of file itkImageToImageMetric.h.

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

Definition at line 151 of file itkOptImageToImageMetric.h.

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

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

Definition at line 150 of file itkOptImageToImageMetric.h.

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

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

Definition at line 143 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef TMovingImage::PixelType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType [inherited]
template<class TFixedImage , class TMovingImage >
typedef TMovingImage::PixelType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType [inherited]
template<class TFixedImage , class TMovingImage >
typedef TransformType::OutputPointType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointType
template<class TFixedImage , class TMovingImage >
typedef Superclass::MovingImagePointType 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 151 of file itkMattesMutualInformationImageToImageMetric.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 144 of file itkOptMattesMutualInformationImageToImageMetric.h.

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

Definition at line 335 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef FixedImageType::OffsetValueType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::OffsetValueType
template<class TFixedImage , class TMovingImage >
typedef FixedImageType::OffsetValueType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::OffsetValueType
template<class TFixedImage , class TMovingImage >
typedef Superclass::OutputPointType itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::OutputPointType
template<class TFixedImage , class TMovingImage >
typedef 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
template<class TFixedImage , class TMovingImage >
typedef NumericTraits<MovingImagePixelType>::RealType itk::ImageToImageMetric< TFixedImage, TMovingImage >::RealType [inherited]
template<class TFixedImage , class TMovingImage >
typedef NumericTraits<MovingImagePixelType>::RealType itk::ImageToImageMetric< TFixedImage, TMovingImage >::RealType [inherited]
template<class TFixedImage , class TMovingImage >
typedef MattesMutualInformationImageToImageMetric itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >::Self

Standard class typedefs.

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

Definition at line 123 of file itkOptMattesMutualInformationImageToImageMetric.h.

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

Standard class typedefs.

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

Definition at line 131 of file itkMattesMutualInformationImageToImageMetric.h.

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

Types inherited from Superclass.

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

Definition at line 140 of file itkMattesMutualInformationImageToImageMetric.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 133 of file itkOptMattesMutualInformationImageToImageMetric.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  
) [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  
) 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

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

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

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

Computes the gradient image and assigns it to m_GradientImage

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

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

Computes the gradient image and assigns it to m_GradientImage

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

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

Set/Get gradient computation.

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

Set/Get gradient computation.

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

Set/Get gradient computation.

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

Set/Get gradient computation.

template<class TFixedImage , class TMovingImage >
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]
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.

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

Set/Get gradient computation.

template<class TFixedImage , class TMovingImage >
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

Get the derivatives of the match measure.

virtual void itk::SingleValuedCostFunction::GetDerivative ( const ParametersType parameters,
DerivativeType derivative 
) const [pure virtual, inherited]

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

Implemented in itk::Statistics::GoodnessOfFitMixtureModelCostFunction< TInputSample >.

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

Get the derivatives of the match measure.

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

Get the Fixed Image.

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

Get the Fixed Image.

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

Set/Get the fixed image mask.

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

Set/Get the fixed image mask.

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

Get the region over which the metric will be computed

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

Get the region over which the metric will be computed

template<class TFixedImage , class TMovingImage >
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.

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

Get Gradient Image.

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

Get Gradient Image.

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

Get a pointer to the Interpolator.

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

Get a pointer to the Interpolator.

MetaDataDictionary& itk::Object::GetMetaDataDictionary ( void   )  [inherited]
Returns:
A reference to this objects MetaDataDictionary.
Warning:
This reference may be changed.
const MetaDataDictionary& itk::Object::GetMetaDataDictionary ( void   )  const [inherited]
Returns:
A constant reference to this objects MetaDataDictionary.
template<class TFixedImage , class TMovingImage >
virtual const MovingImageType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetMovingImage (  )  [virtual, inherited]

Get the Moving Image.

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

Get the Moving Image.

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

Set/Get the moving image mask.

template<class TFixedImage , class TMovingImage >
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::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::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 >.

template<class TFixedImage , class 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. The minimum value is 5 due to the padding required by the Parzen windowing with a cubic-BSpline kernel. Note that even if the metric is used on binary images, the number of bins should at least be equal to five.

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

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

template<class TFixedImage , class TMovingImage >
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.

template<class TFixedImage , class TMovingImage >
unsigned int itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters ( void   )  const [inline, virtual, inherited]
template<class TFixedImage , class TMovingImage >
unsigned int itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters ( void   )  const [inline, virtual, inherited]
template<class TFixedImage , class TMovingImage >
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::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 >.

template<class TFixedImage , class 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.

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

Get the Threader.

template<class TFixedImage , class TMovingImage >
const TransformPointer* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetThreaderTransform (  )  [inline, inherited]

Get the Threader.

Definition at line 341 of file itkOptImageToImageMetric.h.

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

Get a pointer to the Transform.

template<class TFixedImage , class TMovingImage >
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.

template<class TFixedImage , class TMovingImage >
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

template<class TFixedImage , class TMovingImage >
virtual const bool& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetUseFixedImageSamplesIntensityThreshold (  )  [virtual, inherited]
template<class TFixedImage , class TMovingImage >
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

Get the value.

virtual MeasureType itk::SingleValuedCostFunction::GetValue ( const ParametersType parameters  )  const [pure virtual, inherited]

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

Implemented in itk::Statistics::GoodnessOfFitMixtureModelCostFunction< TInputSample >.

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

Get the value.

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.

template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreaded ( void *  arg  )  [static, protected, inherited]
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedInitiate ( void   )  const [protected, inherited]
template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPostProcess ( void *  arg  )  [static, protected, inherited]
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPostProcessInitiate ( void   )  const [protected, inherited]
template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPreProcess ( void *  arg  )  [static, protected, inherited]
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPreProcessInitiate ( void   )  const [protected, inherited]
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeThread ( unsigned int  threadID  )  const [inline, protected, virtual, inherited]
template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreaded ( void *  arg  )  [static, protected, inherited]
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedInitiate ( void   )  const [protected, inherited]
template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPostProcess ( void *  arg  )  [static, protected, inherited]
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPostProcessInitiate ( void   )  const [protected, inherited]
template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPreProcess ( void *  arg  )  [static, protected, inherited]
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPreProcessInitiate ( void   )  const [protected, inherited]
template<class TFixedImage , class TMovingImage >
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.

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::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, and itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, RankImageFilter< TInputImage, TInputImage, FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >.

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

template<class TFixedImage , class TMovingImage >
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 (  ) 

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

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

Remove all observers .

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

Remove the observer with this tag value.

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.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SampleFixedImageIndexes ( FixedImageSampleContainer samples  )  const [protected, virtual, inherited]
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SampleFixedImageRegion ( 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 >::SampleFullFixedImageDomain ( FixedImageSpatialSampleContainer samples  )  [protected, virtual]

Gather all the pixels from the fixed image domain.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SampleFullFixedImageRegion ( FixedImageSampleContainer samples  )  const [protected, virtual, inherited]

Gather all the pixels from the fixed image domain.

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

Set/Get gradient computation.

template<class TFixedImage , class TMovingImage >
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.

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

Connect the Fixed Image.

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

Connect the Fixed Image.

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

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

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

Set/Get the fixed image mask.

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

Set/Get the fixed image mask.

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

Set/Get the fixed image mask.

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

Set the region over which the metric will be computed

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

Set the region over which the metric will be computed

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

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

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

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

Connect the Interpolator.

template<class TFixedImage , class TMovingImage >
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
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImage ( const MovingImageType _arg  )  [virtual, inherited]

Connect the Moving Image.

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

Connect the Moving Image.

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

Set/Get the moving image mask.

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

Set/Get the moving image mask.

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

Set/Get the moving image mask.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageMask ( const MovingImageMaskType mask  )  [inline, virtual, inherited]
template<class TFixedImage , class TMovingImage >
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. The minimum value is 5 due to the padding required by the Parzen windowing with a cubic-BSpline kernel. Note that even if the metric is used on binary images, the number of bins should at least be equal to five.

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

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

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

Number of spatial samples to used to compute metric

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

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

Set/Get number of threads to use for computations.

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

Sets the reference count (use with care)

Reimplemented from itk::LightObject.

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

Connect the Transform.

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

Connect the Transform.

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

Set the parameters defining the Transform.

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

Set the parameters defining the Transform.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Synchronizes the threader transforms with the transform member variable.

template<class TFixedImage , class TMovingImage >
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.

template<class TFixedImage , class TMovingImage >
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

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

Definition at line 491 of file itkOptImageToImageMetric.h.

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

Definition at line 488 of file itkOptImageToImageMetric.h.

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

Definition at line 496 of file itkOptImageToImageMetric.h.

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

Definition at line 495 of file itkOptImageToImageMetric.h.

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

Definition at line 248 of file itkImageToImageMetric.h.

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

Definition at line 242 of file itkImageToImageMetric.h.

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

Definition at line 376 of file itkOptImageToImageMetric.h.

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

Definition at line 255 of file itkImageToImageMetric.h.

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

Definition at line 421 of file itkOptImageToImageMetric.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 306 of file itkMattesMutualInformationImageToImageMetric.h.

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

Definition at line 379 of file itkOptImageToImageMetric.h.

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

Definition at line 249 of file itkImageToImageMetric.h.

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

Definition at line 246 of file itkImageToImageMetric.h.

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

Definition at line 243 of file itkImageToImageMetric.h.

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

Definition at line 256 of file itkImageToImageMetric.h.

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

Definition at line 422 of file itkOptImageToImageMetric.h.

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

Definition at line 400 of file itkOptImageToImageMetric.h.

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

Definition at line 240 of file itkImageToImageMetric.h.

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

Definition at line 424 of file itkOptImageToImageMetric.h.

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

Definition at line 398 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.

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

Definition at line 542 of file itkOptImageToImageMetric.h.

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

Definition at line 499 of file itkOptImageToImageMetric.h.

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

Definition at line 498 of file itkOptImageToImageMetric.h.

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

Definition at line 544 of file itkOptImageToImageMetric.h.

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

Definition at line 543 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
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 414 of file itkOptImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
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.

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

Definition at line 375 of file itkOptImageToImageMetric.h.

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

Definition at line 378 of file itkOptImageToImageMetric.h.

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

Definition at line 427 of file itkOptImageToImageMetric.h.

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

Definition at line 489 of file itkOptImageToImageMetric.h.

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

Definition at line 546 of file itkOptImageToImageMetric.h.

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

Definition at line 545 of file itkOptImageToImageMetric.h.

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

The moving image dimension.

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

Definition at line 170 of file itkMattesMutualInformationImageToImageMetric.h.


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

Generated at Tue Jul 13 2010 00:04:25 for ITK by doxygen 1.7.1 written by Dimitri van Heesch, © 1997-2000