Public Types | Public Member Functions | Protected Types
T2DConvoluteInterpolator< T > Class Template Reference

The base class for 2D interpolators that use some kind of spacial convolution. More...

#include <mia/2d/interpolator.hh>

Inheritance diagram for T2DConvoluteInterpolator< T >:
T2DInterpolator< T >

Public Types

typedef T2DDatafield< typename
coeff_map< T >::coeff_type > 
TCoeff2D
 

Public Member Functions

T2DVector< T > derivative_at (const C2DFVector &x) const
 
const TCoeff2Dget_coefficients () const
 
operator() (const C2DFVector &x) const
 
 T2DConvoluteInterpolator (const T2DDatafield< T > &data, PSplineKernel kernel)
 
 T2DConvoluteInterpolator (const T2DDatafield< T > &data, PSplineKernel kernel, const CSplineBoundaryCondition &xbc, const CSplineBoundaryCondition &ybc)
 
 ~T2DConvoluteInterpolator ()
 
- Public Member Functions inherited from T2DInterpolator< T >
virtual ~T2DInterpolator ()
 

Protected Types

typedef std::vector< typename
TCoeff2D::value_type > 
coeff_vector
 helper class for the coefficient field More...
 

Detailed Description

template<class T>
class T2DConvoluteInterpolator< T >

The base class for 2D interpolators that use some kind of spacial convolution.

Template Parameters
Tdata type to be interpolated

This class provides the interface for 2D interpolation based on some kind of spacial convolution, like e.g. by using B-splines.

Definition at line 113 of file 2d/interpolator.hh.

Member Typedef Documentation

template<class T>
typedef std::vector< typename TCoeff2D::value_type > T2DConvoluteInterpolator< T >::coeff_vector
protected

helper class for the coefficient field

Definition at line 166 of file 2d/interpolator.hh.

template<class T>
typedef T2DDatafield< typename coeff_map< T >::coeff_type > T2DConvoluteInterpolator< T >::TCoeff2D

Data type of the field that holds the cofficients. Essentially, it uses the coeff_map template to translate whatever T is composed of to something that is composed of double float values to provide the required accuracy for interpolation.

Definition at line 157 of file 2d/interpolator.hh.

Constructor & Destructor Documentation

template<class T>
T2DConvoluteInterpolator< T >::T2DConvoluteInterpolator ( const T2DDatafield< T > &  data,
PSplineKernel  kernel 
)

Constructor for the interpolator. The input data is pre-filtered in order to ensure that the interpolation at grid points returns the original data values.

Parameters
datainput data to base th einterpolation on
kernelthe B-spline kernel to be used.
template<class T>
T2DConvoluteInterpolator< T >::T2DConvoluteInterpolator ( const T2DDatafield< T > &  data,
PSplineKernel  kernel,
const CSplineBoundaryCondition xbc,
const CSplineBoundaryCondition ybc 
)

Construtor to prefilter the input for proper interpolation

Parameters
datathe data used for interpolation
kernelthe spline kernel used for interpolation
xbcboundary conditions to be applied along the x-axis when interpolating
ybcboundary conditions to be applied along the y-axis when interpolating
template<class T>
T2DConvoluteInterpolator< T >::~T2DConvoluteInterpolator ( )

Member Function Documentation

template<class T>
T2DVector<T> T2DConvoluteInterpolator< T >::derivative_at ( const C2DFVector x) const
virtual

Evaluate the first order derivative on the given coordinate

Parameters
xlocation
Returns
teh drivatives in all coordinate directions as 2D vector
Remarks
this method is not thread save

Implements T2DInterpolator< T >.

template<class T>
const TCoeff2D& T2DConvoluteInterpolator< T >::get_coefficients ( ) const
Returns
the current coefficient field
template<class T>
T T2DConvoluteInterpolator< T >::operator() ( const C2DFVector x) const
virtual

Interpolate at the given input point

Parameters
xinput point
Returns
interpolated value
Remarks
this method is not thread save

Implements T2DInterpolator< T >.


The documentation for this class was generated from the following file: