ITK  4.2.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Private Attributes
itk::ImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference

#include <itkImageToImageMetric.h>

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

List of all members.

Classes

class  FixedImageSamplePoint
struct  MultiThreaderParameterType

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
Superclass::ParametersValueType 
CoordinateRepresentationType
typedef Superclass::DerivativeType DerivativeType
typedef
FixedImageType::ConstPointer 
FixedImageConstPointer
typedef std::vector
< FixedImageIndexType
FixedImageIndexContainer
typedef FixedImageType::IndexType FixedImageIndexType
typedef
FixedImageIndexType::IndexValueType 
FixedImageIndexValueType
typedef
FixedImageMaskType::ConstPointer 
FixedImageMaskConstPointer
typedef FixedImageMaskType::Pointer FixedImageMaskPointer
typedef SpatialObject
< itkGetStaticConstMacro(FixedImageDimension) > 
FixedImageMaskType
typedef TFixedImage::PixelType FixedImagePixelType
typedef
TransformType::InputPointType 
FixedImagePointType
typedef FixedImageType::RegionType FixedImageRegionType
typedef TFixedImage FixedImageType
typedef
TransformType::InputPointType 
InputPointType
typedef InterpolatorType::Pointer InterpolatorPointer
typedef
InterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType
InterpolatorType
typedef Superclass::MeasureType MeasureType
typedef
MovingImageType::ConstPointer 
MovingImageConstPointer
typedef MovingImageType::IndexType MovingImageIndexType
typedef
MovingImageMaskType::ConstPointer 
MovingImageMaskConstPointer
typedef
MovingImageMaskType::Pointer 
MovingImageMaskPointer
typedef SpatialObject
< itkGetStaticConstMacro(MovingImageDimension) > 
MovingImageMaskType
typedef TMovingImage::PixelType MovingImagePixelType
typedef
TransformType::OutputPointType 
MovingImagePointType
typedef TMovingImage MovingImageType
typedef MultiThreader MultiThreaderType
typedef
TransformType::OutputPointType 
OutputPointType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef ImageToImageMetric Self
typedef SingleValuedCostFunction Superclass
typedef TransformType::JacobianType TransformJacobianType
typedef
TransformType::ParametersType 
TransformParametersType
typedef TransformType::Pointer TransformPointer
typedef Transform
< CoordinateRepresentationType,
itkGetStaticConstMacro(MovingImageDimension),
itkGetStaticConstMacro(FixedImageDimension) > 
TransformType
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 Types inherited from itk::SingleValuedCostFunction
typedef
Superclass::ParametersValueType 
ParametersValueType
- Public Types inherited from itk::CostFunction
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

Public Member Functions

virtual void ComputeGradient (void)
virtual const FixedImageTypeGetFixedImage ()
virtual const
FixedImageRegionType
GetFixedImageRegion ()
virtual const FixedImagePixelTypeGetFixedImageSamplesIntensityThreshold ()
virtual const GradientImageTypeGetGradientImage ()
virtual const InterpolatorTypeGetInterpolator ()
virtual const MovingImageTypeGetMovingImage ()
virtual const char * GetNameOfClass () const
SizeValueType GetNumberOfMovingImageSamples (void)
unsigned int GetNumberOfParameters (void) const
virtual const SizeValueTypeGetNumberOfPixelsCounted ()
SizeValueType GetNumberOfSpatialSamples (void)
virtual const TransformTypeGetTransform ()
virtual const bool & GetUseAllPixels ()
virtual const bool & GetUseFixedImageIndexes ()
virtual const bool & GetUseFixedImageSamplesIntensityThreshold ()
virtual const bool & GetUseSequentialSampling ()
virtual void Initialize (void) throw ( ExceptionObject )
virtual void MultiThreadingInitialize (void) throw ( ExceptionObject )
virtual void SetFixedImage (const FixedImageType *_arg)
void SetFixedImageIndexes (const FixedImageIndexContainer &indexes)
void SetFixedImageRegion (const FixedImageRegionType reg)
void SetFixedImageSamplesIntensityThreshold (const FixedImagePixelType &thresh)
virtual void SetInterpolator (InterpolatorType *_arg)
virtual void SetMovingImage (const MovingImageType *_arg)
void SetNumberOfSpatialSamples (SizeValueType num)
virtual void SetTransform (TransformType *_arg)
void SetTransformParameters (const ParametersType &parameters) const
void SetUseAllPixels (bool useAllPixels)
void SetUseFixedImageIndexes (bool useIndex)
void SetUseFixedImageSamplesIntensityThreshold (bool useThresh)
void SetUseSequentialSampling (bool sequentialSampling)
void UseAllPixelsOff (void)
void UseAllPixelsOn (void)
virtual void SetMovingImageMask (MovingImageMaskType *_arg)
virtual void SetMovingImageMask (const MovingImageMaskType *_arg)
virtual const MovingImageMaskTypeGetMovingImageMask ()
virtual void SetFixedImageMask (FixedImageMaskType *_arg)
virtual void SetFixedImageMask (const FixedImageMaskType *_arg)
virtual const FixedImageMaskTypeGetFixedImageMask ()
void SetNumberOfThreads (ThreadIdType numberOfThreads)
virtual const ThreadIdTypeGetNumberOfThreads ()
virtual void SetComputeGradient (bool _arg)
virtual const bool & GetComputeGradient ()
virtual void ComputeGradientOn ()
virtual void ComputeGradientOff ()
virtual void SetNumberOfFixedImageSamples (SizeValueType numSamples)
virtual const SizeValueTypeGetNumberOfFixedImageSamples ()
void ReinitializeSeed ()
void ReinitializeSeed (int seed)
virtual void SetUseCachingOfBSplineWeights (bool _arg)
virtual const bool & GetUseCachingOfBSplineWeights ()
virtual void UseCachingOfBSplineWeightsOn ()
virtual void UseCachingOfBSplineWeightsOff ()
virtual const MultiThreaderTypeGetThreader ()
const TransformPointerGetThreaderTransform ()
- Public Member Functions inherited from itk::SingleValuedCostFunction
virtual void GetDerivative (const ParametersType &parameters, DerivativeType &derivative) const =0
virtual MeasureType GetValue (const ParametersType &parameters) const =0
virtual void GetValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const

Static Public Attributes

static const unsigned int MovingImageDimension = TMovingImage::ImageDimension
static const unsigned int FixedImageDimension = TFixedImage::ImageDimension

Protected Types

typedef std::vector< bool > BooleanArrayType
typedef
BSplineInterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType
BSplineInterpolatorType
typedef FixedArray
< SizeValueType,::itk::GetImageDimension
< FixedImageType >
::ImageDimension > 
BSplineParametersOffsetType
typedef
BSplineTransformType::ParameterIndexArrayType 
BSplineTransformIndexArrayType
typedef Array2D< IndexValueTypeBSplineTransformIndicesArrayType
typedef BSplineBaseTransform
< CoordinateRepresentationType,::itk::GetImageDimension
< FixedImageType >
::ImageDimension,
itkGetStaticConstMacro(DeformationSplineOrder) > 
BSplineTransformType
typedef Array2D< WeightsValueTypeBSplineTransformWeightsArrayType
typedef
BSplineTransformType::WeightsType 
BSplineTransformWeightsType
typedef
CentralDifferenceImageFunction
< MovingImageType,
CoordinateRepresentationType
DerivativeFunctionType
typedef std::vector
< FixedImageSamplePoint
FixedImageSampleContainer
typedef CovariantVector
< double,
itkGetStaticConstMacro(MovingImageDimension) > 
ImageDerivativesType
typedef
BSplineTransformIndexArrayType::ValueType 
IndexValueType
typedef std::vector
< MovingImagePointType
MovingImagePointArrayType
typedef
BSplineTransformWeightsType::ValueType 
WeightsValueType

Protected Member Functions

virtual void ComputeImageDerivatives (const MovingImagePointType &mappedPoint, ImageDerivativesType &gradient, ThreadIdType threadID) const
void GetValueAndDerivativeMultiThreadedInitiate (void) const
void GetValueAndDerivativeMultiThreadedPostProcessInitiate (void) const
void GetValueAndDerivativeMultiThreadedPreProcessInitiate (void) const
virtual void GetValueAndDerivativeThread (ThreadIdType threadID) const
virtual void GetValueAndDerivativeThreadPostProcess (ThreadIdType, bool) const
virtual void GetValueAndDerivativeThreadPreProcess (ThreadIdType, bool) const
virtual bool GetValueAndDerivativeThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double, const ImageDerivativesType &) const
void GetValueMultiThreadedInitiate (void) const
void GetValueMultiThreadedPostProcessInitiate (void) const
void GetValueMultiThreadedPreProcessInitiate (void) const
virtual void GetValueThread (ThreadIdType threadID) const
virtual void GetValueThreadPostProcess (ThreadIdType, bool) const
virtual void GetValueThreadPreProcess (ThreadIdType, bool) const
virtual bool GetValueThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double) const
 ImageToImageMetric ()
virtual void PreComputeTransformValues (void)
void PrintSelf (std::ostream &os, Indent indent) const
virtual void SampleFixedImageIndexes (FixedImageSampleContainer &samples) const
virtual void SampleFixedImageRegion (FixedImageSampleContainer &samples) const
virtual void SampleFullFixedImageRegion (FixedImageSampleContainer &samples) const
virtual void SynchronizeTransforms () const
virtual void TransformPoint (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, ThreadIdType threadID) const
virtual void TransformPointWithDerivatives (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleWithinSupportRegion, double &movingImageValue, ImageDerivativesType &gradient, ThreadIdType threadID) const
virtual ~ImageToImageMetric ()
- Protected Member Functions inherited from itk::SingleValuedCostFunction
 SingleValuedCostFunction ()
virtual ~SingleValuedCostFunction ()
- Protected Member Functions inherited from itk::CostFunction
 CostFunction ()
virtual ~CostFunction ()
- Protected Member Functions inherited from itk::Object
 Object ()
bool PrintObservers (std::ostream &os, Indent indent) const
virtual void SetTimeStamp (const TimeStamp &time)
virtual ~Object ()
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 LightObject ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
virtual ~LightObject ()

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

BSplineInterpolatorType::Pointer m_BSplineInterpolator
BSplineParametersOffsetType m_BSplineParametersOffset
MovingImagePointArrayType m_BSplinePreTransformPointsArray
BSplineTransformType::Pointer m_BSplineTransform
BSplineTransformIndexArrayType m_BSplineTransformIndices
BSplineTransformIndicesArrayType m_BSplineTransformIndicesArray
BSplineTransformWeightsType m_BSplineTransformWeights
BSplineTransformWeightsArrayType m_BSplineTransformWeightsArray
bool m_ComputeGradient
DerivativeFunctionType::Pointer m_DerivativeCalculator
FixedImageConstPointer m_FixedImage
FixedImageIndexContainer m_FixedImageIndexes
FixedImageMaskConstPointer m_FixedImageMask
FixedImageSampleContainer m_FixedImageSamples
FixedImagePixelType m_FixedImageSamplesIntensityThreshold
GradientImagePointer m_GradientImage
InterpolatorPointer m_Interpolator
bool m_InterpolatorIsBSpline
MovingImageConstPointer m_MovingImage
MovingImageMaskConstPointer m_MovingImageMask
SizeValueType m_NumberOfFixedImageSamples
SizeValueType m_NumberOfParameters
SizeValueType m_NumberOfPixelsCounted
ThreadIdType m_NumberOfThreads
SizeValueType m_NumBSplineWeights
int m_RandomSeed
bool m_ReseedIterator
MultiThreaderType::Pointer m_Threader
BSplineTransformIndexArrayTypem_ThreaderBSplineTransformIndices
BSplineTransformWeightsTypem_ThreaderBSplineTransformWeights
unsigned int * m_ThreaderNumberOfMovingImageSamples
MultiThreaderParameterType m_ThreaderParameter
TransformPointerm_ThreaderTransform
TransformPointer m_Transform
bool m_TransformIsBSpline
bool m_UseAllPixels
bool m_UseCachingOfBSplineWeights
bool m_UseFixedImageIndexes
bool m_UseFixedImageSamplesIntensityThreshold
bool m_UseSequentialSampling
BooleanArrayType m_WithinBSplineSupportRegionArray
bool m_WithinThreadPostProcess
bool m_WithinThreadPreProcess

Static Protected Attributes

static const unsigned int DeformationSplineOrder = 3

Private Member Functions

 ImageToImageMetric (const Self &)
void operator= (const Self &)

Private Attributes

FixedImageRegionType m_FixedImageRegion

Detailed Description

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

Computes similarity between regions of two images.

This Class is templated over the type of the two input images. It expects a Transform and an Interpolator to be plugged in. This particular class is the base class for a hierarchy of similarity metrics.

This class computes a value that measures the similarity between the Fixed image and the transformed Moving image. The Interpolator is used to compute intensity values on non-grid positions resulting from mapping points through the Transform.

Definition at line 51 of file itkImageToImageMetric.h.


Member Typedef Documentation

template<class TFixedImage , class TMovingImage >
typedef std::vector< bool > itk::ImageToImageMetric< TFixedImage, TMovingImage >::BooleanArrayType
protected

Definition at line 443 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorType
protected

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

Definition at line 452 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef FixedArray< SizeValueType, ::itk::GetImageDimension< FixedImageType >::ImageDimension > itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineParametersOffsetType
protected

Definition at line 444 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef BSplineTransformType::ParameterIndexArrayType itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformIndexArrayType
protected
template<class TFixedImage , class TMovingImage >
typedef Array2D< IndexValueType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformIndicesArrayType
protected

Definition at line 440 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef BSplineBaseTransform< CoordinateRepresentationType, ::itk::GetImageDimension< FixedImageType >::ImageDimension, itkGetStaticConstMacro(DeformationSplineOrder) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformType
protected

Definition at line 432 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Array2D< WeightsValueType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformWeightsArrayType
protected

Definition at line 436 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef BSplineTransformType::WeightsType itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformWeightsType
protected
template<class TFixedImage , class TMovingImage >
typedef SmartPointer< const Self > itk::ImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer
template<class TFixedImage , class TMovingImage >
typedef Superclass::ParametersValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::CoordinateRepresentationType
template<class TFixedImage , class TMovingImage >
typedef CentralDifferenceImageFunction< MovingImageType, CoordinateRepresentationType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::DerivativeFunctionType
protected

Typedefs for using central difference calculator.

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

Definition at line 457 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Superclass::DerivativeType itk::ImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType
template<class TFixedImage , class TMovingImage >
typedef FixedImageType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef std::vector< FixedImageIndexType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexContainer

Definition at line 106 of file itkImageToImageMetric.h.

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

Index and Point typedef support.

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

Definition at line 100 of file itkImageToImageMetric.h.

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

Definition at line 126 of file itkImageToImageMetric.h.

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

Definition at line 125 of file itkImageToImageMetric.h.

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

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

template<class TFixedImage , class TMovingImage >
typedef TFixedImage::PixelType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType
template<class TFixedImage , class TMovingImage >
typedef TransformType::InputPointType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointType
template<class TFixedImage , class TMovingImage >
typedef FixedImageType::RegionType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType
template<class TFixedImage , class TMovingImage >
typedef std::vector< FixedImageSamplePoint > itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageSampleContainer
protected
template<class TFixedImage , class TMovingImage >
typedef TFixedImage itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType
template<class TFixedImage , class TMovingImage >
typedef GradientImageFilterType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterPointer

Gaussian filter to compute the gradient of the Moving Image

Definition at line 117 of file itkImageToImageMetric.h.

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

Gaussian filter to compute the gradient of the Moving Image

Definition at line 116 of file itkImageToImageMetric.h.

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

Gaussian filter to compute the gradient of the Moving Image

Definition at line 115 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Image< GradientPixelType, itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageType

Gaussian filter to compute the gradient of the Moving Image

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

Definition at line 114 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef CovariantVector< RealType, itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType
template<class TFixedImage , class TMovingImage >
typedef CovariantVector< double, itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::ImageDerivativesType
protected
template<class TFixedImage , class TMovingImage >
typedef BSplineTransformIndexArrayType::ValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::IndexValueType
protected
template<class TFixedImage , class TMovingImage >
typedef TransformType::InputPointType itk::ImageToImageMetric< TFixedImage, TMovingImage >::InputPointType
template<class TFixedImage , class TMovingImage >
typedef InterpolatorType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer
template<class TFixedImage , class TMovingImage >
typedef InterpolateImageFunction< MovingImageType, CoordinateRepresentationType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType
template<class TFixedImage , class TMovingImage >
typedef Superclass::MeasureType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MeasureType
template<class TFixedImage , class TMovingImage >
typedef MovingImageType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer
template<class TFixedImage , class TMovingImage >
typedef MovingImageType::IndexType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageIndexType
template<class TFixedImage , class TMovingImage >
typedef MovingImageMaskType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskConstPointer

Definition at line 132 of file itkImageToImageMetric.h.

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

Definition at line 131 of file itkImageToImageMetric.h.

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

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

template<class TFixedImage , class TMovingImage >
typedef TMovingImage::PixelType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType
template<class TFixedImage , class TMovingImage >
typedef std::vector< MovingImagePointType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointArrayType
protected

Definition at line 442 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef TransformType::OutputPointType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointType
template<class TFixedImage , class TMovingImage >
typedef TMovingImage itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType
template<class TFixedImage , class TMovingImage >
typedef MultiThreader itk::ImageToImageMetric< TFixedImage, TMovingImage >::MultiThreaderType

Definition at line 319 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef TransformType::OutputPointType itk::ImageToImageMetric< TFixedImage, TMovingImage >::OutputPointType
template<class TFixedImage , class TMovingImage >
typedef Superclass::ParametersType itk::ImageToImageMetric< TFixedImage, TMovingImage >::ParametersType
template<class TFixedImage , class TMovingImage >
typedef SmartPointer< Self > itk::ImageToImageMetric< TFixedImage, TMovingImage >::Pointer
template<class TFixedImage , class TMovingImage >
typedef NumericTraits< MovingImagePixelType >::RealType itk::ImageToImageMetric< TFixedImage, TMovingImage >::RealType
template<class TFixedImage , class TMovingImage >
typedef ImageToImageMetric itk::ImageToImageMetric< TFixedImage, TMovingImage >::Self
template<class TFixedImage , class TMovingImage >
typedef SingleValuedCostFunction itk::ImageToImageMetric< TFixedImage, TMovingImage >::Superclass
template<class TFixedImage , class TMovingImage >
typedef TransformType::JacobianType itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType
template<class TFixedImage , class TMovingImage >
typedef TransformType::ParametersType itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType
template<class TFixedImage , class TMovingImage >
typedef TransformType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer
template<class TFixedImage , class TMovingImage >
typedef Transform< CoordinateRepresentationType, itkGetStaticConstMacro(MovingImageDimension), itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformType
template<class TFixedImage , class TMovingImage >
typedef BSplineTransformWeightsType::ValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::WeightsValueType
protected

Constructor & Destructor Documentation

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

Member Function Documentation

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

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

Set/Get gradient computation.

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

Set/Get gradient computation.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::ComputeImageDerivatives ( const MovingImagePointType mappedPoint,
ImageDerivativesType gradient,
ThreadIdType  threadID 
) const
protectedvirtual

Compute image derivatives at a point.

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

Set/Get gradient computation.

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

Get the Fixed Image.

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

Set/Get the fixed image mask.

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

Get the region over which the metric will be computed

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

Get Gradient Image.

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

Get a pointer to the Interpolator.

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

Get the Moving Image.

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

Set/Get the moving image mask.

template<class TFixedImage , class TMovingImage >
virtual const char* itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNameOfClass ( ) const
virtual
template<class TFixedImage , class TMovingImage >
virtual const SizeValueType& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfFixedImageSamples ( )
virtual

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

template<class TFixedImage , class TMovingImage >
SizeValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfMovingImageSamples ( void  )
inline

Get the number of pixels considered in the computation.

Definition at line 168 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
unsigned int itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters ( void  ) const
inlinevirtual
template<class TFixedImage , class TMovingImage >
virtual const SizeValueType& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfPixelsCounted ( )
virtual
template<class TFixedImage , class TMovingImage >
SizeValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfSpatialSamples ( void  )
inline
template<class TFixedImage , class TMovingImage >
virtual const ThreadIdType& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfThreads ( )
virtual

Set/Get number of threads to use for computations.

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

Get the Threader.

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

Get the Threader.

Definition at line 325 of file itkImageToImageMetric.h.

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

Get a pointer to the Transform.

template<class TFixedImage , class TMovingImage >
virtual const bool& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetUseAllPixels ( )
virtual
template<class TFixedImage , class TMovingImage >
virtual const bool& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetUseCachingOfBSplineWeights ( )
virtual

