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

#include <itkImageToImageMetricv4.h>

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

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
Superclass::CoordinateRepresentationType 
CoordinateRepresentationType
typedef
GradientRecursiveGaussianImageFilter
< FixedImageType,
FixedImageGradientImageType
DefaultFixedImageGradientFilter
typedef
GradientRecursiveGaussianImageFilter
< MovingImageType,
MovingImageGradientImageType
DefaultMovingImageGradientFilter
typedef Superclass::DerivativeType DerivativeType
typedef DerivativeType::ValueType DerivativeValueType
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::PixelType FixedImagePixelType
typedef FixedImageType::Pointer FixedImagePointer
typedef FixedImageType::PointType FixedImagePointType
typedef TFixedImage FixedImageType
typedef
FixedTransformType::InputPointType 
FixedInputPointType
typedef
FixedInterpolatorType::Pointer 
FixedInterpolatorPointer
typedef
InterpolateImageFunction
< FixedImageType,
CoordinateRepresentationType
FixedInterpolatorType
typedef
FixedTransformType::OutputPointType 
FixedOutputPointType
typedef
FixedSampledPointSetType::ConstPointer 
FixedSampledPointSetConstPointer
typedef
FixedSampledPointSetType::Pointer 
FixedSampledPointSetPointer
typedef PointSet< typename
FixedImageType::PixelType,
itkGetStaticConstMacro(FixedImageDimension)> 
FixedSampledPointSetType
typedef
FixedTransformType::JacobianType 
FixedTransformJacobianType
typedef
FixedTransformType::ParametersType 
FixedTransformParametersType
typedef FixedTransformType::Pointer FixedTransformPointer
typedef Transform
< CoordinateRepresentationType,
itkGetStaticConstMacro(FixedImageDimension),
itkGetStaticConstMacro(VirtualImageDimension)> 
FixedTransformType
typedef
FixedWarpResampleImageFilterType::Pointer 
FixedWarpResampleImageFilterPointer
typedef ResampleImageFilter
< FixedImageType,
VirtualImageType,
FixedRealType
FixedWarpResampleImageFilterType
typedef
Superclass::GradientSourceType 
GradientSourceType
typedef unsigned int ImageDimensionType
typedef
Superclass::InternalComputationValueType 
InternalComputationValueType
typedef
FixedTransformType::JacobianType 
JacobianType
typedef Superclass::MeasureType MeasureType
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::PixelType MovingImagePixelType
typedef MovingImageType::Pointer MovingImagePointer
typedef MovingImageType::PointType MovingImagePointType
typedef MovingImageType::RegionType MovingImageRegionType
typedef TMovingImage MovingImageType
typedef
MovingTransformType::InputPointType 
MovingInputPointType
typedef
MovingInterpolatorType::Pointer 
MovingInterpolatorPointer
typedef
InterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType
MovingInterpolatorType
typedef
MovingTransformType::OutputPointType 
MovingOutputPointType
typedef NumericTraits
< MovingImagePixelType >
::RealType 
MovingRealType
typedef
MovingTransformType::JacobianType 
MovingTransformJacobianType
typedef
MovingTransformType::ParametersType 
MovingTransformParametersType
typedef
MovingTransformType::Pointer 
MovingTransformPointer
typedef Transform
< CoordinateRepresentationType,
itkGetStaticConstMacro(MovingImageDimension),
itkGetStaticConstMacro(VirtualImageDimension)> 
MovingTransformType
typedef
MovingWarpResampleImageFilterType::Pointer 
MovingWarpResampleImageFilterPointer
typedef ResampleImageFilter
< MovingImageType,
VirtualImageType,
MovingRealType
MovingWarpResampleImageFilterType
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
typedef Superclass::ParametersType ParametersType
typedef
Superclass::ParametersValueType 
ParametersValueType
typedef SmartPointer< SelfPointer
typedef ImageToImageMetricv4 Self
typedef ObjectToObjectMetric Superclass
typedef
VirtualImageType::DirectionType 
VirtualDirectionType
typedef CovariantVector
< CoordinateRepresentationType,
itkGetStaticConstMacro(VirtualImageDimension) > 
VirtualImageGradientType
typedef VirtualImageType::PixelType VirtualImagePixelType
typedef VirtualImageType::Pointer VirtualImagePointer
typedef TVirtualImage VirtualImageType
typedef VirtualImageType::IndexType VirtualIndexType
typedef VirtualImageType::PointType VirtualOriginType
typedef VirtualImageType::PointType VirtualPointType
typedef VirtualImageType::SizeType VirtualRadiusType
typedef
VirtualImageType::RegionType 
VirtualRegionType
typedef
VirtualSampledPointSetType::Pointer 
VirtualSampledPointSetPointer
typedef PointSet< typename
VirtualImageType::PixelType,
itkGetStaticConstMacro(VirtualImageDimension)> 
VirtualSampledPointSetType
typedef VirtualRegionType::SizeType VirtualSizeType
typedef
VirtualImageType::SpacingType 
VirtualSpacingType
typedef CovariantVector
< CoordinateRepresentationType,
itkGetStaticConstMacro(FixedImageDimension) > 
FixedImageGradientType
typedef CovariantVector
< CoordinateRepresentationType,
itkGetStaticConstMacro(MovingImageDimension) > 
MovingImageGradientType
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 Member Functions

