go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Private Member Functions | Private Attributes
itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType > Class Template Reference

#include <itkTransformBendingEnergyPenaltyTerm.h>

Inheritance diagram for itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >:
Inheritance graph
[legend]
Collaboration diagram for itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >:
Collaboration graph
[legend]

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
Superclass::CoordinateRepresentationType 
CoordinateRepresentationType
typedef Superclass::DerivativeType DerivativeType
typedef
Superclass::DerivativeValueType 
DerivativeValueType
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointer
typedef
Superclass::FixedImageMaskPointer 
FixedImageMaskPointer
typedef
Superclass::FixedImageMaskType 
FixedImageMaskType
typedef
Superclass::FixedImagePixelType 
FixedImagePixelType
typedef
Superclass::FixedImagePointer 
FixedImagePointer
typedef
Superclass::FixedImageRegionType 
FixedImageRegionType
typedef Superclass::FixedImageType FixedImageType
typedef
Superclass::GradientImageFilterPointer 
GradientImageFilterPointer
typedef
Superclass::GradientImageFilterType 
GradientImageFilterType
typedef
Superclass::GradientImagePointer 
GradientImagePointer
typedef
Superclass::GradientImageType 
GradientImageType
typedef
Superclass::GradientPixelType 
GradientPixelType
typedef Superclass::HessianType HessianType
typedef
Superclass::HessianValueType 
HessianValueType
typedef
Superclass::ImageSampleContainerPointer 
ImageSampleContainerPointer
typedef
Superclass::ImageSampleContainerType 
ImageSampleContainerType
typedef Superclass::InputPointType InputPointType
typedef
Superclass::InternalMatrixType 
InternalMatrixType
typedef
Superclass::InterpolatorPointer 
InterpolatorPointer
typedef
Superclass::InterpolatorType 
InterpolatorType
typedef
Superclass::JacobianOfSpatialHessianType 
JacobianOfSpatialHessianType
typedef
Superclass::JacobianOfSpatialJacobianType 
JacobianOfSpatialJacobianType
typedef Superclass::MeasureType MeasureType
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointer
typedef
Superclass::MovingImageMaskPointer 
MovingImageMaskPointer
typedef
Superclass::MovingImageMaskType 
MovingImageMaskType
typedef
Superclass::MovingImagePixelType 
MovingImagePixelType
typedef
Superclass::MovingImagePointer 
MovingImagePointer
typedef Superclass::MovingImageType MovingImageType
typedef Superclass::OutputPointType OutputPointType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef Superclass::RealType RealType
typedef Superclass::ScalarType ScalarType
typedef
TransformBendingEnergyPenaltyTerm 
Self
typedef
Superclass::SpatialHessianType 
SpatialHessianType
typedef
Superclass::SpatialJacobianType 
SpatialJacobianType
typedef TransformPenaltyTerm
< TFixedImage, TScalarType > 
Superclass
typedef
Superclass::TransformJacobianType 
TransformJacobianType
typedef
Superclass::TransformParametersType 
TransformParametersType
typedef
Superclass::TransformPointer 
TransformPointer
typedef Superclass::TransformType TransformType

Public Member Functions

virtual const char * GetClassName () const
virtual void GetDerivative (const ParametersType &parameters, DerivativeType &derivative) const
virtual unsigned int GetNumberOfSamplesForSelfHessian () const
virtual void GetSelfHessian (const TransformParametersType &parameters, HessianType &H) const
virtual MeasureType GetValue (const ParametersType &parameters) const
virtual void GetValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
virtual void SetNumberOfSamplesForSelfHessian (unsigned int _arg)

Static Public Member Functions

static Pointer New ()

Protected Types

