ITK  4.4.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
itk::fem::ImageMetricLoad< TMoving, TFixed > Class Template Reference

#include <itkFEMImageMetricLoad.h>

+ Inheritance diagram for itk::fem::ImageMetricLoad< TMoving, TFixed >:
+ Collaboration diagram for itk::fem::ImageMetricLoad< TMoving, TFixed >:

Detailed Description

template<class TMoving, class TFixed>
class itk::fem::ImageMetricLoad< TMoving, TFixed >

General image pair load that uses the itkImageToImageMetrics.

LoadImageMetric computes FEM gravity loads by using derivatives provided by itkImageToImageMetrics (e.g. mean squares intensity difference.) The function responsible for this is called Fg, as required by the FEMLoad standards. It takes a vnl_vector as input. We assume the vector input is of size 2*ImageDimension. The 0 to ImageDimension-1 elements contain the position, p, in the reference (moving) image. The next ImageDimension to 2*ImageDimension-1 elements contain the value of the vector field at that point, v(p).

Then, we evaluate the derivative at the point p+v(p) with respect to some region of the target (fixed) image by calling the metric with the translation parameters as provided by the vector field at p. The metrics return both a scalar similarity value and vector-valued derivative. The derivative is what gives us the force to drive the FEM registration. These values are computed with respect to some region in the Fixed image. This region size may be set by the user by calling SetMetricRadius. As the metric derivative computation evolves, performance should improve and more functionality will be available (such as scale selection).

Definition at line 69 of file itkFEMImageMetricLoad.h.

Public Types

typedef Float ComputationType
 
typedef SmartPointer< const SelfConstPointer
 
typedef double CoordinateRepresentationType
 
typedef MeanSquaresMetricType DefaultMetricType
 
typedef TranslationTransform
< CoordinateRepresentationType,
itkGetStaticConstMacro(ImageDimension)> 
DefaultTransformType
 
typedef VectorContainer
< ElementIdentifier,
Element::Pointer
ElementContainerType
 
typedef unsigned long ElementIdentifier
 
typedef FixedType::ConstPointer FixedConstPointer
 
typedef
FixedNeighborhoodIteratorType::IndexType 
FixedNeighborhoodIndexType
 
typedef NeighborhoodIterator
< FixedType
FixedNeighborhoodIteratorType
 
typedef FixedTypeFixedPointer
 
typedef
FixedNeighborhoodIteratorType::RadiusType 
FixedRadiusType
 
typedef TFixed FixedType
 
typedef LoadElement::Float Float
 
typedef Image< PixelType,
itkGetStaticConstMacro(ImageDimension)> 
ImageType
 
typedef
LinearInterpolateImageFunction
< MovingType, double > 
InterpolatorType
 
typedef
DefaultTransformType::JacobianType 
JacobianType
 
typedef
MeanSquaresImageToImageMetric
< MovingType, FixedType
MeanSquaresMetricType
 
typedef ImageToImageMetric
< FixedType, MovingType
MetricBaseType
 
typedef MetricBaseType::Pointer MetricBaseTypePointer
 
typedef MovingType::ConstPointer MovingConstPointer
 
typedef
MovingNeighborhoodIteratorType::IndexType 
MovingNeighborhoodIndexType
 
typedef NeighborhoodIterator
< MovingType
MovingNeighborhoodIteratorType
 
typedef MovingTypeMovingPointer
 
typedef
MovingNeighborhoodIteratorType::RadiusType 
MovingRadiusType
 
typedef TMoving MovingType
 
typedef
MutualInformationImageToImageMetric
< MovingType, FixedType
MutualInformationMetricType
 
typedef
NormalizedCorrelationImageToImageMetric
< MovingType, FixedType
NormalizedCorrelationMetricType
 
typedef
DefaultTransformType::ParametersType 
ParametersType
 
typedef Float PixelType
 
typedef SmartPointer< SelfPointer
 
typedef Image< RefPixelType,
itkGetStaticConstMacro(ImageDimension)> 
RefImageType
 
typedef MovingType::PixelType RefPixelType
 
typedef
ImageRegionIteratorWithIndex
< MovingType
RefRegionIteratorType
 
typedef ImageMetricLoad Self
 
typedef LoadElement Superclass
 
typedef Image< TarPixelType,
itkGetStaticConstMacro(ImageDimension)> 
TarImageType
 
