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::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder > Class Template Reference

#include <itkBSplineInterpolationDerivativeWeightFunction.h>

Detailed Description

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
class itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >

Returns the weights over the support region used for B-spline interpolation/reconstruction.

Computes/evaluate the B-spline interpolation weights over the support region of the B-spline.

This class is templated over the coordinate representation type, the space dimension and the spline order.

See also
Point
Index
ContinuousIndex

Definition at line 46 of file itkBSplineInterpolationDerivativeWeightFunction.h.

Inheritance diagram for itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >:
Inheritance graph
[legend]

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::ContinuousIndexType ContinuousIndexType
 
typedef Superclass::IndexType IndexType
 
typedef SmartPointer< SelfPointer
 
typedef BSplineInterpolationDerivativeWeightFunction Self
 
typedef Superclass::SizeType SizeType
 
typedef BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder > Superclass
 
typedef Superclass::WeightsType WeightsType
 
- Public Types inherited from itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >
typedef SmartPointer< const SelfConstPointer
 
typedef ContinuousIndex< TCoordRep, VSpaceDimension > ContinuousIndexType
 
typedef Index< VSpaceDimension > IndexType
 
typedef SmartPointer< SelfPointer
 
typedef BSplineInterpolationWeightFunctionBase Self
 
typedef Size< VSpaceDimension > SizeType
 
typedef FunctionBase< ContinuousIndex< TCoordRep, VSpaceDimension >, Array< double > > Superclass
 
typedef Array< doubleWeightsType
 

Public Member Functions

virtual const char * GetClassName () const
 
 itkStaticConstMacro (SpaceDimension, unsigned int, VSpaceDimension)
 
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 
virtual void SetDerivativeDirection (unsigned int dir)
 
- Public Member Functions inherited from itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >
void ComputeStartIndex (const ContinuousIndexType &index, IndexType &startIndex) const
 
virtual WeightsType Evaluate (const ContinuousIndexType &index) const
 
virtual void Evaluate (const ContinuousIndexType &cindex, const IndexType &startIndex, WeightsType &weights) const
 
virtual unsigned long GetNumberOfWeights () const
 
virtual const SizeTypeGetSupportSize ()
 
 itkStaticConstMacro (SpaceDimension, unsigned int, VSpaceDimension)
 
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 
 itkStaticConstMacro (NumberOfWeights, unsigned long, GetConstNumberOfWeightsHackType::Value)
 

Static Public Member Functions

static Pointer New ()
 

Protected Types

typedef Superclass::DerivativeKernelType DerivativeKernelType
 
typedef Superclass::KernelType KernelType
 
typedef Superclass::OneDWeightsType OneDWeightsType
 
typedef Superclass::SecondOrderDerivativeKernelType SecondOrderDerivativeKernelType
 
typedef Superclass::TableType TableType
 
- Protected Types inherited from itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >
typedef DerivativeKernelType::Pointer DerivativeKernelPointer
 
typedef BSplineDerivativeKernelFunction< Self::SplineOrder > DerivativeKernelType
 
typedef KernelType::Pointer KernelPointer
 
typedef BSplineKernelFunction2< Self::SplineOrder > KernelType
 
typedef Matrix< double, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder)+1 > OneDWeightsType
 
typedef SecondOrderDerivativeKernelType::Pointer SecondOrderDerivativeKernelPointer
 
typedef BSplineSecondOrderDerivativeKernelFunction2< Self::SplineOrder > SecondOrderDerivativeKernelType
 
typedef Array2D< unsigned long > TableType
 
typedef KernelType::WeightArrayType WeightArrayType
 

Protected Member Functions

 BSplineInterpolationDerivativeWeightFunction ()
 
virtual void Compute1DWeights (const ContinuousIndexType &index, const IndexType &startIndex, OneDWeightsType &weights1D) const
 
virtual void PrintSelf (std::ostream &os, Indent indent) const
 
 ~BSplineInterpolationDerivativeWeightFunction ()
 
- Protected Member Functions inherited from itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >
 BSplineInterpolationWeightFunctionBase ()
 
 ~BSplineInterpolationWeightFunctionBase ()
 

Private Member Functions

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

Private Attributes

unsigned int m_DerivativeDirection
 

Additional Inherited Members

- Protected Attributes inherited from itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >
DerivativeKernelType::Pointer m_DerivativeKernel
 
KernelType::Pointer m_Kernel
 
unsigned long m_NumberOfWeights
 
TableType m_OffsetToIndexTable
 
SecondOrderDerivativeKernelType::Pointer m_SecondOrderDerivativeKernel
 
SizeType m_SupportSize
 

Member Typedef Documentation

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef SmartPointer< const Self > itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::ConstPointer
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::ContinuousIndexType itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::ContinuousIndexType
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::DerivativeKernelType itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::DerivativeKernelType
protected
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::IndexType itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::IndexType
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::KernelType itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::KernelType
protected

Interpolation kernel types.

Definition at line 87 of file itkBSplineInterpolationDerivativeWeightFunction.h.

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::OneDWeightsType itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::OneDWeightsType
protected
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef SmartPointer< Self > itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::Pointer
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass ::SecondOrderDerivativeKernelType itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::SecondOrderDerivativeKernelType
protected
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef BSplineInterpolationDerivativeWeightFunction itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::Self

Standard class typedefs.

Definition at line 53 of file itkBSplineInterpolationDerivativeWeightFunction.h.

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::SizeType itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::SizeType
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder > itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::Superclass
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::TableType itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::TableType
protected
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::WeightsType itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::WeightsType

Typedefs from Superclass.

Definition at line 73 of file itkBSplineInterpolationDerivativeWeightFunction.h.

Constructor & Destructor Documentation

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::BSplineInterpolationDerivativeWeightFunction ( )
protected
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::~BSplineInterpolationDerivativeWeightFunction ( )
inlineprotected
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::BSplineInterpolationDerivativeWeightFunction ( const Self )
private

Member Function Documentation

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
virtual void itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::Compute1DWeights ( const ContinuousIndexType index,
const IndexType startIndex,
OneDWeightsType weights1D 
) const
protectedvirtual

Compute the 1D weights, which are:

\[ \beta( x[i] - startIndex[i] ), \beta( x[i] - startIndex[i] - 1 ), \beta( x[i] - startIndex[i] - 2 ), \beta( x[i] - startIndex[i] - 3 ) \]

, with $\beta( x ) = \beta^2( x + 1/2 ) - \beta^2( x - 1/2 )$, in case of the derivative direction, and just $\beta(x) = \beta^3(x)$ for the non-derivative directions.

Implements itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >.

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
virtual const char* itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >.

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
VSpaceDimension   
)

Space dimension.

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::itkStaticConstMacro ( SplineOrder  ,
unsigned  int,
VSplineOrder   
)

Spline order.

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
static Pointer itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::New ( )
static

New macro for creation of through the object factory.

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
void itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::operator= ( const Self )
private
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
virtual void itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual
template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
virtual void itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::SetDerivativeDirection ( unsigned int  dir)
virtual

Set the first order derivative direction.

Field Documentation

template<class TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
unsigned int itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::m_DerivativeDirection
private

Member variables.

Definition at line 115 of file itkBSplineInterpolationDerivativeWeightFunction.h.



Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo