ITK  4.2.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes
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 >:

List of all members.

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 std::vector< const
Element * > 
ElementPointersVectorType
- Public Types inherited from itk::fem::Load
typedef FEMPArray< SelfArrayType
- Public Types inherited from itk::fem::FEMLightObject
typedef Self Baseclass
- Public Types inherited from itk::LightObject

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

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.


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

Reimplemented from itk::fem::LoadElement.

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

Float type used in Element and derived classes

Reimplemented from itk::fem::LoadElement.

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

Reimplemented from itk::fem::LoadElement.

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.

Reimplemented from itk::fem::LoadElement.

Definition at line 74 of file itkFEMImageMetricLoad.h.

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

Reimplemented from itk::fem::LoadElement.

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::fem::LoadElement.

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.

Reimplemented from itk::fem::LoadElement.

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: