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

#include <itkCorrelationImageToImageMetricv4.h>

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

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef Superclass::DerivativeType DerivativeType
typedef
Superclass::FixedImageGradientType 
FixedImageGradientType
typedef
Superclass::FixedImagePixelType 
FixedImagePixelType
typedef
Superclass::FixedImagePointType 
FixedImagePointType
typedef Superclass::JacobianType JacobianType
typedef Superclass::MeasureType MeasureType
typedef
Superclass::MovingImageGradientType 
MovingImageGradientType
typedef
Superclass::MovingImagePixelType 
MovingImagePixelType
typedef
Superclass::MovingImagePointType 
MovingImagePointType
typedef
Superclass::MovingTransformType 
MovingTransformType
typedef SmartPointer< SelfPointer
typedef
CorrelationImageToImageMetricv4 
Self
typedef ImageToImageMetricv4
< TFixedImage, TMovingImage,
TVirtualImage > 
Superclass
typedef
Superclass::VirtualImageType 
VirtualImageType
typedef
Superclass::VirtualIndexType 
VirtualIndexType
typedef
Superclass::VirtualPointSetType 
VirtualPointSetType
typedef
Superclass::VirtualPointType 
VirtualPointType
- Public Types inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >
typedef
Superclass::CoordinateRepresentationType 
CoordinateRepresentationType
typedef
GradientRecursiveGaussianImageFilter
< FixedImageType,
FixedImageGradientImageType
DefaultFixedImageGradientFilter
typedef
GradientRecursiveGaussianImageFilter
< MovingImageType,
MovingImageGradientImageType
DefaultMovingImageGradientFilter
typedef DerivativeType::ValueType DerivativeValueType
typedef Superclass::DimensionType DimensionType
typedef
FixedImageType::ConstPointer 
FixedImageConstPointer
typedef
FixedImageGradientCalculatorType::Pointer 
FixedImageGradientCalculatorPointer
typedef
FixedImageGradientFilterType::Pointer 
FixedImageGradientFilterPointer
typedef ImageToImageFilter
< FixedImageType,
FixedImageGradientImageType
FixedImageGradientFilterType
typedef FixedImageType::IndexType FixedImageIndexType
typedef
FixedImageMaskType::ConstPointer 
FixedImageMaskConstPointer
typedef FixedImageMaskType::Pointer FixedImageMaskPointer
typedef SpatialObject
< itkGetStaticConstMacro(FixedImageDimension) > 
FixedImageMaskType
typedef FixedImageType::Pointer FixedImagePointer
typedef TFixedImage FixedImageType
typedef
Superclass::FixedInputPointType 
FixedInputPointType
typedef
FixedInterpolatorType::Pointer 
FixedInterpolatorPointer
typedef
InterpolateImageFunction
< FixedImageType,
CoordinateRepresentationType
FixedInterpolatorType
typedef
Superclass::FixedOutputPointType 
FixedOutputPointType
typedef FixedImagePixelType FixedPixelType
typedef
FixedSampledPointSetType::ConstPointer 
FixedSampledPointSetConstPointer
typedef
FixedSampledPointSetType::Pointer 
FixedSampledPointSetPointer
typedef PointSet< typename
FixedImageType::PixelType,
itkGetStaticConstMacro(FixedImageDimension)> 
FixedSampledPointSetType
typedef
Superclass::FixedTransformJacobianType 
FixedTransformJacobianType
typedef
Superclass::FixedTransformParametersType 
FixedTransformParametersType
typedef
Superclass::FixedTransformPointer 
FixedTransformPointer
typedef
Superclass::FixedTransformType 
FixedTransformType
typedef
Superclass::GradientSourceType 
GradientSourceType
typedef Superclass::DimensionType ImageDimensionType
typedef
Superclass::InternalComputationValueType 
InternalComputationValueType
typedef CovariantVector
< MovingRealType,
itkGetStaticConstMacro(MovingImageDimension) > 
MovingGradientPixelType
typedef
MovingImageType::ConstPointer 
MovingImageConstPointer
typedef
MovingImageGradientCalculatorType::Pointer 
MovingImageGradientCalculatorPointer
typedef
MovingImageGradientFilterType::Pointer 
MovingImageGradientFilterPointer
typedef ImageToImageFilter
< MovingImageType,
MovingImageGradientImageType
MovingImageGradientFilterType
typedef
MovingImageGradientImageType::Pointer 
MovingImageGradientImagePointer
typedef Image
< MovingGradientPixelType,
itkGetStaticConstMacro(MovingImageDimension) > 
MovingImageGradientImageType
typedef MovingImageType::IndexType MovingImageIndexType
typedef
MovingImageMaskType::ConstPointer 
MovingImageMaskConstPointer
typedef
MovingImageMaskType::Pointer 
MovingImageMaskPointer
typedef SpatialObject
< itkGetStaticConstMacro(MovingImageDimension) > 
MovingImageMaskType
typedef MovingImageType::Pointer MovingImagePointer
typedef MovingImageType::RegionType MovingImageRegionType
typedef TMovingImage MovingImageType
typedef
Superclass::MovingInputPointType 
MovingInputPointType
typedef
MovingInterpolatorType::Pointer 
MovingInterpolatorPointer
typedef
InterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType
MovingInterpolatorType
typedef
Superclass::MovingOutputPointType 
MovingOutputPointType
typedef MovingImagePixelType MovingPixelType
typedef NumericTraits
< MovingImagePixelType >
::RealType 
MovingRealType
typedef
Superclass::MovingTransformJacobianType 
MovingTransformJacobianType
typedef
Superclass::MovingTransformParametersType 
MovingTransformParametersType
typedef
Superclass::MovingTransformPointer 
MovingTransformPointer
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
typedef Superclass::ParametersType ParametersType
typedef
Superclass::ParametersValueType 
ParametersValueType
typedef
Superclass::VirtualDirectionType 
VirtualDirectionType
typedef CovariantVector
< CoordinateRepresentationType,
itkGetStaticConstMacro(VirtualImageDimension) > 
VirtualImageGradientType
typedef
Superclass::VirtualImagePointer 
VirtualImagePointer
typedef
Superclass::VirtualPointType 
VirtualOriginType
typedef
Superclass::VirtualPixelType 
VirtualPixelType
typedef
Superclass::VirtualPointSetPointer 
VirtualPointSetPointer
typedef Superclass::VirtualSizeType VirtualRadiusType
typedef
Superclass::VirtualRegionType 
VirtualRegionType
typedef Superclass::VirtualSizeType VirtualSizeType
typedef
Superclass::VirtualSpacingType 
VirtualSpacingType
typedef NumericTraits
< FixedImagePixelType >
::RealType 
FixedRealType
typedef CovariantVector
< FixedRealType,
itkGetStaticConstMacro(FixedImageDimension) > 
FixedGradientPixelType
typedef Image
< FixedGradientPixelType,
itkGetStaticConstMacro(FixedImageDimension) > 
FixedImageGradientImageType
typedef
FixedImageGradientImageType::Pointer 
FixedImageGradientImagePointer
typedef ImageFunction
< FixedImageType,
CovariantVector< double,
itkGetStaticConstMacro(FixedImageDimension)>
, CoordinateRepresentationType
FixedImageGradientCalculatorType
typedef ImageFunction
< MovingImageType,
CovariantVector< double,
itkGetStaticConstMacro(MovingImageDimension)>
, CoordinateRepresentationType
MovingImageGradientCalculatorType
- Public Types inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage >
typedef
DisplacementFieldTransform
< CoordinateRepresentationType,
itkGetStaticConstMacro(MovingDimension) > 
MovingDisplacementFieldTransformType
typedef
VirtualImageType::ConstPointer 
VirtualImageConstPointer
- Public Types inherited from itk::ObjectToObjectMetricBase
- Public Types inherited from itk::SingleValuedCostFunctionv4
- Public Types inherited from itk::CostFunction
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
- Public Member Functions inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >
virtual void GetDerivative (DerivativeType &) const
virtual const FixedImageTypeGetFixedImage ()
virtual const
FixedImageGradientImageType
GetFixedImageGradientImage ()
virtual const
FixedInterpolatorType
GetFixedInterpolator ()
virtual const MovingImageTypeGetMovingImage ()
virtual const
MovingImageGradientImageType
GetMovingImageGradientImage ()
virtual const
MovingInterpolatorType
GetMovingInterpolator ()
SizeValueType GetNumberOfDomainPoints () const
virtual const SizeValueTypeGetNumberOfSkippedFixedSampledPoints ()
virtual ThreadIdType GetNumberOfThreadsUsed () const
virtual SizeValueType GetNumberOfValidPoints () const
virtual MeasureType GetValue () const
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const
virtual const VirtualPointSetTypeGetVirtualSampledPointSet ()
virtual void Initialize (void) throw ( itk::ExceptionObject )
virtual void SetFixedImage (const FixedImageType *_arg)
virtual void SetFixedInterpolator (FixedInterpolatorType *_arg)
virtual void SetMovingImage (const MovingImageType *_arg)
virtual void SetMovingInterpolator (MovingInterpolatorType *_arg)
virtual bool SupportsArbitraryVirtualDomainSamples (void) const
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 ()
virtual void SetFixedSampledPointSet (FixedSampledPointSetType *_arg)
virtual void SetFixedSampledPointSet (const FixedSampledPointSetType *_arg)
virtual const
FixedSampledPointSetType
GetFixedSampledPointSet ()
virtual void SetUseFixedSampledPointSet (bool _arg)
virtual const bool & GetUseFixedSampledPointSet ()
virtual void UseFixedSampledPointSetOn ()
virtual void UseFixedSampledPointSetOff ()
virtual void SetFixedImageGradientFilter (FixedImageGradientFilterType *_arg)
virtual
FixedImageGradientFilterType
GetFixedImageGradientFilter ()
virtual void SetMovingImageGradientFilter (MovingImageGradientFilterType *_arg)
virtual
MovingImageGradientFilterType
GetMovingImageGradientFilter ()
virtual void SetFixedImageGradientCalculator (FixedImageGradientCalculatorType *_arg)
virtual
FixedImageGradientCalculatorType
GetFixedImageGradientCalculator ()
virtual void SetMovingImageGradientCalculator (MovingImageGradientCalculatorType *_arg)
virtual
MovingImageGradientCalculatorType
GetMovingImageGradientCalculator ()
virtual void SetUseFixedImageGradientFilter (bool _arg)
virtual const bool & GetUseFixedImageGradientFilter ()
virtual void UseFixedImageGradientFilterOn ()
virtual void UseFixedImageGradientFilterOff ()
virtual void SetUseMovingImageGradientFilter (bool _arg)
virtual const bool & GetUseMovingImageGradientFilter ()
virtual void UseMovingImageGradientFilterOn ()
virtual void UseMovingImageGradientFilterOff ()
virtual void SetMaximumNumberOfThreads (const ThreadIdType threads)
virtual ThreadIdType GetMaximumNumberOfThreads () const
virtual void SetUseFloatingPointCorrection (bool _arg)
virtual const bool & GetUseFloatingPointCorrection ()
virtual void UseFloatingPointCorrectionOn ()
virtual void UseFloatingPointCorrectionOff ()
virtual void SetFloatingPointCorrectionResolution (DerivativeValueType _arg)
virtual DerivativeValueType GetFloatingPointCorrectionResolution () const
- Public Member Functions inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage >
OffsetValueType ComputeParameterOffsetFromVirtualIndex (const VirtualIndexType &index, const NumberOfParametersType &numberOfLocalParameters) const
OffsetValueType ComputeParameterOffsetFromVirtualPoint (const VirtualPointType &point, const NumberOfParametersType &numberOfLocalParameters) const
virtual const FixedTransformTypeGetFixedTransform ()
virtual const MovingTransformTypeGetMovingTransform ()
virtual NumberOfParametersType GetNumberOfLocalParameters () const
virtual NumberOfParametersType GetNumberOfParameters () const
virtual const ParametersTypeGetParameters () const
const MovingTransformTypeGetTransform ()
VirtualDirectionType GetVirtualDirection (void) const
virtual const TimeStampGetVirtualDomainTimeStamp (void) const
virtual const VirtualImageTypeGetVirtualImage ()
VirtualOriginType GetVirtualOrigin (void) const
const VirtualRegionTypeGetVirtualRegion (void) const
VirtualSpacingType GetVirtualSpacing (void) const
virtual bool HasLocalSupport () const
virtual void SetFixedTransform (FixedTransformType *_arg)
virtual void SetMovingTransform (MovingTransformType *_arg)
virtual void SetParameters (ParametersType &params)
void SetTransform (MovingTransformType *transform)
void SetVirtualDomain (const VirtualSpacingType &spacing, const VirtualOriginType &origin, const VirtualDirectionType &direction, const VirtualRegionType &region)
virtual void UpdateTransformParameters (const DerivativeType &derivative, ParametersValueType factor)
void SetVirtualDomainFromImage (VirtualImageType *virtualImage)
void SetVirtualDomainFromImage (const VirtualImageType *virtualImage)
bool IsInsideVirtualDomain (const VirtualPointType &point) const
bool IsInsideVirtualDomain (const VirtualIndexType &index) const
- Public Member Functions inherited from itk::ObjectToObjectMetricBase
MeasureType GetCurrentValue () const
virtual GradientSourceType GetGradientSource () const
bool GetGradientSourceIncludesFixed () const
bool GetGradientSourceIncludesMoving () const
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const =0
virtual void SetGradientSource (GradientSourceType _arg)
- Public Member Functions inherited from itk::SingleValuedCostFunctionv4
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const =0

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const ImageDimensionType FixedImageDimension = ::itk::GetImageDimension<TFixedImage>::ImageDimension
static const ImageDimensionType MovingImageDimension = ::itk::GetImageDimension<TMovingImage>::ImageDimension
static const ImageDimensionType VirtualImageDimension = ::itk::GetImageDimension<TVirtualImage>::ImageDimension
- Static Public Attributes inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >
- Static Public Attributes inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage >
static const DimensionType FixedDimension
static const DimensionType MovingDimension
static const DimensionType VirtualDimension

Protected Types

typedef
CorrelationImageToImageMetricv4GetValueAndDerivativeThreader
< ThreadedImageRegionPartitioner
< Superclass::VirtualImageDimension >
, Superclass, Self
CorrelationDenseGetValueAndDerivativeThreaderType
typedef
CorrelationImageToImageMetricv4HelperThreader
< ThreadedImageRegionPartitioner
< Superclass::VirtualImageDimension >
, Superclass, Self
CorrelationHelperDenseThreaderType
typedef
CorrelationImageToImageMetricv4HelperThreader
< ThreadedIndexedContainerPartitioner,
Superclass, Self
CorrelationHelperSparseThreaderType
typedef
CorrelationImageToImageMetricv4GetValueAndDerivativeThreader
< ThreadedIndexedContainerPartitioner,
Superclass, Self
CorrelationSparseGetValueAndDerivativeThreaderType
- Protected Types inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >
typedef
LinearInterpolateImageFunction
< FixedImageGradientImageType,
CoordinateRepresentationType
FixedImageGradientInterpolatorType
typedef
LinearInterpolateImageFunction
< MovingImageGradientImageType,
CoordinateRepresentationType
MovingImageGradientInterpolatorType

Protected Member Functions

 CorrelationImageToImageMetricv4 ()
virtual void InitializeForIteration () const
void PrintSelf (std::ostream &os, Indent indent) const
virtual ~CorrelationImageToImageMetricv4 ()
- Protected Member Functions inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >
virtual void ComputeFixedImageGradientAtIndex (const VirtualIndexType &index, FixedImageGradientType &gradient) const
virtual void ComputeFixedImageGradientAtPoint (const FixedImagePointType &mappedPoint, FixedImageGradientType &gradient) const
virtual void ComputeFixedImageGradientFilterImage ()
virtual void ComputeMovingImageGradientAtIndex (const VirtualIndexType &index, MovingImageGradientType &gradient) const
virtual void ComputeMovingImageGradientAtPoint (const MovingImagePointType &mappedPoint, MovingImageGradientType &gradient) const
virtual void ComputeMovingImageGradientFilterImage () const
virtual void GetValueAndDerivativeExecute () const
 ImageToImageMetricv4 ()