OffsetValueType ComputeParameterOffsetFromVirtualDomainIndex (const VirtualIndexType &index, const NumberOfParametersType numberOfLocalParameters) const
void CreateVirtualDomainImage (VirtualSpacingType &spacing, VirtualOriginType &origin, VirtualDirectionType &direction, VirtualRegionType &region)
MeasureType GetCurrentValue ()
virtual const FixedImageTypeGetFixedImage ()
virtual const
FixedImageGradientImageType
GetFixedImageGradientImage ()
virtual const
FixedInterpolatorType
GetFixedInterpolator ()
virtual const FixedTransformTypeGetFixedTransform ()
virtual const MovingImageTypeGetMovingImage ()
virtual const
MovingImageGradientImageType
GetMovingImageGradientImage ()
virtual const
MovingInterpolatorType
GetMovingInterpolator ()
virtual const MovingTransformTypeGetMovingTransform ()
virtual const char * GetNameOfClass () const
SizeValueType GetNumberOfDomainPoints () const
virtual NumberOfParametersType GetNumberOfLocalParameters () const
virtual NumberOfParametersType GetNumberOfParameters () const
virtual const SizeValueTypeGetNumberOfSkippedFixedSampledPoints ()
ThreadIdType GetNumberOfThreadsUsed () const
virtual SizeValueType GetNumberOfValidPoints () const
virtual const ParametersTypeGetParameters () const
const MovingTransformTypeGetTransform ()
virtual MeasureType GetValue () const
virtual void GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const
virtual const VirtualImageTypeGetVirtualDomainImage ()
virtual const
VirtualSampledPointSetType
GetVirtualSampledPointSet ()
virtual bool HasLocalSupport () const
virtual void Initialize (void) throw ( itk::ExceptionObject )
virtual void SetFixedImage (const FixedImageType *_arg)
virtual void SetFixedInterpolator (FixedInterpolatorType *_arg)
virtual void SetFixedTransform (FixedTransformType *_arg)
virtual void SetMovingImage (const MovingImageType *_arg)
virtual void SetMovingInterpolator (MovingInterpolatorType *_arg)
virtual void SetMovingTransform (MovingTransformType *_arg)
virtual void SetParameters (ParametersType &params)
void SetTransform (MovingTransformType *transform)
void SetVirtualDomainImage (VirtualImageType *virtualImage)
virtual void UpdateTransformParameters (DerivativeType &derivative, ParametersValueType factor=NumericTraits< ParametersValueType >::One)
const VirtualSpacingType GetVirtualDomainSpacing (void) const
const VirtualOriginType GetVirtualDomainOrigin (void) const
const VirtualDirectionType GetVirtualDomainDirection (void) const
const VirtualRegionType GetVirtualDomainRegion (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 SetDoFixedImagePreWarp (bool _arg)
virtual const bool & GetDoFixedImagePreWarp ()
virtual void DoFixedImagePreWarpOn ()
virtual void DoFixedImagePreWarpOff ()
virtual void SetDoMovingImagePreWarp (bool _arg)
virtual const bool & GetDoMovingImagePreWarp ()
virtual void DoMovingImagePreWarpOn ()
virtual void DoMovingImagePreWarpOff ()
virtual const MovingImageTypeGetMovingWarpedImage ()
virtual const FixedImageTypeGetFixedWarpedImage ()
void SetMaximumNumberOfThreads (const ThreadIdType threads)
ThreadIdType GetMaximumNumberOfThreads () const
virtual void SetFloatingPointCorrectionResolution (DerivativeValueType _arg)
virtual DerivativeValueType GetFloatingPointCorrectionResolution () const

Static Public Attributes

static const ImageDimensionType FixedImageDimension = ::itk::GetImageDimension<FixedImageType>::ImageDimension
static const ImageDimensionType MovingImageDimension = ::itk::GetImageDimension<MovingImageType>::ImageDimension
static const ImageDimensionType VirtualImageDimension = ::itk::GetImageDimension<VirtualImageType>::ImageDimension

Protected Types

typedef
LinearInterpolateImageFunction
< FixedImageGradientImageType,
CoordinateRepresentationType
FixedImageGradientInterpolatorType
typedef
LinearInterpolateImageFunction
< MovingImageGradientImageType,
CoordinateRepresentationType
MovingImageGradientInterpolatorType

Protected Member Functions

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 ()
virtual void InitializeForIteration () const
void PrintSelf (std::ostream &os, Indent indent) const
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 void VerifyDisplacementFieldSizeAndPhysicalSpace ()
bool VerifyNumberOfValidPoints (MeasureType &value, DerivativeType &derivative) const
virtual ~ImageToImageMetricv4 ()
virtual void InitializeDefaultFixedImageGradientFilter (void)
virtual void InitializeDefaultMovingImageGradientFilter (void)

Protected Attributes

DefaultFixedImageGradientFilter::Pointer m_DefaultFixedImageGradientFilter
DefaultMovingImageGradientFilter::Pointer m_DefaultMovingImageGradientFilter
ImageToImageMetricv4GetValueAndDerivativeThreader
< ThreadedImageRegionPartitioner
< VirtualImageDimension >
, Self >::Pointer 
m_DenseGetValueAndDerivativeThreader
DerivativeTypem_DerivativeResult
bool m_DoFixedImagePreWarp
bool m_DoMovingImagePreWarp
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
FixedTransformPointer m_FixedTransform
FixedImagePointer m_FixedWarpedImage
FixedWarpResampleImageFilterPointer m_FixedWarpResampleImageFilter
MovingImageConstPointer m_MovingImage
MovingImageGradientCalculatorPointer m_MovingImageGradientCalculator
MovingImageGradientFilterPointer m_MovingImageGradientFilter
MovingImageGradientImagePointer m_MovingImageGradientImage
MovingImageGradientInterpolatorType::Pointer m_MovingImageGradientInterpolator
MovingImageMaskConstPointer m_MovingImageMask
MovingInterpolatorPointer m_MovingInterpolator
MovingTransformPointer m_MovingTransform
MovingImagePointer m_MovingWarpedImage
MovingWarpResampleImageFilterPointer m_MovingWarpResampleImageFilter
SizeValueType m_NumberOfValidPoints
ImageToImageMetricv4GetValueAndDerivativeThreader
< ThreadedIndexedContainerPartitioner,
Self >::Pointer 
m_SparseGetValueAndDerivativeThreader
bool m_UseFixedImageGradientFilter
bool m_UseFixedSampledPointSet
bool m_UseMovingImageGradientFilter
bool m_UserHasProvidedVirtualDomainImage
MeasureType m_Value
VirtualImagePointer m_VirtualDomainImage
VirtualSampledPointSetPointer m_VirtualSampledPointSet

Private Member Functions

 ImageToImageMetricv4 (const Self &)
void MapFixedSampledPointSetToVirtual (void)
void operator= (const Self &)
void DoFixedImagePreWarp (void) const
void DoMovingImagePreWarp (void) const

Private Attributes

DerivativeValueType m_FloatingPointCorrectionResolution
bool m_HaveMadeGetValueWarning
SizeValueType m_NumberOfSkippedFixedSampledPoints
std::vector< VirtualPointTypem_VirtualImageCornerPoints

Friends

class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >
class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self >
class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >
class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, Self >
typedef PixelTraits
< FixedImagePixelType >
::ValueType 
FixedImagePixelValueType
typedef PixelTraits
< MovingImagePixelType >
::ValueType 
MovingImagePixelValueType
 typedef (itk::Concept::IsFloatingPoint< FixedImagePixelValueType >) OnlyDefinedForFloatingPointTypes0
 typedef (itk::Concept::IsFloatingPoint< MovingImagePixelValueType >) OnlyDefinedForFloatingPointTypes1

Detailed Description

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

Computes similarity between regions of two images, using two user-supplied transforms, a 'fixed' transform and a 'moving' transform.

Warning:
Integer-type images are not yet supported. See concept-checking in class declaration for details.
Note:
Currently GetValue is implemented in this base simply by calling GetValueAndDerivative and discarding the derivative. This is inefficient but sufficient to match API requirements. Derived classes may override and implement differently.

Templated over the fixed and moving image types, as well as an optional VirtualImage type to define the virtual domain. The VirtualImage type defaults to TFixedImage.

This class uses a virtual reference space. This space defines the resolution at which the registration is performed, as well as the physical coordinate system. This is useful for unbiased registration. The region over which registration is performed is taken from the virtual image buffered region. The user can define a virtual domain by calling either CreateVirtualDomainImage or SetVirtualDomainImage. See these methods for details. If the user does not set the virtual image explicitly, then it is created during the call to Initialize by allocating a new image of type TVirtualImage and copying the information from the fixed image using CopyInformation.

Note:
When the virtual image is created by this class, memory is conserved by not allocating space for data within the image. Therefore, derived classes must not access pixel data within the virtual image, it can only be used for iterating over points and performing transformation to and from index and physical coordinates.
If TFixedImage is type VectorImage, then TVirtualImage must be set separately to a non-VectorImage type, e.g. Image<unsigned char, dim>.

Both transforms are initialized to an IdentityTransform, and can be set by the user using SetFixedTranform and SetMovingTransform.

At a minimum, the user must: 1) Set images using SetFixedImage and SetMovingImage. 2) Call Initialize.

