ITK  4.6.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<typename TMoving, typename 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) ITK_OVERRIDE
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const ITK_OVERRIDE
 
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)
 
virtual Solution::ConstPointer GetSolution () ITK_OVERRIDE
 
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)
 
virtual void SetSolution (Solution::ConstPointer ptr) ITK_OVERRIDE
 
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 ITK_OVERRIDE
 
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 Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
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 ITK_OVERRIDE
 
- Protected Member Functions inherited from itk::fem::LoadElement
void AddNextElementInternal (const Element *e)
 
- Protected Member Functions inherited from itk::fem::FEMLightObject
 FEMLightObject ()
 
 FEMLightObject (const FEMLightObject &o)
 
virtual ~FEMLightObject ()
 
- 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 ()
 

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
 
- Protected Attributes inherited from itk::fem::FEMLightObject
int m_GlobalNumber
 
- Protected Attributes inherited from itk::LightObject
InternalReferenceCountType m_ReferenceCount
 
SimpleFastMutexLock m_ReferenceCountLock
 

Member Typedef Documentation

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

Definition at line 123 of file itkFEMImageMetricLoad.h.

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

Definition at line 77 of file itkFEMImageMetricLoad.h.

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

Definition at line 135 of file itkFEMImageMetricLoad.h.

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

Definition at line 151 of file itkFEMImageMetricLoad.h.

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

Definition at line 139 of file itkFEMImageMetricLoad.h.

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

Definition at line 156 of file itkFEMImageMetricLoad.h.

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

Definition at line 155 of file itkFEMImageMetricLoad.h.

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

Definition at line 97 of file itkFEMImageMetricLoad.h.

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

Definition at line 115 of file itkFEMImageMetricLoad.h.

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

Definition at line 113 of file itkFEMImageMetricLoad.h.

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

Definition at line 96 of file itkFEMImageMetricLoad.h.

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

Definition at line 117 of file itkFEMImageMetricLoad.h.

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

Definition at line 95 of file itkFEMImageMetricLoad.h.

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

Definition at line 90 of file itkFEMImageMetricLoad.h.

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

Gradient filtering

Definition at line 171 of file itkFEMImageMetricLoad.h.

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

Gradient filtering

Definition at line 168 of file itkFEMImageMetricLoad.h.

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

Gradient filtering

Definition at line 167 of file itkFEMImageMetricLoad.h.

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

Gradient filtering

Definition at line 165 of file itkFEMImageMetricLoad.h.

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

Definition at line 126 of file itkFEMImageMetricLoad.h.

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

Definition at line 160 of file itkFEMImageMetricLoad.h.

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

Definition at line 153 of file itkFEMImageMetricLoad.h.

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

Definition at line 147 of file itkFEMImageMetricLoad.h.

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

Type of supported metrics.

Definition at line 142 of file itkFEMImageMetricLoad.h.

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

Definition at line 143 of file itkFEMImageMetricLoad.h.

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

Definition at line 93 of file itkFEMImageMetricLoad.h.

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

Definition at line 109 of file itkFEMImageMetricLoad.h.

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

Definition at line 107 of file itkFEMImageMetricLoad.h.

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

Definition at line 94 of file itkFEMImageMetricLoad.h.

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

Definition at line 111 of file itkFEMImageMetricLoad.h.

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

Definition at line 92 of file itkFEMImageMetricLoad.h.

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

Definition at line 145 of file itkFEMImageMetricLoad.h.

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

Definition at line 149 of file itkFEMImageMetricLoad.h.

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

Definition at line 152 of file itkFEMImageMetricLoad.h.

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

Definition at line 122 of file itkFEMImageMetricLoad.h.

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

Definition at line 76 of file itkFEMImageMetricLoad.h.

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

Gradient filtering

Definition at line 163 of file itkFEMImageMetricLoad.h.

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

Definition at line 124 of file itkFEMImageMetricLoad.h.

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

Definition at line 120 of file itkFEMImageMetricLoad.h.

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

Definition at line 103 of file itkFEMImageMetricLoad.h.

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

Standard class typedefs.

Definition at line 74 of file itkFEMImageMetricLoad.h.

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

Definition at line 75 of file itkFEMImageMetricLoad.h.

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

Definition at line 125 of file itkFEMImageMetricLoad.h.

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

Definition at line 121 of file itkFEMImageMetricLoad.h.

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

Definition at line 104 of file itkFEMImageMetricLoad.h.

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

Definition at line 137 of file itkFEMImageMetricLoad.h.

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

Definition at line 127 of file itkFEMImageMetricLoad.h.

Constructor & Destructor Documentation

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

Member Function Documentation