typedef FixedType::PixelType TarPixelType
 
typedef
ImageRegionIteratorWithIndex
< FixedType
TarRegionIteratorType
 
typedef Transform
< CoordinateRepresentationType,
itkGetStaticConstMacro(ImageDimension),
itkGetStaticConstMacro(ImageDimension)> 
TransformBaseType
 
typedef vnl_vector< FloatVectorType
 
typedef float RealType
 
typedef CovariantVector
< RealType,
itkGetStaticConstMacro(ImageDimension)> 
GradientPixelType
 
typedef Image
< GradientPixelType,
itkGetStaticConstMacro(ImageDimension)> 
GradientImageType
 
typedef SmartPointer
< GradientImageType
GradientImagePointer
 
typedef
GradientRecursiveGaussianImageFilter
< ImageType, GradientImageType
GradientImageFilterType
 
- Public Types inherited from itk::fem::LoadElement
typedef SmartPointer< const SelfConstPointer
 
typedef std::vector< const
Element * > 
ElementPointersVectorType
 
typedef Element::Float Float
 
typedef SmartPointer< SelfPointer
 
typedef LoadElement Self
 
typedef Load Superclass
 
- Public Types inherited from itk::fem::Load
typedef FEMPArray< SelfArrayType
 
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Load Self
 
typedef FEMLightObject Superclass
 
- Public Types inherited from itk::fem::FEMLightObject
typedef Self Baseclass
 
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef FEMLightObject Self
 
typedef itk::LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual void ApplyLoad (Element::ConstPointer element, Element::VectorType &Fe)
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
Float EvaluateMetricGivenSolution (Element::ArrayType *el, Float step=1.0)
 
Float EvaluateMetricGivenSolution1 (Element::ArrayType *el, Float step=1.0)
 
VectorType Fe (VectorType, VectorType)
 
double GetCurrentEnergy ()
 
FixedPointer GetFixedImage ()
 
Float GetMetric (VectorType InVec)
 
MovingRadiusType GetMetricRadius ()
 
MovingPointer GetMovingImage ()
 
virtual const char * GetNameOfClass () const
 
VectorType GetPolynomialFitToMetric (VectorType PositionInElement, VectorType SolutionAtPosition)
 
Solution::ConstPointer GetSolution ()
 
Float GetSolution (unsigned int i, unsigned int which=0)
 
 ImageMetricLoad ()
 
void InitializeMetric (void)
 
VectorType MetricFiniteDiff (VectorType PositionInElement, VectorType SolutionAtPosition)
 
void PrintCurrentEnergy ()
 
void SetCurrentEnergy (double e)
 
void SetGamma (Float s)
 
void SetMetric (MetricBaseTypePointer MP)
 
void SetMetricFixedImage (FixedType *T)
 
void SetMetricMovingImage (MovingType *R)
 
void SetMetricRadius (MovingRadiusType T)
 
void SetSign (Float s)
 
void SetSolution (Solution::ConstPointer ptr)
 
void SetTemp (Float s)
 
void SetMovingImage (MovingType *R)
 
void SetFixedImage (FixedType *T)
 
void SetNumberOfIntegrationPoints (unsigned int i)
 
unsigned int GetNumberOfIntegrationPoints ()
 
void SetMetricGradientImage (GradientImageType *g)
 
GradientImageTypeGetMetricGradientImage ()
 
- Public Member Functions inherited from itk::fem::LoadElement
void AddNextElement (Element::ConstPointer e)
 
void AddNextElement (Element::Pointer e)
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
Element::ConstPointer GetElement (int i)
 
ElementPointersVectorTypeGetElementArray ()
 
const ElementPointersVectorTypeGetElementArray () const
 
unsigned int GetNumberOfElements (void)
 
 LoadElement ()
 
- Public Member Functions inherited from itk::fem::Load
const ElementGetElement () const
 
void SetElement (const Element *el)
 
- Public Member Functions inherited from itk::fem::FEMLightObject
int GetGlobalNumber () const
 
void SetGlobalNumber (int)
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const
 

Static Public Member Functions

static Pointer New ()
 
static BaseclassNewImageMetricLoad (void)
 
- Static Public Member Functions inherited from itk::fem::LoadElement
static Pointer New ()
 

Static Public Attributes

static const unsigned int ImageDimension = MovingType::ImageDimension
 