Pre-warping

The SetDoFixedImagePreWarp and SetDoMovingImagePreWarp options can be set for better speed. When set, these create a warped version for each image at the beginning of each iteration, warping each image into the virtual domain. However the cost is more memory usage (VirtualDomain size for each image). The fixed image is only pre-warped once, during the call to Initialize, because it is assumed the fixed transform is not changing. The moving image is pre-warped at the beginning of every iteration, because it is assumed the moving transform is changing (e.g. during registration). By default, pre-warping is enabled for both fixed and moving images.

Image gradient calculations

Image gradients can be calculated in one of two ways: 1) Using a gradient image filter, by setting Use[Fixed|Moving]ImageGradientFilter to true. By default this is set as an itkGradientRecursiveGaussianImageFilter, a smoothed gradient filter. A filter uses more memory, because it calculates all gradients at once and stores them in an image. The advantage of pre-calculation is for the fixed image gradients, since they only need be calculated once, and for metrics that need to access image gradients more than once for a particular point. The fixed image gradients are only calculated once when this option is set, during Initialize. 2) Otherwise, an image gradient calculator based on ImageFunction is used. By default the CentralDifferenceImageFunction is used. This calculation is not smoothed and gives different results than GradientRecursiveGaussianImageFilter. The advantage is that less memory is used. However for the fixed image, it means needlessly computing the image gradients at each iteration of a registration instead of just computing once at the beginning. The user can supply a different function by calling SetFixedImageGradientCalculator and/or SetMovingImageGradientCalculator.

Both image gradient calculation methods are threaded. Generally it is not recommended to use different image gradient methods for the fixed and moving images because the methods return different results.

Image Masks

Image masks are supported using SetMovingImageMask or SetFixedImageMask. If the image mask is sparse, see the comments for use of sparse point sets.

Sparse Sampling

Sparse sampling is performed by supplying an arbitrary point list over which to evaluate the metric. It's presumed that the user will be working in terms of the fixed image domain, and thus the point list is expected to be in the fixed domain. Internally, the points are transformed into the virtual domain as needed.

Note:
The attributes/data of each point in the set are not used, but rather the point's geometric coordinates. Point sets are set via SetFixedSampledPointSet, and the point set is enabled for use by calling SetUseFixedSampledPointSet.
If the point set is sparse, the options SetDo[Fixed|Moving]ImagePreWarp and SetUse[Fixed|Moving]ImageGradientFilter typically should be disabled to avoid excessive computation. However, the warped position and gradient values of the fixed image are not cached when using a point set (there are plans for this in the future), so depending on the number of iterations (when used during optimization) and the level of sparsity, it may be more efficient to pre-warp the fixed image and use a gradient image filter for it because they will only be calculated once.

Threading

This class is threaded. Threading is handled by friend classes ImageToImageMetricv4GetValueAndDerivativeThreaderBase and ImageToImageMetricv4GetValueAndDerivativeThreader. Dense and sparse evaluation are handled by template specialization of the ImageToImageMetricv4GetValueAndDerivativeThreader::ThreadedExecution method, in order to iterate over either all points in the virutal space in the case of dense evaluation, or a list of points in the sparse case.

Methods and members of ImageToImageMetricv4 are accessed by the threading class using its m_Associate member, which points to the containing instance of ImageToImageMetricv4.

Pre- and post-processing for threaded operation is handled in ImageToImageMetricv4GetValueAndDerivativeThreaderBase::BeforeThreadedExecution, and ImageToImageMetricv4GetValueAndDerivativeThreaderBase::AfterThreadedExecution, respectively.

Derived classes:

The GetValue method may be overridden to provide better-optimized or otherwise different behavior as needed.

Derived classes must derive a threader class from ImageToImageMetricv4GetValueAndDerivativeThreader, from which a DenseGetValueAndDerivativeThreader and SparseGetValueAndDerivativeThreader must be defined. Then,

must be called in the constructor.

The ProcessPoint method of the derived threader must be overriden to provide the metric-specific evaluation.

To access methods and members within the derived metric class from the derived threader class, the user must cast m_Associate to the type of the derived metric class.

See ImageToImageMetricv4Test for a clear example of what a derived class must implement and do.

Definition at line 189 of file itkImageToImageMetricv4.h.


Member Typedef Documentation

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef SmartPointer<const Self> itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ConstPointer
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::CoordinateRepresentationType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CoordinateRepresentationType

Type used for representing parameter values

Reimplemented from itk::ObjectToObjectMetric.

Reimplemented in itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

Definition at line 208 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef GradientRecursiveGaussianImageFilter< FixedImageType, FixedImageGradientImageType > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DefaultFixedImageGradientFilter

Default image gradient filter types

