ITK  4.3.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::PointSetToImageMetric< TFixedPointSet, TMovingImage > Class Template Reference

#include <itkPointSetToImageMetric.h>

+ Inheritance diagram for itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >:
+ Collaboration diagram for itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >:

Detailed Description

template<class TFixedPointSet, class TMovingImage>
class itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >

Computes similarity between a point set and an image.

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

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

Definition at line 48 of file itkPointSetToImageMetric.h.

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::ParametersValueType 
CoordinateRepresentationType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef
FixedPointSetType::ConstPointer 
FixedPointSetConstPointer
 
typedef TFixedPointSet FixedPointSetType
 
typedef
GradientImageFilterType::Pointer 
GradientImageFilterPointer
 
typedef
TransformType::InputPointType 
InputPointType
 
typedef InterpolatorType::Pointer InterpolatorPointer
 
typedef
InterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType
InterpolatorType
 
typedef Superclass::MeasureType MeasureType
 
typedef
MovingImageType::ConstPointer 
MovingImageConstPointer
 
typedef TMovingImage::PixelType MovingImagePixelType
 
typedef TMovingImage MovingImageType
 
typedef
TransformType::OutputPointType 
OutputPointType
 
typedef Superclass::ParametersType ParametersType
 
typedef
FixedPointSetType::PointDataContainer::ConstIterator 
PointDataIterator
 
typedef SmartPointer< SelfPointer
 
typedef
FixedPointSetType::PointsContainer::ConstIterator 
PointIterator
 
typedef PointSetToImageMetric Self
 
typedef SingleValuedCostFunction Superclass
 
typedef TransformType::JacobianType TransformJacobianType
 
typedef
TransformType::ParametersType 
TransformParametersType
 
typedef TransformType::Pointer TransformPointer
 
typedef Transform
< CoordinateRepresentationType,
itkGetStaticConstMacro(MovingImageDimension),
itkGetStaticConstMacro(FixedPointSetDimension) > 
TransformType
 
typedef NumericTraits
< MovingImagePixelType >
::RealType 
RealType
 
typedef CovariantVector
< RealType,
itkGetStaticConstMacro(MovingImageDimension) > 
GradientPixelType
 
typedef Image
< GradientPixelType,
itkGetStaticConstMacro(MovingImageDimension) > 
GradientImageType
 
typedef SmartPointer
< GradientImageType
GradientImagePointer
 
typedef
GradientRecursiveGaussianImageFilter
< MovingImageType,
GradientImageType
GradientImageFilterType
 
- Public Types inherited from itk::SingleValuedCostFunction
typedef SmartPointer< const SelfConstPointer
 
typedef Array
< ParametersValueType
DerivativeType
 
typedef double MeasureType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef SingleValuedCostFunction Self
 
typedef CostFunction Superclass
 
- Public Types inherited from itk::CostFunction
typedef SmartPointer< const SelfConstPointer
 
typedef OptimizerParameters
< ParametersValueType
ParametersType
 
typedef double ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef CostFunction Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual const FixedPointSetTypeGetFixedPointSet ()
 
virtual const GradientImageTypeGetGradientImage ()
 
virtual InterpolatorTypeGetInterpolator ()
 
virtual const MovingImageTypeGetMovingImage ()
 
virtual const char * GetNameOfClass () const
 
unsigned int GetNumberOfParameters (void) const
 
virtual const SizeValueTypeGetNumberOfPixelsCounted ()
 
virtual TransformTypeGetTransform ()
 
virtual void Initialize (void) throw ( ExceptionObject )
 
virtual void SetFixedPointSet (const FixedPointSetType *_arg)
 
virtual void SetInterpolator (InterpolatorType *_arg)
 
virtual void SetMovingImage (const MovingImageType *_arg)
 
virtual void SetTransform (TransformType *_arg)
 
void SetTransformParameters (const ParametersType &parameters) const
 
virtual void SetComputeGradient (bool _arg)
 
virtual const bool & GetComputeGradient ()
 
- Public Member Functions inherited from itk::SingleValuedCostFunction
virtual void GetDerivative (const ParametersType &parameters, DerivativeType &derivative) const =0
 
virtual MeasureType GetValue (const ParametersType &parameters) const =0
 
virtual void GetValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
 

Static Public Attributes

static const unsigned int MovingImageDimension = TMovingImage::ImageDimension
 
static const unsigned int FixedPointSetDimension = TFixedPointSet::PointDimension
 