This boolean flag is only relevant when this metric is used along with a BSplineBaseTransform. The flag enables/disables the caching of values computed when a physical point is mapped through the BSplineBaseTransform. 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.

template<class TFixedImage , class TMovingImage >
virtual const bool& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetUseFixedImageIndexes ( )
virtual
template<class TFixedImage , class TMovingImage >
virtual const bool& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetUseFixedImageSamplesIntensityThreshold ( )
virtual
template<class TFixedImage , class TMovingImage >
virtual const bool& itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetUseSequentialSampling ( )
virtual
template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreaded ( void *  arg)
staticprotected
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedInitiate ( void  ) const
protected
template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPostProcess ( void *  arg)
staticprotected
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPostProcessInitiate ( void  ) const
protected
template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPreProcess ( void *  arg)
staticprotected
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeMultiThreadedPreProcessInitiate ( void  ) const
protected
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeThread ( ThreadIdType  threadID) const
inlineprotectedvirtual
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeThreadPostProcess ( ThreadIdType  ,
bool   
) const
inlineprotectedvirtual
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeThreadPreProcess ( ThreadIdType  ,
bool   
) const
inlineprotectedvirtual
template<class TFixedImage , class TMovingImage >
virtual bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeThreadProcessSample ( ThreadIdType  ,
SizeValueType  ,
const MovingImagePointType ,
double  ,
const ImageDerivativesType  
) const
inlineprotectedvirtual
template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreaded ( void *  arg)
staticprotected
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedInitiate ( void  ) const
protected
template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPostProcess ( void *  arg)
staticprotected
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPostProcessInitiate ( void  ) const
protected
template<class TFixedImage , class TMovingImage >
static ITK_THREAD_RETURN_TYPE itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPreProcess ( void *  arg)
staticprotected
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueMultiThreadedPreProcessInitiate ( void  ) const
protected
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueThread ( ThreadIdType  threadID) const
inlineprotectedvirtual
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueThreadPostProcess ( ThreadIdType  ,
bool   
) const
inlineprotectedvirtual
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueThreadPreProcess ( ThreadIdType  ,
bool   
) const
inlineprotectedvirtual
template<class TFixedImage , class TMovingImage >
virtual bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetValueThreadProcessSample ( ThreadIdType  ,
SizeValueType  ,
const MovingImagePointType ,
double   
) const
inlineprotectedvirtual
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::Initialize ( void  ) throw ( ExceptionObject )
virtual
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::MultiThreadingInitialize ( void  ) throw ( ExceptionObject )
virtual

Initialize the components related to supporting multiple threads

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::operator= ( const Self )
private
template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::PreComputeTransformValues ( void  )
protectedvirtual
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< 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 in itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >.

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

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 in itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >.

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

Uniformly select a sample set from the fixed image domain.

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

Gather all the pixels from the fixed image domain.

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

Set/Get gradient computation.

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

Connect the Fixed Image.

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

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

Set/Get the fixed image mask.

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

Set/Get the fixed image mask.

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

Set the region over which the metric will be computed

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

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

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

Connect the Interpolator.

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

Connect the Moving Image.

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

Set/Get the moving image mask.

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

Set/Get the moving image mask.

template<class TFixedImage , class TMovingImage >
virtual void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfFixedImageSamples ( SizeValueType  numSamples)
virtual

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

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfSpatialSamples ( SizeValueType  num)
inline

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

Definition at line 243 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfThreads ( ThreadIdType  numberOfThreads)

Set/Get number of threads to use for computations.

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

Connect the Transform.

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

Set the parameters defining the Transform.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseAllPixels ( bool  useAllPixels)

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. This value override IntensityThreshold, Masks, and SequentialSampling.

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

This boolean flag is only relevant when this metric is used along with a BSplineBaseTransform. The flag enables/disables the caching of values computed when a physical point is mapped through the BSplineBaseTransform. 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.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseFixedImageIndexes ( bool  useIndex)
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseFixedImageSamplesIntensityThreshold ( bool  useThresh)
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseSequentialSampling ( bool  sequentialSampling)

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
protectedvirtual

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,
ThreadIdType  threadID 
) const
protectedvirtual

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,
ThreadIdType  threadID 
) const
protectedvirtual
template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::UseAllPixelsOff ( void  )
inline

Definition at line 273 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::UseAllPixelsOn ( void  )
inline

