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 Member Functions

 elxClassNameMacro ("LinearInterpolator")
virtual const char * GetClassName () const
 itkStaticConstMacro (ImageDimension, unsigned int, Superclass1::ImageDimension)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 LinearInterpolator ()
virtual ~LinearInterpolator ()

Private Member Functions

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

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

Reimplemented from elastix::InterpolatorBase< TElastix >.

Definition at line 103 of file elxLinearInterpolator.h.

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

Reimplemented from elastix::InterpolatorBase< TElastix >.

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

Reimplemented from elastix::InterpolatorBase< TElastix >.

Definition at line 101 of file elxLinearInterpolator.h.

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

Typedefs inherited from Elastix.

Reimplemented from elastix::InterpolatorBase< TElastix >.

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

Reimplemented from elastix::InterpolatorBase< TElastix >.

Definition at line 94 of file elxLinearInterpolator.h.

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

Reimplemented from elastix::InterpolatorBase< TElastix >.

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.

Reimplemented from elastix::InterpolatorBase< TElastix >.

Definition at line 105 of file elxLinearInterpolator.h.

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

Reimplemented from elastix::InterpolatorBase< TElastix >.

Definition at line 104 of file elxLinearInterpolator.h.

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

Standard ITK-stuff.

Reimplemented from elastix::InterpolatorBase< TElastix >.

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 ( ) [inline, protected]

The constructor.

Definition at line 111 of file elxLinearInterpolator.h.

template<class TElastix >
virtual elastix::LinearInterpolator< TElastix >::~LinearInterpolator ( ) [inline, protected, virtual]

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 24-05-2012 for elastix by doxygen 1.7.6.1 elastix logo