Protected Member Functions

virtual void PrintSelf (std::ostream &os, Indent indent) const
 
- Protected Member Functions inherited from itk::fem::LoadElement
void AddNextElementInternal (const Element *e)
 

Private Attributes

double m_Energy
 
Float m_Gamma
 
InterpolatorType::Pointer m_Interpolator
 
MetricBaseTypePointer m_Metric
 
GradientImageTypem_MetricGradientImage
 
unsigned int m_NumberOfIntegrationPoints
 
MovingPointer m_RefImage
 
MovingType::SizeType m_RefSize
 
Float m_Sign
 
Solution::ConstPointer m_Solution
 
unsigned int m_SolutionIndex
 
unsigned int m_SolutionIndex2
 
FixedPointer m_TarImage
 
FixedType::SizeType m_TarSize
 
Float m_Temp
 
TransformBaseType::Pointer m_Transform
 

Additional Inherited Members

- Protected Types inherited from itk::LightObject
typedef int InternalReferenceCountType
 
- Protected Attributes inherited from itk::fem::Load
Element::ConstPointer m_Element
 

Member Typedef Documentation

template<class TMoving , class TFixed >
typedef Float itk::fem::ImageMetricLoad< TMoving, TFixed >::ComputationType

Definition at line 123 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef SmartPointer<const Self> itk::fem::ImageMetricLoad< TMoving, TFixed >::ConstPointer

Definition at line 77 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef double itk::fem::ImageMetricLoad< TMoving, TFixed >::CoordinateRepresentationType

Definition at line 135 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef MeanSquaresMetricType itk::fem::ImageMetricLoad< TMoving, TFixed >::DefaultMetricType

Definition at line 151 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef TranslationTransform<CoordinateRepresentationType, itkGetStaticConstMacro(ImageDimension)> itk::fem::ImageMetricLoad< TMoving, TFixed >::DefaultTransformType

Definition at line 139 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef VectorContainer<ElementIdentifier, Element::Pointer> itk::fem::ImageMetricLoad< TMoving, TFixed >::ElementContainerType

Definition at line 156 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef unsigned long itk::fem::ImageMetricLoad< TMoving, TFixed >::ElementIdentifier

Definition at line 155 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef FixedType::ConstPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::FixedConstPointer

Definition at line 97 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef FixedNeighborhoodIteratorType::IndexType itk::fem::ImageMetricLoad< TMoving, TFixed >::FixedNeighborhoodIndexType

Definition at line 115 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef NeighborhoodIterator<FixedType> itk::fem::ImageMetricLoad< TMoving, TFixed >::FixedNeighborhoodIteratorType

Definition at line 113 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef FixedType* itk::fem::ImageMetricLoad< TMoving, TFixed >::FixedPointer

Definition at line 96 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef FixedNeighborhoodIteratorType::RadiusType itk::fem::ImageMetricLoad< TMoving, TFixed >::FixedRadiusType

Definition at line 117 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef TFixed itk::fem::ImageMetricLoad< TMoving, TFixed >::FixedType

Definition at line 95 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef LoadElement::Float itk::fem::ImageMetricLoad< TMoving, TFixed >::Float

Definition at line 90 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef GradientRecursiveGaussianImageFilter<ImageType, GradientImageType> itk::fem::ImageMetricLoad< TMoving, TFixed >::GradientImageFilterType

Gradient filtering

Definition at line 171 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef SmartPointer<GradientImageType> itk::fem::ImageMetricLoad< TMoving, TFixed >::GradientImagePointer

Gradient filtering

Definition at line 168 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef Image<GradientPixelType, itkGetStaticConstMacro(ImageDimension)> itk::fem::ImageMetricLoad< TMoving, TFixed >::GradientImageType

Gradient filtering

Definition at line 167 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef CovariantVector<RealType, itkGetStaticConstMacro(ImageDimension)> itk::fem::ImageMetricLoad< TMoving, TFixed >::GradientPixelType

Gradient filtering

Definition at line 165 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef Image<PixelType, itkGetStaticConstMacro(ImageDimension)> itk::fem::ImageMetricLoad< TMoving, TFixed >::ImageType

Definition at line 126 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef LinearInterpolateImageFunction<MovingType, double> itk::fem::ImageMetricLoad< TMoving, TFixed >::InterpolatorType