bool TransformAndEvaluateFixedPoint (const VirtualIndexType &index, const VirtualPointType &point, const bool computeImageGradient, FixedImagePointType &mappedFixedPoint, FixedImagePixelType &mappedFixedPixelValue, FixedImageGradientType &mappedFixedImageGradient) const
bool TransformAndEvaluateMovingPoint (const VirtualIndexType &index, const VirtualPointType &point, const bool computeImageGradient, MovingImagePointType &mappedMovingPoint, MovingImagePixelType &mappedMovingPixelValue, MovingImageGradientType &mappedMovingImageGradient) const
virtual ~ImageToImageMetricv4 ()
virtual void InitializeDefaultFixedImageGradientFilter (void)
virtual void InitializeDefaultMovingImageGradientFilter (void)
- Protected Member Functions inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage >
MovingDisplacementFieldTransformTypeGetMovingDisplacementFieldTransform () const
 ObjectToObjectMetric ()
bool TransformPhysicalPointToVirtualIndex (const VirtualPointType &, VirtualIndexType &) const
void TransformVirtualIndexToPhysicalPoint (const VirtualIndexType &, VirtualPointType &) const
virtual void VerifyDisplacementFieldSizeAndPhysicalSpace ()
bool VerifyNumberOfValidPoints (MeasureType &value, DerivativeType &derivative) const
virtual ~ObjectToObjectMetric ()
- Protected Member Functions inherited from itk::ObjectToObjectMetricBase
 ObjectToObjectMetricBase ()