Protected Member Functions

 PointSetToImageMetric ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual ~PointSetToImageMetric ()
 
- Protected Member Functions inherited from itk::SingleValuedCostFunction
 SingleValuedCostFunction ()
 
virtual ~SingleValuedCostFunction ()
 
- Protected Member Functions inherited from itk::CostFunction
 CostFunction ()
 
virtual ~CostFunction ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

bool m_ComputeGradient
 
FixedPointSetConstPointer m_FixedPointSet
 
GradientImagePointer m_GradientImage
 
InterpolatorPointer m_Interpolator
 
MovingImageConstPointer m_MovingImage
 
SizeValueType m_NumberOfPixelsCounted
 
TransformPointer m_Transform
 

Private Member Functions

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

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Protected Types inherited from itk::LightObject
typedef int InternalReferenceCountType
 

Member Typedef Documentation

template<class TFixedPointSet , class TMovingImage >
typedef SmartPointer< const Self > itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::ConstPointer

Definition at line 55 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef Superclass::ParametersValueType itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::CoordinateRepresentationType

Type used for representing point components

Definition at line 58 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef Superclass::DerivativeType itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::DerivativeType

Type of the derivative.

Definition at line 118 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef FixedPointSetType::ConstPointer itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::FixedPointSetConstPointer

Definition at line 70 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef TFixedPointSet itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::FixedPointSetType

Type of the fixed Image.

Definition at line 69 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef GradientImageFilterType::Pointer itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GradientImageFilterPointer

Definition at line 110 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef GradientRecursiveGaussianImageFilter< MovingImageType, GradientImageType > itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GradientImageFilterType

Gaussian filter to compute the gradient of the Moving Image

Definition at line 107 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef SmartPointer< GradientImageType > itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GradientImagePointer

Gaussian filter to compute the gradient of the Moving Image

Definition at line 104 of file itkPointSetToImageMetric.h.

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

Gaussian filter to compute the gradient of the Moving Image

Definition at line 103 of file itkPointSetToImageMetric.h.

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

Gaussian filter to compute the gradient of the Moving Image

Definition at line 101 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef TransformType::InputPointType itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::InputPointType

Definition at line 88 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef InterpolatorType::Pointer itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::InterpolatorPointer

Definition at line 112 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef InterpolateImageFunction< MovingImageType, CoordinateRepresentationType > itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::InterpolatorType

Type of the Interpolator Base class

Definition at line 96 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef Superclass::MeasureType itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::MeasureType

Type of the measure.

Definition at line 115 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef MovingImageType::ConstPointer itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::MovingImageConstPointer

Definition at line 66 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef TMovingImage::PixelType itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::MovingImagePixelType

Definition at line 65 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef TMovingImage itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::MovingImageType

Type of the moving Image.

Definition at line 61 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef TransformType::OutputPointType itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::OutputPointType

Definition at line 89 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef Superclass::ParametersType itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::ParametersType

Type of the parameters.

Definition at line 121 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef FixedPointSetType::PointDataContainer::ConstIterator itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::PointDataIterator

Definition at line 80 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef SmartPointer< Self > itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::Pointer

Definition at line 54 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef FixedPointSetType::PointsContainer::ConstIterator itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::PointIterator

Definition at line 79 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef NumericTraits< MovingImagePixelType >::RealType itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::RealType

Gaussian filter to compute the gradient of the Moving Image

Definition at line 99 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef PointSetToImageMetric itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::Self

Standard class typedefs.

Definition at line 52 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef SingleValuedCostFunction itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::Superclass

Definition at line 53 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef TransformType::JacobianType itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::TransformJacobianType

Definition at line 91 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef TransformType::ParametersType itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::TransformParametersType

Definition at line 90 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef TransformType::Pointer itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::TransformPointer

Definition at line 87 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
typedef Transform< CoordinateRepresentationType, itkGetStaticConstMacro(MovingImageDimension), itkGetStaticConstMacro(FixedPointSetDimension) > itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::TransformType

Type of the Transform Base class

Definition at line 85 of file itkPointSetToImageMetric.h.

Constructor & Destructor Documentation

template<class TFixedPointSet , class TMovingImage >
itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::PointSetToImageMetric ( )
protected
template<class TFixedPointSet , class TMovingImage >
virtual itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::~PointSetToImageMetric ( )
inlineprotectedvirtual

Definition at line 178 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::PointSetToImageMetric ( const Self )
private

Member Function Documentation

template<class TFixedPointSet , class TMovingImage >
virtual const bool& itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GetComputeGradient ( )
virtual

Set/Get the flag for computing the image gradient. When ON the metric derivative is computed using the Jacobian of the transformation and the image gradient. When OFF the metric derivative is computed by finite differences. Mode ON results in higher speed at the price of large memory footprint. Mode OFF results in small memory footprint at the price of large computation time

template<class TFixedPointSet , class TMovingImage >
virtual const FixedPointSetType* itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GetFixedPointSet ( )
virtual

Get the Fixed Image.

template<class TFixedPointSet , class TMovingImage >
virtual const GradientImageType* itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GetGradientImage ( )
virtual

Get Gradient Image.

template<class TFixedPointSet , class TMovingImage >
virtual InterpolatorType* itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GetInterpolator ( )
virtual

Get a pointer to the Interpolator.

template<class TFixedPointSet , class TMovingImage >
virtual const MovingImageType* itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GetMovingImage ( )
virtual

Get the Moving Image.

template<class TFixedPointSet , class TMovingImage >
virtual const char* itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GetNameOfClass ( ) const
virtual
template<class TFixedPointSet , class TMovingImage >
unsigned int itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GetNumberOfParameters ( void  ) const
inlinevirtual

Return the number of parameters required by the Transform

Implements itk::CostFunction.

Definition at line 168 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
virtual const SizeValueType& itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GetNumberOfPixelsCounted ( )
virtual

Get the number of pixels considered in the computation.

template<class TFixedPointSet , class TMovingImage >
virtual TransformType* itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::GetTransform ( )
virtual

Get a pointer to the Transform.

template<class TFixedPointSet , class TMovingImage >
virtual void itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::Initialize ( void  ) throw ( ExceptionObject )
virtual

Initialize the Metric by making sure that all the components are present and plugged together correctly

template<class TFixedPointSet , class TMovingImage >
void itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::operator= ( const Self )
private
template<class TFixedPointSet , class TMovingImage >
void itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

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

Reimplemented from itk::CostFunction.

template<class TFixedPointSet , class TMovingImage >
virtual void itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::SetComputeGradient ( bool  _arg)
virtual

Set/Get the flag for computing the image gradient. When ON the metric derivative is computed using the Jacobian of the transformation and the image gradient. When OFF the metric derivative is computed by finite differences. Mode ON results in higher speed at the price of large memory footprint. Mode OFF results in small memory footprint at the price of large computation time

template<class TFixedPointSet , class TMovingImage >
virtual void itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::SetFixedPointSet ( const FixedPointSetType _arg)
virtual

Connect the Fixed Image.

template<class TFixedPointSet , class TMovingImage >
virtual void itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::SetInterpolator ( InterpolatorType _arg)
virtual

Connect the Interpolator.

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

Connect the Moving Image.

template<class TFixedPointSet , class TMovingImage >
virtual void itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::SetTransform ( TransformType _arg)
virtual

Connect the Transform.

template<class TFixedPointSet , class TMovingImage >
void itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::SetTransformParameters ( const ParametersType parameters) const

Set the parameters defining the Transform.

Member Data Documentation

template<class TFixedPointSet , class TMovingImage >
const unsigned int itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::FixedPointSetDimension = TFixedPointSet::PointDimension
static

Constants for the image dimensions

Definition at line 76 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
bool itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::m_ComputeGradient
protected

Definition at line 191 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
FixedPointSetConstPointer itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::m_FixedPointSet
protected

Definition at line 183 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
GradientImagePointer itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::m_GradientImage
protected

Definition at line 193 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
InterpolatorPointer itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::m_Interpolator
protected

Definition at line 189 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
MovingImageConstPointer itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::m_MovingImage
protected

Definition at line 185 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
SizeValueType itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::m_NumberOfPixelsCounted
mutableprotected

Definition at line 181 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
TransformPointer itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::m_Transform
mutableprotected

Definition at line 187 of file itkPointSetToImageMetric.h.

template<class TFixedPointSet , class TMovingImage >
const unsigned int itk::PointSetToImageMetric< TFixedPointSet, TMovingImage >::MovingImageDimension = TMovingImage::ImageDimension
static

Constants for the image dimensions

Definition at line 74 of file itkPointSetToImageMetric.h.


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