Definition at line 160 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef DefaultTransformType::JacobianType itk::fem::ImageMetricLoad< TMoving, TFixed >::JacobianType

Definition at line 153 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef MeanSquaresImageToImageMetric<MovingType, FixedType> itk::fem::ImageMetricLoad< TMoving, TFixed >::MeanSquaresMetricType

Definition at line 147 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef ImageToImageMetric<FixedType, MovingType> itk::fem::ImageMetricLoad< TMoving, TFixed >::MetricBaseType

Type of supported metrics.

Definition at line 142 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef MetricBaseType::Pointer itk::fem::ImageMetricLoad< TMoving, TFixed >::MetricBaseTypePointer

Definition at line 143 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef MovingType::ConstPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::MovingConstPointer

Definition at line 93 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef MovingNeighborhoodIteratorType::IndexType itk::fem::ImageMetricLoad< TMoving, TFixed >::MovingNeighborhoodIndexType

Definition at line 109 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef NeighborhoodIterator<MovingType> itk::fem::ImageMetricLoad< TMoving, TFixed >::MovingNeighborhoodIteratorType

Definition at line 107 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef MovingType* itk::fem::ImageMetricLoad< TMoving, TFixed >::MovingPointer

Definition at line 94 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef MovingNeighborhoodIteratorType::RadiusType itk::fem::ImageMetricLoad< TMoving, TFixed >::MovingRadiusType

Definition at line 111 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef TMoving itk::fem::ImageMetricLoad< TMoving, TFixed >::MovingType

Definition at line 92 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef MutualInformationImageToImageMetric<MovingType, FixedType> itk::fem::ImageMetricLoad< TMoving, TFixed >::MutualInformationMetricType

Definition at line 145 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef NormalizedCorrelationImageToImageMetric<MovingType, FixedType> itk::fem::ImageMetricLoad< TMoving, TFixed >::NormalizedCorrelationMetricType

Definition at line 149 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef DefaultTransformType::ParametersType itk::fem::ImageMetricLoad< TMoving, TFixed >::ParametersType

Definition at line 152 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef Float itk::fem::ImageMetricLoad< TMoving, TFixed >::PixelType

Definition at line 122 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef SmartPointer<Self> itk::fem::ImageMetricLoad< TMoving, TFixed >::Pointer

Definition at line 76 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef float itk::fem::ImageMetricLoad< TMoving, TFixed >::RealType

Gradient filtering

Definition at line 163 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef Image<RefPixelType, itkGetStaticConstMacro(ImageDimension)> itk::fem::ImageMetricLoad< TMoving, TFixed >::RefImageType

Definition at line 124 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef MovingType::PixelType itk::fem::ImageMetricLoad< TMoving, TFixed >::RefPixelType

Definition at line 120 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef ImageRegionIteratorWithIndex<MovingType> itk::fem::ImageMetricLoad< TMoving, TFixed >::RefRegionIteratorType

Definition at line 103 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef ImageMetricLoad itk::fem::ImageMetricLoad< TMoving, TFixed >::Self

Standard class typedefs.

Definition at line 74 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef LoadElement itk::fem::ImageMetricLoad< TMoving, TFixed >::Superclass

Definition at line 75 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef Image<TarPixelType, itkGetStaticConstMacro(ImageDimension)> itk::fem::ImageMetricLoad< TMoving, TFixed >::TarImageType

Definition at line 125 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef FixedType::PixelType itk::fem::ImageMetricLoad< TMoving, TFixed >::TarPixelType

Definition at line 121 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef ImageRegionIteratorWithIndex<FixedType> itk::fem::ImageMetricLoad< TMoving, TFixed >::TarRegionIteratorType

Definition at line 104 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef Transform<CoordinateRepresentationType, itkGetStaticConstMacro(ImageDimension), itkGetStaticConstMacro(ImageDimension)> itk::fem::ImageMetricLoad< TMoving, TFixed >::TransformBaseType

Definition at line 137 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
typedef vnl_vector<Float> itk::fem::ImageMetricLoad< TMoving, TFixed >::VectorType

Definition at line 127 of file itkFEMImageMetricLoad.h.

Constructor & Destructor Documentation

template<class TMoving , class TFixed >
itk::fem::ImageMetricLoad< TMoving, TFixed >::ImageMetricLoad ( )