virtual ~ObjectToObjectMetricBase ()
- Protected Member Functions inherited from itk::SingleValuedCostFunctionv4
 SingleValuedCostFunctionv4 ()
virtual ~SingleValuedCostFunctionv4 ()
- 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 ()

Protected Attributes

MeasureType m_AverageFix
MeasureType m_AverageMov
CorrelationHelperDenseThreaderType::Pointer m_HelperDenseThreader
CorrelationHelperSparseThreaderType::Pointer m_HelperSparseThreader
- Protected Attributes inherited from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >
DefaultFixedImageGradientFilter::Pointer m_DefaultFixedImageGradientFilter
DefaultMovingImageGradientFilter::Pointer m_DefaultMovingImageGradientFilter
ImageToImageMetricv4GetValueAndDerivativeThreader
< ThreadedImageRegionPartitioner
< VirtualImageDimension >
, Self >::Pointer 
m_DenseGetValueAndDerivativeThreader
DerivativeTypem_DerivativeResult
FixedImageConstPointer m_FixedImage
FixedImageGradientCalculatorPointer m_FixedImageGradientCalculator
FixedImageGradientFilterPointer m_FixedImageGradientFilter
FixedImageGradientImagePointer m_FixedImageGradientImage
FixedImageGradientInterpolatorType::Pointer m_FixedImageGradientInterpolator
FixedImageMaskConstPointer m_FixedImageMask
FixedInterpolatorPointer m_FixedInterpolator
FixedSampledPointSetConstPointer m_FixedSampledPointSet
MovingImageConstPointer m_MovingImage
MovingImageGradientCalculatorPointer m_MovingImageGradientCalculator
MovingImageGradientFilterPointer m_MovingImageGradientFilter
MovingImageGradientImagePointer m_MovingImageGradientImage
MovingImageGradientInterpolatorType::Pointer m_MovingImageGradientInterpolator
MovingImageMaskConstPointer m_MovingImageMask
MovingInterpolatorPointer m_MovingInterpolator
ImageToImageMetricv4GetValueAndDerivativeThreader
< ThreadedIndexedContainerPartitioner,
Self >::Pointer 
m_SparseGetValueAndDerivativeThreader
bool m_UseFixedImageGradientFilter
bool m_UseFixedSampledPointSet
bool m_UseMovingImageGradientFilter
VirtualPointSetPointer m_VirtualSampledPointSet
- Protected Attributes inherited from itk::ObjectToObjectMetric< TFixedImage::ImageDimension, TMovingImage::ImageDimension, TVirtualImage >
FixedTransformPointer m_FixedTransform
MovingTransformPointer m_MovingTransform
SizeValueType m_NumberOfValidPoints
bool m_UserHasSetVirtualDomain
VirtualImagePointer m_VirtualImage
- Protected Attributes inherited from itk::ObjectToObjectMetricBase
GradientSourceType m_GradientSource
MeasureType m_Value