Definition at line 370 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef GradientRecursiveGaussianImageFilter< MovingImageType, MovingImageGradientImageType > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DefaultMovingImageGradientFilter

Definition at line 373 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::DerivativeType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DerivativeType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef DerivativeType::ValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DerivativeValueType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef CovariantVector< FixedRealType, itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedGradientPixelType

Type of the filter used to calculate the gradients. Note that RealType is always double (or long double for long double pixel-type).

Definition at line 339 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedImageType::ConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageConstPointer

Definition at line 221 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedImageGradientCalculatorType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageGradientCalculatorPointer

Definition at line 390 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef ImageFunction<FixedImageType, CovariantVector<double, itkGetStaticConstMacro( FixedImageDimension )>, CoordinateRepresentationType> itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageGradientCalculatorType

Image gradient calculator types. The TOutput template parameter is chosen to match that of CentralDiffererenceImageFunction.

Definition at line 381 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedImageGradientFilterType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageGradientFilterPointer

Definition at line 363 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef ImageToImageFilter< FixedImageType, FixedImageGradientImageType > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageGradientFilterType

Definition at line 348 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedImageGradientImageType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageGradientImagePointer

Type of the filter used to calculate the gradients. Note that RealType is always double (or long double for long double pixel-type).

Definition at line 344 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Image< FixedGradientPixelType, itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageGradientImageType

Type of the filter used to calculate the gradients. Note that RealType is always double (or long double for long double pixel-type).

Definition at line 342 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef LinearInterpolateImageFunction< FixedImageGradientImageType, CoordinateRepresentationType > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageGradientInterpolatorType [protected]

Definition at line 684 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef CovariantVector< CoordinateRepresentationType, itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageGradientType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedImageType::IndexType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageIndexType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedImageMaskType::ConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageMaskConstPointer

Definition at line 286 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedImageMaskType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageMaskPointer

Definition at line 284 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef SpatialObject< itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::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 283 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedImageType::PixelType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImagePixelType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef PixelTraits<FixedImagePixelType>::ValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImagePixelValueType [private]

Only floating-point images are currently supported. To support integer images, several small changes must be made, but a larger complication is handling pre-warping cleanly.

Definition at line 919 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedImageType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImagePointer

Definition at line 220 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedImageType::PointType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImagePointType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef TFixedImage itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedTransformType::InputPointType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedInputPointType

Definition at line 264 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedInterpolatorType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedInterpolatorPointer

Definition at line 316 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef InterpolateImageFunction< FixedImageType, CoordinateRepresentationType > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedInterpolatorType

Type of the Interpolator Base class

Definition at line 312 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedTransformType::OutputPointType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedOutputPointType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef NumericTraits< FixedImagePixelType >::RealType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedRealType

Type of the filter used to calculate the gradients. Note that RealType is always double (or long double for long double pixel-type).

Definition at line 336 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedSampledPointSetType::ConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedSampledPointSetConstPointer

Definition at line 301 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedSampledPointSetType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedSampledPointSetPointer
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef PointSet<typename FixedImageType::PixelType, itkGetStaticConstMacro(FixedImageDimension)> itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedSampledPointSetType

Type of the point set used for sparse sampling.

Definition at line 299 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedTransformType::JacobianType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedTransformJacobianType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedTransformType::ParametersType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedTransformParametersType

Definition at line 267 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedTransformType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedTransformPointer

Definition at line 263 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Transform<CoordinateRepresentationType, itkGetStaticConstMacro( FixedImageDimension ), itkGetStaticConstMacro( VirtualImageDimension )> itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedTransformType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedWarpResampleImageFilterType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedWarpResampleImageFilterPointer

Definition at line 406 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef ResampleImageFilter< FixedImageType, VirtualImageType, FixedRealType > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedWarpResampleImageFilterType

Definition at line 404 of file itkImageToImageMetricv4.h.

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

Graident source type

Reimplemented from itk::ObjectToObjectMetric.

Definition at line 215 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef unsigned int itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ImageDimensionType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::InternalComputationValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::InternalComputationValueType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef FixedTransformType::JacobianType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::JacobianType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::MeasureType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MeasureType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef CovariantVector< MovingRealType, itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingGradientPixelType

Definition at line 354 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingImageType::ConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageConstPointer

Definition at line 227 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingImageGradientCalculatorType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageGradientCalculatorPointer

Definition at line 392 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef ImageFunction<MovingImageType, CovariantVector<double, itkGetStaticConstMacro( MovingImageDimension )>, CoordinateRepresentationType> itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageGradientCalculatorType

Image gradient calculator types. The TOutput template parameter is chosen to match that of CentralDiffererenceImageFunction.

Definition at line 386 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingImageGradientFilterType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageGradientFilterPointer

Definition at line 365 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef ImageToImageFilter< MovingImageType, MovingImageGradientImageType > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageGradientFilterType

Definition at line 361 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingImageGradientImageType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageGradientImagePointer

Definition at line 358 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Image< MovingGradientPixelType, itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageGradientImageType

Definition at line 357 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef LinearInterpolateImageFunction< MovingImageGradientImageType, CoordinateRepresentationType > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageGradientInterpolatorType [protected]

Definition at line 687 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef CovariantVector< CoordinateRepresentationType, itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageGradientType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingImageType::IndexType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageIndexType

Definition at line 230 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingImageMaskType::ConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageMaskConstPointer

Definition at line 294 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingImageMaskType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageMaskPointer

Definition at line 292 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef SpatialObject< itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::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 291 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingImageType::PixelType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImagePixelType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef PixelTraits<MovingImagePixelType>::ValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImagePixelValueType [private]

Only floating-point images are currently supported. To support integer images, several small changes must be made, but a larger complication is handling pre-warping cleanly.

Definition at line 920 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingImageType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImagePointer

Definition at line 226 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingImageType::PointType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImagePointType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingImageType::RegionType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageRegionType

Definition at line 229 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef TMovingImage itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingTransformType::InputPointType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingInputPointType

Definition at line 270 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingInterpolatorType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingInterpolatorPointer

Definition at line 317 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef InterpolateImageFunction< MovingImageType, CoordinateRepresentationType > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingInterpolatorType

Definition at line 315 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingTransformType::OutputPointType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingOutputPointType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef NumericTraits< MovingImagePixelType >::RealType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingRealType

Definition at line 351 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingTransformType::JacobianType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingTransformJacobianType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingTransformType::ParametersType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingTransformParametersType

Definition at line 273 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingTransformType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingTransformPointer

Definition at line 269 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Transform<CoordinateRepresentationType, itkGetStaticConstMacro( MovingImageDimension ), itkGetStaticConstMacro( VirtualImageDimension )> itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingTransformType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef MovingWarpResampleImageFilterType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingWarpResampleImageFilterPointer

Definition at line 400 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef ResampleImageFilter< MovingImageType, VirtualImageType, MovingRealType > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingWarpResampleImageFilterType

ResampleImageFilter types for image pre-warping

Definition at line 398 of file itkImageToImageMetricv4.h.

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

Type to represent the number of parameters that are being optimized at any given iteration of the optimizer.

Reimplemented from itk::ObjectToObjectMetric.

Reimplemented in itk::ANTSNeighborhoodCorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >, and itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

Definition at line 417 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::ParametersType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ParametersType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef Superclass::ParametersValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ParametersValueType

ParametersType typedef. It defines a position in the optimization search space.

Reimplemented from itk::ObjectToObjectMetric.

Reimplemented in itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

Definition at line 212 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef SmartPointer<Self> itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::Pointer
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef ImageToImageMetricv4 itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::Self
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef ObjectToObjectMetric itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::Superclass
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef VirtualImageType::DirectionType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualDirectionType

Definition at line 241 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef CovariantVector< CoordinateRepresentationType, itkGetStaticConstMacro(VirtualImageDimension) > itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualImageGradientType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef VirtualImageType::PixelType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualImagePixelType

Definition at line 234 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef VirtualImageType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualImagePointer

Definition at line 235 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef TVirtualImage itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualImageType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef VirtualImageType::IndexType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualIndexType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef VirtualImageType::PointType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualOriginType

Definition at line 239 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef VirtualImageType::PointType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualPointType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef VirtualImageType::SizeType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualRadiusType

Definition at line 242 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef VirtualImageType::RegionType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualRegionType

Definition at line 236 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef VirtualSampledPointSetType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualSampledPointSetPointer

Definition at line 307 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef PointSet<typename VirtualImageType::PixelType, itkGetStaticConstMacro(VirtualImageDimension)> itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualSampledPointSetType
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef VirtualRegionType::SizeType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualSizeType

Definition at line 237 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
typedef VirtualImageType::SpacingType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualSpacingType

Definition at line 238 of file itkImageToImageMetricv4.h.


Constructor & Destructor Documentation

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ImageToImageMetricv4 ( ) [protected]
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::~ImageToImageMetricv4 ( ) [protected, virtual]
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ImageToImageMetricv4 ( const Self ) [private]

Member Function Documentation

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ComputeFixedImageGradientAtIndex ( const VirtualIndexType index,
FixedImageGradientType gradient 
) const [protected, virtual]

Compute fixed warped image derivatives for an index at virtual domain.

Warning:
This doesn't transform result into virtual space. For that, see TransformAndEvaluateFixedPoint
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ComputeFixedImageGradientAtPoint ( const FixedImagePointType mappedPoint,
FixedImageGradientType gradient 
) const [protected, virtual]

Compute image derivatives for a Fixed point.

Warning:
This doesn't transform result into virtual space. For that, see TransformAndEvaluateFixedPoint
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ComputeFixedImageGradientFilterImage ( ) [protected, virtual]

Computes the gradients of the fixed image, using the GradientFilter, assigning the output to to m_FixedImageGradientImage. It will use either the original fixed image, or the pre-warped version, depending on the setting of DoFixedImagePreWarp.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ComputeMovingImageGradientAtIndex ( const VirtualIndexType index,
MovingImageGradientType gradient 
) const [protected, virtual]

Compute image derivatives for a moving point.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ComputeMovingImageGradientAtPoint ( const MovingImagePointType mappedPoint,
MovingImageGradientType gradient 
) const [protected, virtual]

Compute image derivatives for a moving point.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ComputeMovingImageGradientFilterImage ( ) const [protected, virtual]

Computes the gradients of the moving image, using the GradientFilter, assigning the output to to m_MovingImageGradientImage. It will use either the original moving image, or the pre-warped version, depending on the setting of DoMovingImagePreWarp.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
OffsetValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ComputeParameterOffsetFromVirtualDomainIndex ( const VirtualIndexType index,
const NumberOfParametersType  numberOfLocalParameters 
) const
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CreateVirtualDomainImage ( VirtualSpacingType spacing,
VirtualOriginType origin,
VirtualDirectionType direction,
VirtualRegionType region 
)

Define the virtual reference space. This space defines the resolution at which the registration is performed as well as the physical coordinate system. Useful for unbiased registration. This method will allocate m_VirtualDomainImage with the passed information. Metric evaluation will be performed over the image's buffered region.

Parameters:
spacingspacing
originorigin
directiondirection
regionregion is used to set all image regions. If the user does not set this explicitly then it is taken from the fixed image in Initialize method. To define the virtual domain from an existing image, use SetVirtualDomainImage.
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DoFixedImagePreWarp ( void  ) const [private]

Pre-warp the images for efficiency and computational stability. See main class documentation for important considerations.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DoFixedImagePreWarpOff ( ) [virtual]

Set/Get pre-warping of fixed image option.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DoFixedImagePreWarpOn ( ) [virtual]

Set/Get pre-warping of fixed image option.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DoMovingImagePreWarp ( void  ) const [private]

Pre-warp the images for efficiency and computational stability. See main class documentation for important considerations.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DoMovingImagePreWarpOff ( ) [virtual]

Set/Get pre-warping of Moving image option.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DoMovingImagePreWarpOn ( ) [virtual]

Set/Get pre-warping of Moving image option.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MeasureType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetCurrentValue ( )

Get the current metric value stored in m_Value. This is only meaningful after a call to GetValue() or GetValueAndDerivative(). Note that this would normally be called GetValue, but that name is used for historical reasons by GetValue() to compute the current metric value and store it in m_Value.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const bool& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetDoFixedImagePreWarp ( ) [virtual]

Set/Get pre-warping of fixed image option.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const bool& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetDoMovingImagePreWarp ( ) [virtual]

Set/Get pre-warping of Moving image option.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const FixedImageType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetFixedImage ( ) [virtual]