typedef
Superclass::BSplineTransformType 
BSplineTransformType
typedef
Superclass::CombinationTransformType 
CombinationTransformType
typedef
Superclass::FixedImageIndexType 
FixedImageIndexType
typedef
Superclass::FixedImageIndexValueType 
FixedImageIndexValueType
typedef
Superclass::FixedImagePointType 
FixedImagePointType
typedef
Superclass::MovingImageContinuousIndexType 
MovingImageContinuousIndexType
typedef
Superclass::MovingImageIndexType 
MovingImageIndexType
typedef
Superclass::MovingImagePointType 
MovingImagePointType
typedef
Superclass::NonZeroJacobianIndicesType 
NonZeroJacobianIndicesType
typedef ImageGridSampler
< FixedImageType
SelfHessianSamplerType

Protected Member Functions

 TransformBendingEnergyPenaltyTerm ()
virtual ~TransformBendingEnergyPenaltyTerm ()

Private Member Functions

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

Private Attributes

unsigned int m_NumberOfSamplesForSelfHessian

Detailed Description

template<class TFixedImage, class TScalarType>
class itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >

A cost function that calculates the bending energy of a transformation.

The bending energy is defined as the sum of the spatial second order derivatives of the transformation, as defined in [1]. For rigid and affine transformation this energy is always zero.

[1]: D. Rueckert, L. I. Sonoda, C. Hayes, D. L. G. Hill, M. O. Leach, and D. J. Hawkes, "Nonrigid registration using free-form deformations: Application to breast MR images", IEEE Trans. Med. Imaging 18, 712-721, 1999.
[2]: M. Staring and S. Klein, "Itk::Transforms supporting spatial derivatives"", Insight Journal, http://hdl.handle.net/10380/3215.

Definition at line 46 of file itkTransformBendingEnergyPenaltyTerm.h.


Member Typedef Documentation

template<class TFixedImage, class TScalarType>
typedef Superclass::BSplineTransformType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::BSplineTransformType [protected]

Typedefs for the B-spline transform.

Reimplemented from itk::TransformPenaltyTerm< TFixedImage, TScalarType >.

Definition at line 147 of file itkTransformBendingEnergyPenaltyTerm.h.

template<class TFixedImage, class TScalarType>
typedef Superclass::CombinationTransformType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::CombinationTransformType [protected]
template<class TFixedImage, class TScalarType>
typedef SmartPointer<const Self> itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::ConstPointer
template<class TFixedImage, class TScalarType>
typedef Superclass::CoordinateRepresentationType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::CoordinateRepresentationType

Typedefs inherited from the superclass.

Reimplemented from itk::TransformPenaltyTerm< TFixedImage, TScalarType >.

Reimplemented in elastix::TransformBendingEnergyPenalty< TElastix >.

Definition at line 62 of file itkTransformBendingEnergyPenaltyTerm.h.

template<class TFixedImage, class TScalarType>
typedef Superclass::DerivativeType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::DerivativeType
template<class TFixedImage, class TScalarType>
typedef Superclass::DerivativeValueType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::DerivativeValueType
template<class TFixedImage, class TScalarType>
typedef Superclass::FixedImageConstPointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::FixedImageConstPointer
template<class TFixedImage, class TScalarType>
typedef Superclass::FixedImageIndexType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::FixedImageIndexType [protected]

Typedefs for indices and points.

Reimplemented from itk::TransformPenaltyTerm< TFixedImage, TScalarType >.

Definition at line 133 of file itkTransformBendingEnergyPenaltyTerm.h.

template<class TFixedImage, class TScalarType>
typedef Superclass::FixedImageIndexValueType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::FixedImageIndexValueType [protected]
template<class TFixedImage, class TScalarType>
typedef Superclass::FixedImageMaskPointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::FixedImageMaskPointer
template<class TFixedImage, class TScalarType>
typedef Superclass::FixedImageMaskType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::FixedImageMaskType
template<class TFixedImage, class TScalarType>
typedef Superclass::FixedImagePixelType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::FixedImagePixelType
template<class TFixedImage, class TScalarType>
typedef Superclass::FixedImagePointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::FixedImagePointer
template<class TFixedImage, class TScalarType>
typedef Superclass::FixedImagePointType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::FixedImagePointType [protected]
template<class TFixedImage, class TScalarType>
typedef Superclass::FixedImageRegionType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::FixedImageRegionType
template<class TFixedImage, class TScalarType>
typedef Superclass::FixedImageType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::FixedImageType
template<class TFixedImage, class TScalarType>
typedef Superclass::GradientImageFilterPointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GradientImageFilterPointer
template<class TFixedImage, class TScalarType>
typedef Superclass::GradientImageFilterType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GradientImageFilterType
template<class TFixedImage, class TScalarType>
typedef Superclass::GradientImagePointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GradientImagePointer
template<class TFixedImage, class TScalarType>
typedef Superclass::GradientImageType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GradientImageType
template<class TFixedImage, class TScalarType>
typedef Superclass::GradientPixelType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GradientPixelType
template<class TFixedImage, class TScalarType>
typedef Superclass::HessianType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::HessianType
template<class TFixedImage, class TScalarType>
typedef Superclass::HessianValueType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::HessianValueType
template<class TFixedImage, class TScalarType>
typedef Superclass::ImageSampleContainerPointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::ImageSampleContainerPointer
template<class TFixedImage, class TScalarType>
typedef Superclass::ImageSampleContainerType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::ImageSampleContainerType
template<class TFixedImage, class TScalarType>
typedef Superclass::InputPointType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::InputPointType
template<class TFixedImage, class TScalarType>
typedef Superclass::InternalMatrixType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::InternalMatrixType
template<class TFixedImage, class TScalarType>
typedef Superclass::InterpolatorPointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::InterpolatorPointer
template<class TFixedImage, class TScalarType>
typedef Superclass::InterpolatorType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::InterpolatorType
template<class TFixedImage, class TScalarType>
typedef Superclass ::JacobianOfSpatialHessianType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::JacobianOfSpatialHessianType
template<class TFixedImage, class TScalarType>
typedef Superclass ::JacobianOfSpatialJacobianType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::JacobianOfSpatialJacobianType
template<class TFixedImage, class TScalarType>
typedef Superclass::MeasureType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::MeasureType
template<class TFixedImage, class TScalarType>
typedef Superclass::MovingImageConstPointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::MovingImageConstPointer
template<class TFixedImage, class TScalarType>
typedef Superclass::MovingImageContinuousIndexType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::MovingImageContinuousIndexType [protected]
template<class TFixedImage, class TScalarType>
typedef Superclass::MovingImageIndexType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::MovingImageIndexType [protected]
template<class TFixedImage, class TScalarType>
typedef Superclass::MovingImageMaskPointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::MovingImageMaskPointer
template<class TFixedImage, class TScalarType>
typedef Superclass::MovingImageMaskType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::MovingImageMaskType
template<class TFixedImage, class TScalarType>
typedef Superclass::MovingImagePixelType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::MovingImagePixelType
template<class TFixedImage, class TScalarType>
typedef Superclass::MovingImagePointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::MovingImagePointer
template<class TFixedImage, class TScalarType>
typedef Superclass::MovingImagePointType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::MovingImagePointType [protected]
template<class TFixedImage, class TScalarType>
typedef Superclass::MovingImageType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::MovingImageType
template<class TFixedImage, class TScalarType>
typedef Superclass::NonZeroJacobianIndicesType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::NonZeroJacobianIndicesType [protected]
template<class TFixedImage, class TScalarType>
typedef Superclass::OutputPointType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::OutputPointType
template<class TFixedImage, class TScalarType>
typedef Superclass::ParametersType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::ParametersType
template<class TFixedImage, class TScalarType>
typedef SmartPointer<Self> itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::Pointer
template<class TFixedImage, class TScalarType>
typedef Superclass::RealType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::RealType
template<class TFixedImage, class TScalarType>
typedef Superclass::ScalarType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::ScalarType
template<class TFixedImage, class TScalarType>
typedef TransformBendingEnergyPenaltyTerm itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::Self
template<class TFixedImage, class TScalarType>
typedef ImageGridSampler<FixedImageType> itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::SelfHessianSamplerType [protected]