Private Member Functions

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

Friends

class CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self >
class CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self >
class CorrelationImageToImageMetricv4HelperThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self >
class CorrelationImageToImageMetricv4HelperThreader< ThreadedIndexedContainerPartitioner, Superclass, Self >
class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Self >
class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self >
class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Self >
class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, Self >

Detailed Description

template<class TFixedImage, class TMovingImage, class TVirtualImage = TFixedImage>
class itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >

Class implementing normalized cross correlation image metric.

Definition of the normalized cross correlation metric used here:

negative square of normalized cross correlation

\[ C(f, m) = -\frac{<f-\bar{f}, m-\bar{m} >^2}{|f-\bar{f}}|^2 |m-\bar{m}|^2} \]

in which, f, m are the vectors of image pixel intensities, $\bar{f}$ and $\bar{m}$ are the mean values of f and m. <,> denotes inner product, $|\cdot|$ denotes the 2-norm of the vector. The minus sign makes the metric to optimize towards its minimal value. Note that this uses the square of the mathematical notion of normalized cross correlation to avoid the square root computation in practice.

Moving image (m) is a function of the parameters (p) of the moving transforms. So $ C(f, m) = C(f, m(p)) $ GetValueAndDerivative will return the value as $ C(f,m) $ and the derivative as