Definition at line 268 of file itkImageToImageMetric.h.

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

This boolean flag is only relevant when this metric is used along with a BSplineBaseTransform. The flag enables/disables the caching of values computed when a physical point is mapped through the BSplineBaseTransform. 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.

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

This boolean flag is only relevant when this metric is used along with a BSplineBaseTransform. The flag enables/disables the caching of values computed when a physical point is mapped through the BSplineBaseTransform. 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.


Member Data Documentation

template<class TFixedImage , class TMovingImage >
const unsigned int itk::ImageToImageMetric< TFixedImage, TMovingImage >::DeformationSplineOrder = 3
staticprotected

Definition at line 428 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
const unsigned int itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageDimension = TFixedImage::ImageDimension
static

Constants for the image dimensions

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

Definition at line 84 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
BSplineInterpolatorType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineInterpolator
protected

Pointer to BSplineInterpolator.

Definition at line 500 of file itkImageToImageMetric.h.

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

Definition at line 468 of file itkImageToImageMetric.h.

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

Definition at line 465 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
BSplineTransformType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineTransform
protected

Definition at line 461 of file itkImageToImageMetric.h.

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

Definition at line 474 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
BSplineTransformIndicesArrayType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineTransformIndicesArray
protected

Definition at line 464 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
BSplineTransformWeightsType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineTransformWeights
mutableprotected

Definition at line 473 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
BSplineTransformWeightsArrayType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineTransformWeightsArray
protected

Definition at line 463 of file itkImageToImageMetric.h.

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

Definition at line 400 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
DerivativeFunctionType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_DerivativeCalculator
protected

Pointer to central difference calculator.

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

Definition at line 503 of file itkImageToImageMetric.h.

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

Definition at line 388 of file itkImageToImageMetric.h.

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

Definition at line 360 of file itkImageToImageMetric.h.

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

Definition at line 403 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
FixedImageRegionType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageRegion
private

Definition at line 592 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
FixedImageSampleContainer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageSamples
protected

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

Definition at line 378 of file itkImageToImageMetric.h.

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

Definition at line 363 of file itkImageToImageMetric.h.

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

Definition at line 401 of file itkImageToImageMetric.h.

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

Definition at line 398 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_InterpolatorIsBSpline
protected

Boolean to indicate if the interpolator BSpline.

Definition at line 497 of file itkImageToImageMetric.h.

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

Definition at line 389 of file itkImageToImageMetric.h.

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

Definition at line 404 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
SizeValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_NumberOfFixedImageSamples
protected

Definition at line 382 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
SizeValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_NumberOfParameters
protected

Definition at line 380 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
SizeValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_NumberOfPixelsCounted
mutableprotected

Definition at line 386 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
ThreadIdType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_NumberOfThreads
protected

Definition at line 406 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
SizeValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_NumBSplineWeights
protected

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

Definition at line 426 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
int itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_RandomSeed
protected
template<class TFixedImage , class TMovingImage >
bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_ReseedIterator
protected
template<class TFixedImage , class TMovingImage >
MultiThreaderType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_Threader
protected
template<class TFixedImage , class TMovingImage >
BSplineTransformIndexArrayType* itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderBSplineTransformIndices
mutableprotected

Definition at line 477 of file itkImageToImageMetric.h.

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

Definition at line 476 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
unsigned int* itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderNumberOfMovingImageSamples
mutableprotected

Definition at line 520 of file itkImageToImageMetric.h.

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

Definition at line 519 of file itkImageToImageMetric.h.

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

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

Definition at line 396 of file itkImageToImageMetric.h.

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

Main transform to be used in thread = 0

Definition at line 392 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_TransformIsBSpline
protected

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

Definition at line 422 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_UseAllPixels
protected

Definition at line 408 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
bool itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_UseCachingOfBSplineWeights
protected

Definition at line 472 of file itkImageToImageMetric.h.

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

Definition at line 359 of file itkImageToImageMetric.h.

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

Definition at line 362 of file itkImageToImageMetric.h.

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

Definition at line 409 of file itkImageToImageMetric.h.

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

Definition at line 466 of file itkImageToImageMetric.h.

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

Definition at line 522 of file itkImageToImageMetric.h.

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

Definition at line 521 of file itkImageToImageMetric.h.

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

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