Typedefs for SelfHessian

Definition at line 151 of file itkTransformBendingEnergyPenaltyTerm.h.

template<class TFixedImage, class TScalarType>
typedef Superclass::SpatialHessianType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::SpatialHessianType
template<class TFixedImage, class TScalarType>
typedef Superclass::SpatialJacobianType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::SpatialJacobianType
template<class TFixedImage, class TScalarType>
typedef TransformPenaltyTerm< TFixedImage, TScalarType > itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::Superclass
template<class TFixedImage, class TScalarType>
typedef Superclass::TransformJacobianType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::TransformJacobianType
template<class TFixedImage, class TScalarType>
typedef Superclass::TransformParametersType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::TransformParametersType
template<class TFixedImage, class TScalarType>
typedef Superclass::TransformPointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::TransformPointer
template<class TFixedImage, class TScalarType>
typedef Superclass::TransformType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::TransformType

Constructor & Destructor Documentation

template<class TFixedImage, class TScalarType>
itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::TransformBendingEnergyPenaltyTerm ( ) [protected]

The constructor.

template<class TFixedImage, class TScalarType>
virtual itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::~TransformBendingEnergyPenaltyTerm ( ) [inline, protected, virtual]

The destructor.

Definition at line 157 of file itkTransformBendingEnergyPenaltyTerm.h.

template<class TFixedImage, class TScalarType>
itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::TransformBendingEnergyPenaltyTerm ( const Self ) [private]

The private constructor.


Member Function Documentation

template<class TFixedImage, class TScalarType>
virtual const char* itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GetClassName ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::TransformPenaltyTerm< TFixedImage, TScalarType >.

Reimplemented in elastix::TransformBendingEnergyPenalty< TElastix >.

template<class TFixedImage, class TScalarType>
virtual void itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GetDerivative ( const ParametersType parameters,
DerivativeType derivative 
) const [virtual]

Get the penalty term derivative.

template<class TFixedImage, class TScalarType>
virtual unsigned int itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GetNumberOfSamplesForSelfHessian ( ) const [virtual]
template<class TFixedImage, class TScalarType>
virtual void itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GetSelfHessian ( const TransformParametersType parameters,
HessianType H 
) const [virtual]

Experimental feature: compute SelfHessian

Reimplemented from itk::AdvancedImageToImageMetric< TFixedImage, TFixedImage >.

template<class TFixedImage, class TScalarType>
virtual MeasureType itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GetValue ( const ParametersType parameters) const [virtual]

Get the penalty term value.

template<class TFixedImage, class TScalarType>
virtual void itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::GetValueAndDerivative ( const ParametersType parameters,
MeasureType value,
DerivativeType derivative 
) const [virtual]

Get the penalty term value and derivative.

template<class TFixedImage, class TScalarType>
itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::itkStaticConstMacro ( FixedImageDimension  ,
unsigned  int,
FixedImageType::ImageDimension   
)
template<class TFixedImage, class TScalarType>
static Pointer itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::New ( ) [static]

Method for creation through the object factory.

Reimplemented in elastix::TransformBendingEnergyPenalty< TElastix >.

template<class TFixedImage, class TScalarType>
void itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::operator= ( const Self ) [private]

The private copy constructor.

Reimplemented from itk::TransformPenaltyTerm< TFixedImage, TScalarType >.

template<class TFixedImage, class TScalarType>
virtual void itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::SetNumberOfSamplesForSelfHessian ( unsigned int  _arg) [virtual]

Default: 100000


Field Documentation

template<class TFixedImage, class TScalarType>
unsigned int itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >::m_NumberOfSamplesForSelfHessian [private]

Definition at line 166 of file itkTransformBendingEnergyPenaltyTerm.h.



Generated on 11-05-2012 for elastix by doxygen 1.7.6.1 elastix logo