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 Member Functions | Private Member Functions
elastix::LinearInterpolator< TElastix > Class Template Reference

#include <elxLinearInterpolator.h>

Inheritance diagram for elastix::LinearInterpolator< TElastix >:
Inheritance graph
[legend]
Collaboration diagram for elastix::LinearInterpolator< TElastix >:
Collaboration graph
[legend]

Public Types

typedef
Superclass2::ConfigurationPointer 
ConfigurationPointer
 
typedef
Superclass2::ConfigurationType 
ConfigurationType
 
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass1::ContinuousIndexType 
ContinuousIndexType
 
typedef Superclass2::ElastixPointer ElastixPointer
 
typedef Superclass2::ElastixType ElastixType
 
typedef Superclass1::IndexType IndexType
 
typedef Superclass1::InputImageType InputImageType
 
typedef Superclass2::ITKBaseType ITKBaseType
 
typedef Superclass1::OutputType OutputType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass1::PointType PointType
 
typedef
Superclass2::RegistrationPointer 
RegistrationPointer
 
typedef
Superclass2::RegistrationType 
RegistrationType
 
typedef LinearInterpolator Self
 
typedef
LinearInterpolateImageFunction
< typename InterpolatorBase
< TElastix >::InputImageType,
typename InterpolatorBase
< TElastix >::CoordRepType
Superclass1
 
typedef InterpolatorBase
< TElastix > 
Superclass2
 
- Public Types inherited from elastix::InterpolatorBase< TElastix >
typedef
Superclass::ConfigurationPointer 
ConfigurationPointer
 
typedef
Superclass::ConfigurationType 
ConfigurationType
 
typedef ElastixType::CoordRepType CoordRepType
 
typedef Superclass::ElastixPointer ElastixPointer
 
typedef Superclass::ElastixType ElastixType
 
typedef
ElastixType::MovingImageType 
InputImageType
 
typedef
InterpolateImageFunction
< InputImageType, CoordRepType
ITKBaseType
 
typedef
Superclass::RegistrationPointer 
RegistrationPointer
 
typedef
Superclass::RegistrationType 
RegistrationType
 
typedef InterpolatorBase Self
 
typedef BaseComponentSE< TElastix > Superclass
 
- Public Types inherited from elastix::BaseComponentSE< TElastix >
typedef
ElastixType::ConfigurationPointer 
ConfigurationPointer
 
typedef
ElastixType::ConfigurationType 
ConfigurationType
 
typedef ElastixType::Pointer ElastixPointer
 
typedef TElastix ElastixType
 
typedef RegistrationTypeRegistrationPointer
 
typedef
ElastixType::RegistrationBaseType 
RegistrationType
 
typedef BaseComponentSE Self
 
typedef BaseComponent Superclass
 

Public Member Functions

 elxClassNameMacro ("LinearInterpolator")
 
virtual const char * GetClassName () const
 
 itkStaticConstMacro (ImageDimension, unsigned int, Superclass1::ImageDimension)
 
- Public Member Functions inherited from elastix::InterpolatorBase< TElastix >
virtual ITKBaseTypeGetAsITKBaseType (void)
 
virtual const ITKBaseTypeGetAsITKBaseType (void) const
 
- Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
virtual ConfigurationTypeGetConfiguration (void) const
 
virtual ElastixTypeGetElastix (void) const
 
virtual RegistrationPointer GetRegistration (void) const
 
virtual void SetConfiguration (ConfigurationType *_arg)
 
virtual void SetElastix (ElastixType *_arg)
 
- Public Member Functions inherited from elastix::BaseComponent
virtual void AfterEachIteration (void)
 
virtual void AfterEachIterationBase (void)
 
virtual void AfterEachResolution (void)
 
virtual void AfterEachResolutionBase (void)
 
virtual void AfterRegistration (void)
 
virtual void AfterRegistrationBase (void)
 
virtual int BeforeAll (void)
 
virtual int BeforeAllBase (void)
 
virtual void BeforeEachResolution (void)
 
virtual void BeforeEachResolutionBase (void)
 
virtual void BeforeRegistration (void)
 
virtual void BeforeRegistrationBase (void)
 
virtual const char * elxGetClassName (void) const
 
virtual const char * GetComponentLabel (void) const
 
virtual void SetComponentLabel (const char *label, unsigned int idx)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 LinearInterpolator ()
 
virtual ~LinearInterpolator ()
 
- Protected Member Functions inherited from elastix::InterpolatorBase< TElastix >
 InterpolatorBase ()
 
virtual ~InterpolatorBase ()
 
- Protected Member Functions inherited from elastix::BaseComponentSE< TElastix >
 BaseComponentSE ()
 
virtual ~BaseComponentSE ()
 
- Protected Member Functions inherited from elastix::BaseComponent
 BaseComponent ()
 
virtual ~BaseComponent ()
 

Private Member Functions

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

Additional Inherited Members

- Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
ConfigurationPointer m_Configuration
 
ElastixPointer m_Elastix
 
RegistrationPointer m_Registration
 

Detailed Description

template<class TElastix>
class elastix::LinearInterpolator< TElastix >

An interpolator based on the itkLinearInterpolateImageFunction.