Get the Fixed Image.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual FixedImageGradientCalculatorType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetFixedImageGradientCalculator ( ) [virtual]

Set/Get gradient calculators

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual FixedImageGradientFilterType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetFixedImageGradientFilter ( ) [virtual]

Set/Get the gradient filter

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const FixedImageGradientImageType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetFixedImageGradientImage ( ) [virtual]

Get Fixed Gradient Image.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const FixedImageMaskType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetFixedImageMask ( ) [virtual]

Set/Get the fixed image mask.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const FixedInterpolatorType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetFixedInterpolator ( ) [virtual]

Get a pointer to the fixed interpolator.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const FixedSampledPointSetType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetFixedSampledPointSet ( ) [virtual]

Set/Get the fixed image domain sampling point set See main documentation regarding using fixed vs virtual domain for the point set.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const FixedTransformType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetFixedTransform ( ) [virtual]

Get a pointer to the fixed transform.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const FixedImageType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetFixedWarpedImage ( ) [virtual]

Get pre-warped images

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual DerivativeValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetFloatingPointCorrectionResolution ( ) const [virtual]

Set/Get the floating point resolution used by the derivatives. This If this is set to 1e5, then the derivative will have precision up to 5 points beyond the decimal point. And precision beyond that will be truncated.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
ThreadIdType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetMaximumNumberOfThreads ( ) const

Set number of threads to use. This the maximum number of threads to use when multithreaded. The actual number of threads used (may be less than this value) can be obtained with GetNumberOfThreadsUsed.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const MovingImageType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetMovingImage ( ) [virtual]

Get the Moving Image.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual MovingImageGradientCalculatorType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetMovingImageGradientCalculator ( ) [virtual]

Set/Get gradient calculators

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual MovingImageGradientFilterType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetMovingImageGradientFilter ( ) [virtual]

Set/Get the gradient filter

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const MovingImageGradientImageType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetMovingImageGradientImage ( ) [virtual]

Get Moving Gradient Image.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const MovingImageMaskType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetMovingImageMask ( ) [virtual]

Set/Get the moving image mask.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const MovingInterpolatorType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetMovingInterpolator ( ) [virtual]

Get a pointer to the Moving interpolator.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const MovingTransformType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetMovingTransform ( ) [virtual]

Get a pointer to the moving transform.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const MovingImageType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetMovingWarpedImage ( ) [virtual]

Get pre-warped images

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const char* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetNameOfClass ( ) const [virtual]
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
SizeValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetNumberOfDomainPoints ( ) const

Get the number of points in the domain used to evaluate the metric. This will differ depending on whether a sampled point set or dense sampling is used, and will be greater than or equal to GetNumberOfValidPoints().

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual NumberOfParametersType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetNumberOfLocalParameters ( ) const [virtual]

Get the number of local parameters from the moving transform.

Implements itk::ObjectToObjectMetric.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual NumberOfParametersType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetNumberOfParameters ( ) const [virtual]

Return the number of parameters.

Note:
Currently we're always optimizing the moving image transform, so return its number of parameters. The class will eventually allow either the fixed transform to be optimized, or both. This and related methods make it so the user or calling-class doesn't need to know which of the transforms are being optimized.

Implements itk::ObjectToObjectMetric.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const SizeValueType& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetNumberOfSkippedFixedSampledPoints ( ) [virtual]

Get the number of sampled fixed sampled points that are deemed invalid during conversion to virtual domain in Initialize(). For informational purposes.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
ThreadIdType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetNumberOfThreadsUsed ( ) const

Get number of threads to used in the the GetValueAndDerivative calculation. Only valid after GetValueAndDerivative has been called.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual SizeValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetNumberOfValidPoints ( ) const [virtual]

Get number of valid points from most recent update

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const ParametersType& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetParameters ( ) const [virtual]

Get a const reference to the active (moving) transform's parameters.

Implements itk::ObjectToObjectMetric.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
const MovingTransformType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetTransform ( )

Get the moving transform using a backwards-compatible name

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const bool& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetUseFixedImageGradientFilter ( ) [virtual]

Set/Get gradient computation via an image filter, for fixed image.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const bool& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetUseFixedSampledPointSet ( ) [virtual]

Set/Get flag to use fixed image domain sampling point set

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const bool& itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetUseMovingImageGradientFilter ( ) [virtual]

Set/Get gradient computation via an image filter.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual MeasureType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetValue ( ) const [virtual]

Calculate and return the value for the metric based on the current transformation(s).

Implements itk::SingleValuedCostFunctionv4.

Reimplemented in itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetValueAndDerivative ( MeasureType value,
DerivativeType derivative 
) const [virtual]

Calculate and return both the value for the metric and its derivative. This calls the SparseGetValueAndDerivativeThreader if UsedFixedSampledPointSet is true, and DenseGetValueAndDerivativeThreader otherwise. The threaders in turn call ProcessPoint on each point in the domain to be examined.

Reimplemented in itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetValueAndDerivativeExecute ( ) const [protected, virtual]

Perform the actual threaded processing, using the appropriate GetValueAndDerivativeThreader. Results get written to member vars. This is available as a separate method so it can be used by dervied classes that implement their own GetValueAndDerivative, and/or need to run the processing loop more than once.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
const VirtualDirectionType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetVirtualDomainDirection ( void  ) const

Convenience get-accessors for the virtual domain information. These are returned from the VirtualDomainImage

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const VirtualImageType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetVirtualDomainImage ( ) [virtual]

Get the virtual domain image

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
const VirtualOriginType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetVirtualDomainOrigin ( void  ) const

Convenience get-accessors for the virtual domain information. These are returned from the VirtualDomainImage

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
const VirtualRegionType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetVirtualDomainRegion ( void  ) const

Convenience get-accessors for the virtual domain information. These are returned from the VirtualDomainImage

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
const VirtualSpacingType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetVirtualDomainSpacing ( void  ) const

Convenience get-accessors for the virtual domain information. These are returned from the VirtualDomainImage

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual const VirtualSampledPointSetType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetVirtualSampledPointSet ( ) [virtual]

Get the virtual domain sampling point set

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::HasLocalSupport ( ) const [virtual]

Get if the moving transform has local support.

Implements itk::ObjectToObjectMetric.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::Initialize ( void  ) throw ( itk::ExceptionObject ) [virtual]

Initialize the Metric by making sure that all the components are present and plugged together correctly, and initializing internal variables as required. This is for one-time initialization, e.g. before starting an optimization process.

Implements itk::ObjectToObjectMetric.

Reimplemented in itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >, and itk::MattesMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::InitializeDefaultFixedImageGradientFilter ( void  ) [protected, virtual]

Initialize the default image gradient filters. This must only be called once the fixed and moving images have been set.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::InitializeDefaultMovingImageGradientFilter ( void  ) [protected, virtual]

Initialize the default image gradient filters. This must only be called once the fixed and moving images have been set.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::InitializeForIteration ( ) const [protected, virtual]

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 in itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >, and itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MapFixedSampledPointSetToVirtual ( void  ) [private]

Map the fixed point set samples to the virtual domain

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::operator= ( const Self ) [private]
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetDoFixedImagePreWarp ( bool  _arg) [virtual]

Set/Get pre-warping of fixed image option.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetDoMovingImagePreWarp ( bool  _arg) [virtual]

Set/Get pre-warping of Moving image option.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetFixedImage ( const FixedImageType _arg) [virtual]

Connect the Fixed Image.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetFixedImageGradientCalculator ( FixedImageGradientCalculatorType _arg) [virtual]

Set/Get gradient calculators

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetFixedImageGradientFilter ( FixedImageGradientFilterType _arg) [virtual]

Set/Get the gradient filter

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetFixedImageMask ( FixedImageMaskType _arg) [virtual]

Set/Get the fixed image mask.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetFixedImageMask ( const FixedImageMaskType _arg) [virtual]

Set/Get the fixed image mask.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetFixedInterpolator ( FixedInterpolatorType _arg) [virtual]

Connect the fixed interpolator.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetFixedSampledPointSet ( FixedSampledPointSetType _arg) [virtual]

Set/Get the fixed image domain sampling point set See main documentation regarding using fixed vs virtual domain for the point set.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetFixedSampledPointSet ( const FixedSampledPointSetType _arg) [virtual]

Set/Get the fixed image domain sampling point set See main documentation regarding using fixed vs virtual domain for the point set.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetFixedTransform ( FixedTransformType _arg) [virtual]

Connect the fixed transform.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetFloatingPointCorrectionResolution ( DerivativeValueType  _arg) [virtual]

Set/Get the floating point resolution used by the derivatives. This If this is set to 1e5, then the derivative will have precision up to 5 points beyond the decimal point. And precision beyond that will be truncated.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetMaximumNumberOfThreads ( const ThreadIdType  threads)

Set number of threads to use. This the maximum number of threads to use when multithreaded. The actual number of threads used (may be less than this value) can be obtained with GetNumberOfThreadsUsed.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetMovingImage ( const MovingImageType _arg) [virtual]

Connect the Moving Image.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetMovingImageGradientCalculator ( MovingImageGradientCalculatorType _arg) [virtual]

Set/Get gradient calculators

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetMovingImageGradientFilter ( MovingImageGradientFilterType _arg) [virtual]

Set/Get the gradient filter

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetMovingImageMask ( MovingImageMaskType _arg) [virtual]

Set/Get the moving image mask.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetMovingImageMask ( const MovingImageMaskType _arg) [virtual]

Set/Get the moving image mask.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetMovingInterpolator ( MovingInterpolatorType _arg) [virtual]

Connect the Moving interpolator.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetMovingTransform ( MovingTransformType _arg) [virtual]

Connect the moving transform.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetParameters ( ParametersType params) [virtual]

Set the active (moving) transform's parameters.

Implements itk::ObjectToObjectMetric.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetTransform ( MovingTransformType transform)

Connect the moving transform using a backwards-compatible name. This assigns the input transform to the moving transform.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetUseFixedImageGradientFilter ( bool  _arg) [virtual]

Set/Get gradient computation via an image filter, for fixed image.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetUseFixedSampledPointSet ( bool  _arg) [virtual]

Set/Get flag to use fixed image domain sampling point set

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetUseMovingImageGradientFilter ( bool  _arg) [virtual]

Set/Get gradient computation via an image filter.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::SetVirtualDomainImage ( VirtualImageType virtualImage)

Set a virtual domain image to define the virtual reference space. Metric evaluation will be performed over the image's buffered region. The image is expected to be allocated. If the user does not set this explicitly then it is taken from the fixed image in Initialize method.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::TransformAndEvaluateFixedPoint ( const VirtualIndexType index,
const VirtualPointType point,
const bool  computeImageGradient,
FixedImagePointType mappedFixedPoint,
FixedImagePixelType mappedFixedPixelValue,
FixedImageGradientType mappedFixedImageGradient 
) const [protected]

Transform a point from VirtualImage domain to FixedImage domain. This function also checks if mapped point is within the mask if one is set, and that is within the fixed image buffer, in which case the return value will be true. mappedFixedPoint and mappedFixedPixelValue are returned, and mappedFixedImageGradient is returned if computeImageGradient is set. All return values are in the virtual domain.

Note:
It would be better for maintainence to have a single method that could work for either fixed or moving domains. However setting that up is complicated because dimensionality and pixel type may be different between the two.
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::TransformAndEvaluateMovingPoint ( const VirtualIndexType index,
const VirtualPointType point,
const bool  computeImageGradient,
MovingImagePointType mappedMovingPoint,
MovingImagePixelType mappedMovingPixelValue,
MovingImageGradientType mappedMovingImageGradient 
) const [protected]

Transform a point from VirtualImage domain to MovingImage domain.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::typedef ( itk::Concept::IsFloatingPoint< FixedImagePixelValueType ) [private]

This class requires OnlyDefinedForFloatingPointTypes0 in the form of ( itk::Concept::IsFloatingPoint<FixedImagePixelValueType> )

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::typedef ( itk::Concept::IsFloatingPoint< MovingImagePixelValueType ) [private]

This class requires OnlyDefinedForFloatingPointTypes1 in the form of ( itk::Concept::IsFloatingPoint<MovingImagePixelValueType> )

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::UpdateTransformParameters ( DerivativeType derivative,
ParametersValueType  factor = NumericTraitsParametersValueType >::One 
) [virtual]

Update the active (moving) transform's parameters. This call is passed through directly to the transform. factor is a scalar multiplier for each value in update, and defaults to 1.0 . derivative must be the proper size, as retrieved from GetNumberOfParameters.

Implements itk::ObjectToObjectMetric.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::UseFixedImageGradientFilterOff ( ) [virtual]