\[ \frac{d}{dp} C = 2 \frac{<f1, m1>}{|f1|^2 |m1|^2} * ( <f1, \frac{dm}{dp}> - \frac{<f1, m1>}{|m1|^2} < m1, \frac{dm}{dp} > ) \]

in which, $ f1 = f - \bar{f} $, $ m1 = m - \bar{m} $ (Note: there should be a minus sign of $ \frac{d}{dp} $ mathematically, which is not in the implementation to match the requirement of the metricv4 optimization framework.

See CorrelationImageToImageMetricv4GetValueAndDerivativeThreader::ProcessPoint for algorithm implementation.

This metric only works with the global transform. It throws an exception if the transform has local support.

Definition at line 73 of file itkCorrelationImageToImageMetricv4.h.


Member Typedef Documentation

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef SmartPointer<const Self> itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ConstPointer
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self > itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CorrelationDenseGetValueAndDerivativeThreaderType
protected

Definition at line 135 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef CorrelationImageToImageMetricv4HelperThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self > itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CorrelationHelperDenseThreaderType
protected

Definition at line 143 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef CorrelationImageToImageMetricv4HelperThreader< ThreadedIndexedContainerPartitioner, Superclass, Self > itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CorrelationHelperSparseThreaderType
protected

Definition at line 145 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self > itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CorrelationSparseGetValueAndDerivativeThreaderType
protected

Definition at line 137 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::DerivativeType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DerivativeType

Type of the metric derivative.

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

Definition at line 91 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::FixedImageGradientType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageGradientType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::FixedImagePixelType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImagePixelType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::FixedImagePointType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImagePointType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::JacobianType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::JacobianType

Jacobian type. This is the same for all transforms

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

Definition at line 102 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::MeasureType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MeasureType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::MovingImageGradientType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageGradientType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::MovingImagePixelType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImagePixelType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::MovingImagePointType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImagePointType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::MovingTransformType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingTransformType

Type of the Transform Base classes

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

Definition at line 101 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef SmartPointer<Self> itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::Pointer
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef CorrelationImageToImageMetricv4 itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::Self

Standard class typedefs.

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

Definition at line 78 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef ImageToImageMetricv4<TFixedImage, TMovingImage, TVirtualImage> itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::Superclass
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::VirtualImageType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualImageType

Types for the virtual domain

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

Definition at line 103 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::VirtualIndexType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualIndexType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::VirtualPointSetType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualPointSetType

Point set in the virtual domain

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

Definition at line 106 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::VirtualPointType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualPointType

Constructor & Destructor Documentation

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

Member Function Documentation

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

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

Reimplemented from itk::Object.

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

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::InitializeForIteration ( ) const
protectedvirtual

Perform any initialization required before each evaluation of GetValueAndDerivative. This is distinct from Initialize, which is called only once before a number of iterations, e.g. before a registration loop.

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
static Pointer itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::New ( )
static

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
void itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::operator= ( const Self )
private

Mutex lock to protect modification to the reference count

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

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

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

Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.


Friends And Related Function Documentation

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
friend class CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self >
friend

Definition at line 132 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
friend class CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self >
friend

Definition at line 133 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
friend class CorrelationImageToImageMetricv4HelperThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self >
friend

Definition at line 139 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
friend class CorrelationImageToImageMetricv4HelperThreader< ThreadedIndexedContainerPartitioner, Superclass, Self >
friend

Definition at line 140 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
friend class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Self >
friend

Definition at line 129 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
friend class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self >
friend
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
friend class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Self >
friend

Definition at line 127 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
friend class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, Self >
friend

Member Data Documentation

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
const ImageDimensionType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageDimension = ::itk::GetImageDimension<TFixedImage>::ImageDimension
static
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MeasureType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_AverageFix
mutableprotected

Definition at line 153 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MeasureType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_AverageMov
mutableprotected

Definition at line 154 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
CorrelationHelperDenseThreaderType::Pointer itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_HelperDenseThreader
protected

Definition at line 147 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
CorrelationHelperSparseThreaderType::Pointer itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_HelperSparseThreader
protected

Definition at line 148 of file itkCorrelationImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
const ImageDimensionType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageDimension = ::itk::GetImageDimension<TMovingImage>::ImageDimension
static
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
const ImageDimensionType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualImageDimension = ::itk::GetImageDimension<TVirtualImage>::ImageDimension
static

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