This interpolator interpolates images using linear interpolation. In principle, this is the same as using the BSplineInterpolator with the setting (BSplineInterpolationOrder 1). However, the LinearInterpolator is slightly faster. If you use an optimizer that does not use the image derivatives (such as the FullSearch, or the FiniteDifferenceGradientDescent) you can safely use the LinearInterpolator. With other optimizer that do use the image derivatives, you may also use the LinearInterpolator, but the results may be slightly different than those obtained with the BSplineInterpolator. This is due to a different implementation of the computation of the image derivatives. The BSplineInterpolator does it correct. The LinearInterpolator uses a central differencing scheme in combination with a nearest neighbor interpolation, which is not entirely consistent with the linear image model that is assumed, but it is somewhat faster, and works reasonable.

So: if you are in a hurry, you may use the LinearInterpolator, but keep in mind that you are doing something tricky. Once again, with optimizers that do not use image derivatives, the results should be exactly equal to those obtained using a BSplineInterpolator.

The parameters used in this class are:

Parameters:
Interpolator: Select this interpolator as follows:
(Interpolator "LinearInterpolator")

Definition at line 58 of file elxLinearInterpolator.h.

Member Typedef Documentation

Definition at line 103 of file elxLinearInterpolator.h.

template<class TElastix >
typedef Superclass2::ConfigurationType elastix::LinearInterpolator< TElastix >::ConfigurationType

Definition at line 102 of file elxLinearInterpolator.h.

template<class TElastix >
typedef SmartPointer<const Self> elastix::LinearInterpolator< TElastix >::ConstPointer

Definition at line 75 of file elxLinearInterpolator.h.

template<class TElastix >
typedef Superclass1::ContinuousIndexType elastix::LinearInterpolator< TElastix >::ContinuousIndexType

Definition at line 96 of file elxLinearInterpolator.h.

template<class TElastix >
typedef Superclass2::ElastixPointer elastix::LinearInterpolator< TElastix >::ElastixPointer

Definition at line 101 of file elxLinearInterpolator.h.

template<class TElastix >
typedef Superclass2::ElastixType elastix::LinearInterpolator< TElastix >::ElastixType

Typedefs inherited from Elastix.

Definition at line 100 of file elxLinearInterpolator.h.

template<class TElastix >
typedef Superclass1::IndexType elastix::LinearInterpolator< TElastix >::IndexType

Definition at line 95 of file elxLinearInterpolator.h.

template<class TElastix >
typedef Superclass1::InputImageType elastix::LinearInterpolator< TElastix >::InputImageType

Definition at line 94 of file elxLinearInterpolator.h.

template<class TElastix >
typedef Superclass2::ITKBaseType elastix::LinearInterpolator< TElastix >::ITKBaseType

Definition at line 106 of file elxLinearInterpolator.h.

template<class TElastix >
typedef Superclass1::OutputType elastix::LinearInterpolator< TElastix >::OutputType

Typedefs inherited from the superclass.

Definition at line 93 of file elxLinearInterpolator.h.

template<class TElastix >
typedef SmartPointer<Self> elastix::LinearInterpolator< TElastix >::Pointer

Definition at line 74 of file elxLinearInterpolator.h.

template<class TElastix >
typedef Superclass1::PointType elastix::LinearInterpolator< TElastix >::PointType

Definition at line 97 of file elxLinearInterpolator.h.

Definition at line 105 of file elxLinearInterpolator.h.

template<class TElastix >
typedef Superclass2::RegistrationType elastix::LinearInterpolator< TElastix >::RegistrationType

Definition at line 104 of file elxLinearInterpolator.h.

template<class TElastix >
typedef LinearInterpolator elastix::LinearInterpolator< TElastix >::Self

Standard ITK-stuff.

Definition at line 69 of file elxLinearInterpolator.h.

template<class TElastix >
typedef LinearInterpolateImageFunction< typename InterpolatorBase<TElastix>::InputImageType, typename InterpolatorBase<TElastix>::CoordRepType > elastix::LinearInterpolator< TElastix >::Superclass1

Definition at line 72 of file elxLinearInterpolator.h.

template<class TElastix >
typedef InterpolatorBase<TElastix> elastix::LinearInterpolator< TElastix >::Superclass2

Definition at line 73 of file elxLinearInterpolator.h.

Constructor & Destructor Documentation

template<class TElastix >
elastix::LinearInterpolator< TElastix >::LinearInterpolator ( )
inlineprotected

The constructor.

Definition at line 111 of file elxLinearInterpolator.h.

template<class TElastix >
virtual elastix::LinearInterpolator< TElastix >::~LinearInterpolator ( )
inlineprotectedvirtual

The destructor.

Definition at line 113 of file elxLinearInterpolator.h.

template<class TElastix >
elastix::LinearInterpolator< TElastix >::LinearInterpolator ( const Self )
private

The private constructor.

Member Function Documentation

template<class TElastix >
elastix::LinearInterpolator< TElastix >::elxClassNameMacro ( "LinearInterpolator< TElastix >"  )

Name of this class. Use this name in the parameter file to select this specific interpolator.
example: (Interpolator "LinearInterpolator")

template<class TElastix >
virtual const char* elastix::LinearInterpolator< TElastix >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from elastix::InterpolatorBase< TElastix >.

template<class TElastix >
elastix::LinearInterpolator< TElastix >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
Superclass1::ImageDimension   
)

Get the ImageDimension.

template<class TElastix >
static Pointer elastix::LinearInterpolator< TElastix >::New ( )
static

Method for creation through the object factory.

template<class TElastix >
void elastix::LinearInterpolator< TElastix >::operator= ( const Self )
private

The private copy constructor.



Generated on 05-12-2013 for elastix by doxygen 1.8.5 elastix logo