Member Function Documentation

template<class TMoving , class TFixed >
virtual void itk::fem::ImageMetricLoad< TMoving, TFixed >::ApplyLoad ( Element::ConstPointer  ,
Element::VectorType  
)
virtual

Apply the load to the specified element

Reimplemented from itk::fem::LoadElement.

template<class TMoving , class TFixed >
virtual::itk::LightObject::Pointer itk::fem::ImageMetricLoad< TMoving, TFixed >::CreateAnother ( void  ) const
virtual

CreateAnother method will clone the existing instance of this type, including its internal member variables.

Reimplemented from itk::LightObject.

template<class TMoving , class TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::EvaluateMetricGivenSolution ( Element::ArrayType el,
Float  step = 1.0 
)
template<class TMoving , class TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::EvaluateMetricGivenSolution1 ( Element::ArrayType el,
Float  step = 1.0 
)
template<class TMoving , class TFixed >
VectorType itk::fem::ImageMetricLoad< TMoving, TFixed >::Fe ( VectorType  ,
VectorType   
)

Compute the image based load - implemented with ITK metric derivatives.

template<class TMoving , class TFixed >
double itk::fem::ImageMetricLoad< TMoving, TFixed >::GetCurrentEnergy ( )
inline
template<class TMoving , class TFixed >
FixedPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::GetFixedImage ( void  )
inline
template<class TMoving , class TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::GetMetric ( VectorType  InVec)

This method returns the total metric evaluated over the image with respect to the current solution.

template<class TMoving , class TFixed >
GradientImageType* itk::fem::ImageMetricLoad< TMoving, TFixed >::GetMetricGradientImage ( )
inline

Set/Get the metric gradient image

Definition at line 324 of file itkFEMImageMetricLoad.h.

References itk::fem::ImageMetricLoad< TMoving, TFixed >::m_MetricGradientImage.

template<class TMoving , class TFixed >
MovingRadiusType itk::fem::ImageMetricLoad< TMoving, TFixed >::GetMetricRadius ( )
inline

Get the metric region size.

Definition at line 228 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
MovingPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::GetMovingImage ( void  )
inline
template<class TMoving , class TFixed >
virtual const char* itk::fem::ImageMetricLoad< TMoving, TFixed >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::fem::LoadElement.

template<class TMoving , class TFixed >
unsigned int itk::fem::ImageMetricLoad< TMoving, TFixed >::GetNumberOfIntegrationPoints ( )
inline

Set/Get methods for the number of integration points to use in each 1-dimensional line integral when evaluating the load. This value is passed to the load implementation.

Definition at line 241 of file itkFEMImageMetricLoad.h.

References itk::fem::ImageMetricLoad< TMoving, TFixed >::m_NumberOfIntegrationPoints.

template<class TMoving , class TFixed >
VectorType itk::fem::ImageMetricLoad< TMoving, TFixed >::GetPolynomialFitToMetric ( VectorType  PositionInElement,
VectorType  SolutionAtPosition 
)
template<class TMoving , class TFixed >
Solution::ConstPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::GetSolution ( )
inlinevirtual

Get the pointer to the solution vector.

Returns
Pointer to the object of Solution class.

Reimplemented from itk::fem::Load.

Definition at line 278 of file itkFEMImageMetricLoad.h.

References itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Solution.

template<class TMoving , class TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::GetSolution ( unsigned int  i,
unsigned int  which = 0 
)
inline
template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::InitializeMetric ( void  )
template<class TMoving , class TFixed >
VectorType itk::fem::ImageMetricLoad< TMoving, TFixed >::MetricFiniteDiff ( VectorType  PositionInElement,
VectorType  SolutionAtPosition 
)
template<class TMoving , class TFixed >
static Pointer itk::fem::ImageMetricLoad< TMoving, TFixed >::New ( )
static

Method for creation through the object factory.

template<class TMoving , class TFixed >
static Baseclass* itk::fem::ImageMetricLoad< TMoving, TFixed >::NewImageMetricLoad ( void  )
inlinestatic
template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::PrintCurrentEnergy ( )
inline
template<class TMoving , class TFixed >
virtual void itk::fem::ImageMetricLoad< TMoving, TFixed >::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::fem::LoadElement.

