ITK  4.3.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 | List of all members
itk::ImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference

#include <itkImageToImageMetric.h>

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

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.

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 SmartPointer< const SelfConstPointer
 
typedef Array
< ParametersValueType
DerivativeType
 
typedef double MeasureType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef SingleValuedCostFunction Self
 
typedef CostFunction Superclass
 
- Public Types inherited from itk::CostFunction
typedef SmartPointer< const SelfConstPointer
 
typedef OptimizerParameters
< ParametersValueType
ParametersType
 
typedef double ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef CostFunction Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

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,
FixedImageType::ImageDimension > 
BSplineParametersOffsetType
 
typedef
BSplineTransformType::ParameterIndexArrayType 
BSplineTransformIndexArrayType
 
typedef Array2D< IndexValueTypeBSplineTransformIndicesArrayType
 
typedef BSplineBaseTransform
< CoordinateRepresentationType,
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
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 

Member Typedef Documentation

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

Definition at line 444 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 453 of file itkImageToImageMetric.h.

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

Definition at line 445 of file itkImageToImageMetric.h.

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

Definition at line 439 of file itkImageToImageMetric.h.

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

Definition at line 441 of file itkImageToImageMetric.h.

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

Definition at line 433 of file itkImageToImageMetric.h.

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

Definition at line 437 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef BSplineTransformType::WeightsType itk::ImageToImageMetric< TFixedImage, TMovingImage >::BSplineTransformWeightsType
protected

Definition at line 435 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef SmartPointer< const Self > itk::ImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer

Definition at line 59 of file itkImageToImageMetric.h.

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

Type used for representing point components

Definition at line 62 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef CentralDifferenceImageFunction< MovingImageType, CoordinateRepresentationType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::DerivativeFunctionType
protected

Typedefs for using central difference calculator.

Definition at line 458 of file itkImageToImageMetric.h.

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

Type of the derivative.

Definition at line 138 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef FixedImageType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer

Definition at line 75 of file itkImageToImageMetric.h.

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.

Definition at line 100 of file itkImageToImageMetric.h.

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

Definition at line 101 of file itkImageToImageMetric.h.

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

Definition at line 74 of file itkImageToImageMetric.h.

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

Definition at line 103 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef FixedImageType::RegionType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType

Definition at line 76 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef std::vector< FixedImageSamplePoint > itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageSampleContainer
protected

FixedImageSamplePoint typedef support.

Definition at line 367 of file itkImageToImageMetric.h.

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

Type of the fixed Image.

Definition at line 73 of file itkImageToImageMetric.h.

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

Definition at line 114 of file itkImageToImageMetric.h.

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

Gaussian filter to compute the gradient of the Moving Image

Definition at line 113 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef CovariantVector< double, itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::ImageDerivativesType
protected

Definition at line 460 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef BSplineTransformIndexArrayType::ValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::IndexValueType
protected

Definition at line 440 of file itkImageToImageMetric.h.

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

Definition at line 94 of file itkImageToImageMetric.h.

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

Definition at line 120 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef InterpolateImageFunction< MovingImageType, CoordinateRepresentationType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType

Type of the Interpolator Base class

Definition at line 109 of file itkImageToImageMetric.h.

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

Type of the measure.

Definition at line 135 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef MovingImageType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer

Definition at line 70 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef MovingImageType::IndexType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageIndexType

Definition at line 102 of file itkImageToImageMetric.h.

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

Definition at line 69 of file itkImageToImageMetric.h.

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

Definition at line 443 of file itkImageToImageMetric.h.

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

Definition at line 104 of file itkImageToImageMetric.h.

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

Type of the moving Image.

Definition at line 65 of file itkImageToImageMetric.h.

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

Definition at line 95 of file itkImageToImageMetric.h.

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

Type of the parameters.

Definition at line 141 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef SmartPointer< Self > itk::ImageToImageMetric< TFixedImage, TMovingImage >::Pointer

Definition at line 58 of file itkImageToImageMetric.h.

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

Gaussian filter to compute the gradient of the Moving Image

Definition at line 112 of file itkImageToImageMetric.h.

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

Standard class typedefs.

Definition at line 56 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef SingleValuedCostFunction itk::ImageToImageMetric< TFixedImage, TMovingImage >::Superclass

Definition at line 57 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef TransformType::JacobianType itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType

Definition at line 97 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef TransformType::ParametersType itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType

Definition at line 96 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef TransformType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer

Definition at line 93 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef Transform< CoordinateRepresentationType, itkGetStaticConstMacro(MovingImageDimension), itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformType

Type of the Transform Base class

Definition at line 91 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
typedef BSplineTransformWeightsType::ValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::WeightsValueType
protected

Definition at line 436 of file itkImageToImageMetric.h.

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

Return the number of parameters required by the Transform

Implements itk::CostFunction.

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

Definition at line 222 of file itkImageToImageMetric.h.

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

Definition at line 248 of file itkImageToImageMetric.h.

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.

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.

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

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

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

Definition at line 469 of file itkImageToImageMetric.h.

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

Definition at line 466 of file itkImageToImageMetric.h.

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

Definition at line 462 of file itkImageToImageMetric.h.

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

Definition at line 475 of file itkImageToImageMetric.h.

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

Definition at line 465 of file itkImageToImageMetric.h.

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

Definition at line 474 of file itkImageToImageMetric.h.

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

Definition at line 464 of file itkImageToImageMetric.h.

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

Definition at line 401 of file itkImageToImageMetric.h.

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

Pointer to central difference calculator.

Definition at line 504 of file itkImageToImageMetric.h.

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

Definition at line 389 of file itkImageToImageMetric.h.

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

Definition at line 361 of file itkImageToImageMetric.h.

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

Definition at line 404 of file itkImageToImageMetric.h.

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

Definition at line 593 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 379 of file itkImageToImageMetric.h.

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

Definition at line 364 of file itkImageToImageMetric.h.

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

Definition at line 402 of file itkImageToImageMetric.h.

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

Definition at line 399 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 498 of file itkImageToImageMetric.h.

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

Definition at line 390 of file itkImageToImageMetric.h.

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

Definition at line 405 of file itkImageToImageMetric.h.

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

Definition at line 383 of file itkImageToImageMetric.h.

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

Definition at line 381 of file itkImageToImageMetric.h.

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

Definition at line 387 of file itkImageToImageMetric.h.

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

Definition at line 407 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 427 of file itkImageToImageMetric.h.

template<class TFixedImage , class TMovingImage >
int itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_RandomSeed
protected

Definition at line 414 of file itkImageToImageMetric.h.

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

Definition at line 412 of file itkImageToImageMetric.h.

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

Definition at line 519 of file itkImageToImageMetric.h.

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

Definition at line 478 of file itkImageToImageMetric.h.

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

Definition at line 477 of file itkImageToImageMetric.h.

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

Definition at line 521 of file itkImageToImageMetric.h.

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

Definition at line 520 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 397 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 393 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 423 of file itkImageToImageMetric.h.

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

Definition at line 409 of file itkImageToImageMetric.h.

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

Definition at line 473 of file itkImageToImageMetric.h.

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

Definition at line 360 of file itkImageToImageMetric.h.

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

Definition at line 363 of file itkImageToImageMetric.h.

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

Definition at line 410 of file itkImageToImageMetric.h.

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

Definition at line 467 of file itkImageToImageMetric.h.

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

Definition at line 523 of file itkImageToImageMetric.h.

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

Definition at line 522 of file itkImageToImageMetric.h.

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

Constants for the image dimensions

Definition at line 81 of file itkImageToImageMetric.h.


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