Set/Get gradient computation via an image filter, for fixed image.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::UseFixedImageGradientFilterOn ( ) [virtual]

Set/Get gradient computation via an image filter, for fixed image.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::UseFixedSampledPointSetOff ( ) [virtual]

Set/Get flag to use fixed image domain sampling point set

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::UseFixedSampledPointSetOn ( ) [virtual]

Set/Get flag to use fixed image domain sampling point set

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::UseMovingImageGradientFilterOff ( ) [virtual]

Set/Get gradient computation via an image filter.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::UseMovingImageGradientFilterOn ( ) [virtual]

Set/Get gradient computation via an image filter.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
virtual void itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VerifyDisplacementFieldSizeAndPhysicalSpace ( ) [protected, virtual]

Verify that virtual domain and displacement field are the same size and in the same physical space.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VerifyNumberOfValidPoints ( MeasureType value,
DerivativeType derivative 
) const [protected]

Check that the number of valid points is above a default minimum (zero). If not, then return false, and assign to 'value' a value indicating insufficient valid points were found during evaluation, and set the derivative to zero. A warning is also output. This functionality is provided as a separate method so derived classes can use it without hardcoding the details.


Friends And Related Function Documentation

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
friend class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self > [friend]

Definition at line 691 of file itkImageToImageMetricv4.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< VirtualImageDimension >, Self > [friend]

Definition at line 689 of file itkImageToImageMetricv4.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::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageDimension = ::itk::GetImageDimension<FixedImageType>::ImageDimension [static]
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
DefaultFixedImageGradientFilter::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_DefaultFixedImageGradientFilter [protected]

Pointer to default gradient filter. Used for easier initialization of the default filter.

Definition at line 817 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
DefaultMovingImageGradientFilter::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_DefaultMovingImageGradientFilter [protected]

Definition at line 819 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< VirtualImageDimension >, Self >::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_DenseGetValueAndDerivativeThreader [protected]

Definition at line 697 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
DerivativeType* itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_DerivativeResult [mutable, protected]

Derivative results holder. User a raw pointer so we can point it to a user-provided object. This enables safely sharing a derivative object between metrics during multi-variate analsys, for memory efficiency.

Definition at line 847 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_DoFixedImagePreWarp [protected]

Flag to control pre-warping of fixed image.

Definition at line 830 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_DoMovingImagePreWarp [protected]

Flag to control pre-warping of moving image.

Definition at line 833 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
FixedImageConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FixedImage [protected]

Definition at line 793 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
FixedImageGradientCalculatorPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FixedImageGradientCalculator [protected]

Image gradient calculators

Definition at line 826 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
FixedImageGradientFilterPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FixedImageGradientFilter [protected]

Gradient filters

Definition at line 811 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
FixedImageGradientImagePointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FixedImageGradientImage [mutable, protected]

Gradient images to store gradient filter output.

Definition at line 822 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
FixedImageGradientInterpolatorType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FixedImageGradientInterpolator [protected]

Definition at line 802 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
FixedImageMaskConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FixedImageMask [protected]

Masks

Definition at line 858 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
FixedInterpolatorPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FixedInterpolator [protected]

Pointers to interpolators

Definition at line 800 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
FixedSampledPointSetConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FixedSampledPointSet [protected]

Sampled point sets

Definition at line 862 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
FixedTransformPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FixedTransform [protected]

Definition at line 794 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
FixedImagePointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FixedWarpedImage [mutable, protected]

Pre-warped images.

Definition at line 836 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
FixedWarpResampleImageFilterPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FixedWarpResampleImageFilter [protected]

Definition at line 841 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
DerivativeValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_FloatingPointCorrectionResolution [private]

Definition at line 913 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_HaveMadeGetValueWarning [mutable, private]

Flag for warning about use of GetValue. Will be removed when GetValue implementation is improved.

Definition at line 900 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MovingImageConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_MovingImage [protected]

Definition at line 795 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MovingImageGradientCalculatorPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_MovingImageGradientCalculator [protected]

Definition at line 827 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MovingImageGradientFilterPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_MovingImageGradientFilter [protected]

Definition at line 812 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MovingImageGradientImagePointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_MovingImageGradientImage [mutable, protected]

Definition at line 823 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MovingImageGradientInterpolatorType::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_MovingImageGradientInterpolator [protected]

Definition at line 803 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MovingImageMaskConstPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_MovingImageMask [protected]

Definition at line 859 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MovingInterpolatorPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_MovingInterpolator [protected]

Definition at line 801 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MovingTransformPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_MovingTransform [protected]

Definition at line 796 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MovingImagePointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_MovingWarpedImage [mutable, protected]

Definition at line 837 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MovingWarpResampleImageFilterPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_MovingWarpResampleImageFilter [protected]

Resample image filters for pre-warping images

Definition at line 840 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
SizeValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_NumberOfSkippedFixedSampledPoints [private]

Definition at line 911 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
SizeValueType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_NumberOfValidPoints [mutable, protected]

Store the number of points used during most recent value and derivative calculation.

Definition at line 851 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self >::Pointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_SparseGetValueAndDerivativeThreader [protected]

Definition at line 701 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_UseFixedImageGradientFilter [protected]

Flag to control use of precomputed gradient filter image or gradient calculator for image gradient calculations.

Definition at line 807 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_UseFixedSampledPointSet [protected]

Flag to use FixedSampledPointSet, i.e. Sparse sampling.

Definition at line 866 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_UseMovingImageGradientFilter [protected]

Definition at line 808 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
bool itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_UserHasProvidedVirtualDomainImage [protected]

Flag that is set when user provides a virtual domain, either via CreateVirtualDomainImage or SetVirtualDomainImage.

Definition at line 855 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
MeasureType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_Value [mutable, protected]

Metric value, stored after evaluating

Definition at line 869 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
VirtualImagePointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_VirtualDomainImage [protected]

Definition at line 797 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
std::vector<VirtualPointType> itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_VirtualImageCornerPoints [private]

Definition at line 906 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
VirtualSampledPointSetPointer itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_VirtualSampledPointSet [protected]

Definition at line 863 of file itkImageToImageMetricv4.h.

template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
const ImageDimensionType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageDimension = ::itk::GetImageDimension<MovingImageType>::ImageDimension [static]
template<class TFixedImage , class TMovingImage , class TVirtualImage = TFixedImage>
const ImageDimensionType itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualImageDimension = ::itk::GetImageDimension<VirtualImageType>::ImageDimension [static]

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