template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetCurrentEnergy ( double  e)
inline
template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetFixedImage ( FixedType T)
inline
template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetGamma ( Float  s)
inline

Scaling of the similarity energy term

Definition at line 262 of file itkFEMImageMetricLoad.h.

References itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Gamma.

template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetMetric ( MetricBaseTypePointer  MP)
inline

Set/Get the Metric.

Definition at line 179 of file itkFEMImageMetricLoad.h.

References itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Metric.

template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetMetricFixedImage ( FixedType T)
inline
template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetMetricGradientImage ( GradientImageType g)
inline

Set/Get the metric gradient image

Definition at line 320 of file itkFEMImageMetricLoad.h.

References itk::fem::ImageMetricLoad< TMoving, TFixed >::m_MetricGradientImage.

template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetMetricMovingImage ( MovingType R)
inline
template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetMetricRadius ( MovingRadiusType  T)
inline

Define the metric region size.

Definition at line 222 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetMovingImage ( MovingType R)
inline
template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetNumberOfIntegrationPoints ( unsigned int  i)
inline

Set/Get methods for the number of integration points to use in each 1-dimensional line integral when evaluating the load. This value is passed to the load implementation.

Definition at line 237 of file itkFEMImageMetricLoad.h.

References itk::fem::ImageMetricLoad< TMoving, TFixed >::m_NumberOfIntegrationPoints.

template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetSign ( Float  s)
inline

Set the direction of the gradient (uphill or downhill). E.g. the mean squares metric should be minimized while NCC and PR should be maximized.

Definition at line 250 of file itkFEMImageMetricLoad.h.

References itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Sign.

template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetSolution ( Solution::ConstPointer  ptr)
inlinevirtual

Set the pointer to the solution vector.

Parameters
ptrPointer to the object of Solution class.

Reimplemented from itk::fem::Load.

Definition at line 270 of file itkFEMImageMetricLoad.h.

References itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Solution.

template<class TMoving , class TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetTemp ( Float  s)
inline

Set the sigma in a gaussian measure.

Definition at line 256 of file itkFEMImageMetricLoad.h.

References itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Temp.

Member Data Documentation

template<class TMoving , class TFixed >
const unsigned int itk::fem::ImageMetricLoad< TMoving, TFixed >::ImageDimension = MovingType::ImageDimension
static

Dimensionality of input and output data is assumed to be the same.

Definition at line 101 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
double itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Energy
mutableprivate
template<class TMoving , class TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Gamma
private
template<class TMoving , class TFixed >
InterpolatorType::Pointer itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Interpolator
private

Definition at line 367 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
MetricBaseTypePointer itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Metric
private
template<class TMoving , class TFixed >
GradientImageType* itk::fem::ImageMetricLoad< TMoving, TFixed >::m_MetricGradientImage
private
template<class TMoving , class TFixed >
unsigned int itk::fem::ImageMetricLoad< TMoving, TFixed >::m_NumberOfIntegrationPoints
private
template<class TMoving , class TFixed >
MovingPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::m_RefImage
private
template<class TMoving , class TFixed >
MovingType::SizeType itk::fem::ImageMetricLoad< TMoving, TFixed >::m_RefSize
private

used by the metric to set region size for fixed image

Definition at line 355 of file itkFEMImageMetricLoad.h.

Referenced by itk::fem::ImageMetricLoad< TMoving, TFixed >::SetMetricMovingImage(), and itk::fem::ImageMetricLoad< TMoving, TFixed >::SetMovingImage().

template<class TMoving , class TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Sign
private
template<class TMoving , class TFixed >
Solution::ConstPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Solution
private
template<class TMoving , class TFixed >
unsigned int itk::fem::ImageMetricLoad< TMoving, TFixed >::m_SolutionIndex
private

Definition at line 358 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
unsigned int itk::fem::ImageMetricLoad< TMoving, TFixed >::m_SolutionIndex2
private

Definition at line 359 of file itkFEMImageMetricLoad.h.

template<class TMoving , class TFixed >
FixedPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::m_TarImage
private
template<class TMoving , class TFixed >
FixedType::SizeType itk::fem::ImageMetricLoad< TMoving, TFixed >::m_TarSize
private
template<class TMoving , class TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Temp
private
template<class TMoving , class TFixed >
TransformBaseType::Pointer itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Transform
private

Definition at line 366 of file itkFEMImageMetricLoad.h.


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