template<typename TMoving , typename 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<typename TMoving , typename 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<typename TMoving , typename TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::EvaluateMetricGivenSolution ( Element::ArrayType el,
Float  step = 1.0 
)
template<typename TMoving , typename TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::EvaluateMetricGivenSolution1 ( Element::ArrayType el,
Float  step = 1.0 
)
template<typename TMoving , typename TFixed >
VectorType itk::fem::ImageMetricLoad< TMoving, TFixed >::Fe ( VectorType  ,
VectorType   
)

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

template<typename TMoving , typename TFixed >
double itk::fem::ImageMetricLoad< TMoving, TFixed >::GetCurrentEnergy ( )
inline
template<typename TMoving , typename TFixed >
FixedPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::GetFixedImage ( void  )
inline
template<typename TMoving , typename 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<typename TMoving , typename 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<typename TMoving , typename TFixed >
MovingRadiusType itk::fem::ImageMetricLoad< TMoving, TFixed >::GetMetricRadius ( )
inline

Get the metric region size.

Definition at line 228 of file itkFEMImageMetricLoad.h.

template<typename TMoving , typename TFixed >
MovingPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::GetMovingImage ( void  )
inline
template<typename TMoving , typename 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<typename TMoving , typename 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<typename TMoving , typename TFixed >
VectorType itk::fem::ImageMetricLoad< TMoving, TFixed >::GetPolynomialFitToMetric ( VectorType  PositionInElement,
VectorType  SolutionAtPosition 
)
template<typename TMoving , typename TFixed >
virtual 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<typename TMoving , typename TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::GetSolution ( unsigned int  i,
unsigned int  which = 0 
)
inline
template<typename TMoving , typename TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::InitializeMetric ( void  )
template<typename TMoving , typename TFixed >
VectorType itk::fem::ImageMetricLoad< TMoving, TFixed >::MetricFiniteDiff ( VectorType  PositionInElement,
VectorType  SolutionAtPosition 
)
template<typename TMoving , typename TFixed >
static Pointer itk::fem::ImageMetricLoad< TMoving, TFixed >::New ( )
static

Method for creation through the object factory.

template<typename TMoving , typename TFixed >
static Baseclass* itk::fem::ImageMetricLoad< TMoving, TFixed >::NewImageMetricLoad ( void  )
inlinestatic
template<typename TMoving , typename TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::PrintCurrentEnergy ( )
inline
template<typename TMoving , typename 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<typename TMoving , typename TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetCurrentEnergy ( double  e)
inline
template<typename TMoving , typename TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetFixedImage ( FixedType T)
inline
template<typename TMoving , typename 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<typename TMoving , typename 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<typename TMoving , typename TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetMetricFixedImage ( FixedType T)
inline
template<typename TMoving , typename 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<typename TMoving , typename TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetMetricMovingImage ( MovingType R)
inline
template<typename TMoving , typename 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<typename TMoving , typename TFixed >
void itk::fem::ImageMetricLoad< TMoving, TFixed >::SetMovingImage ( MovingType R)
inline
template<typename TMoving , typename 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<typename TMoving , typename 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<typename TMoving , typename TFixed >
virtual 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<typename TMoving , typename 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<typename TMoving , typename 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<typename TMoving , typename TFixed >
double itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Energy
mutableprivate
template<typename TMoving , typename TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Gamma
private
template<typename TMoving , typename TFixed >
InterpolatorType::Pointer itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Interpolator
private

Definition at line 367 of file itkFEMImageMetricLoad.h.

template<typename TMoving , typename TFixed >
MetricBaseTypePointer itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Metric
private
template<typename TMoving , typename TFixed >
GradientImageType* itk::fem::ImageMetricLoad< TMoving, TFixed >::m_MetricGradientImage
private
template<typename TMoving , typename TFixed >
unsigned int itk::fem::ImageMetricLoad< TMoving, TFixed >::m_NumberOfIntegrationPoints
private
template<typename TMoving , typename TFixed >
MovingPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::m_RefImage
private
template<typename TMoving , typename 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<typename TMoving , typename TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Sign
private
template<typename TMoving , typename TFixed >
Solution::ConstPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Solution
private
template<typename TMoving , typename TFixed >
unsigned int itk::fem::ImageMetricLoad< TMoving, TFixed >::m_SolutionIndex
private

Definition at line 358 of file itkFEMImageMetricLoad.h.

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

Definition at line 359 of file itkFEMImageMetricLoad.h.

template<typename TMoving , typename TFixed >
FixedPointer itk::fem::ImageMetricLoad< TMoving, TFixed >::m_TarImage
private
template<typename TMoving , typename TFixed >
FixedType::SizeType itk::fem::ImageMetricLoad< TMoving, TFixed >::m_TarSize
private
template<typename TMoving , typename TFixed >
Float itk::fem::ImageMetricLoad< TMoving, TFixed >::m_Temp
private
template<typename TMoving , typename 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: