T3DConvoluteInterpolator< T > Class Template Reference

Interpolator that is based on convolution,like b-splines an o-moms. More...

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

Inheritance diagram for T3DConvoluteInterpolator< T >:
[legend]
Collaboration diagram for T3DConvoluteInterpolator< T >:
[legend]

Public Types

typedef T3DDatafield< typename coeff_map< T >::coeff_type > TCoeff3D
 

Public Member Functions

C3DWeightCache create_cache () const
 
const TCoeff3Dget_coefficients () const
 
operator() (const C3DFVector &x, C3DWeightCache &cache) const
 
operator() (const C3DFVector &x) const
 
 T3DConvoluteInterpolator (const T3DDatafield< T > &data, PSplineKernel kernel)
 
 T3DConvoluteInterpolator (const T3DDatafield< T > &data, PSplineKernel kernel, const CSplineBoundaryCondition &xbc, const CSplineBoundaryCondition &ybc, const CSplineBoundaryCondition &zbc)
 
 ~T3DConvoluteInterpolator ()
 Standart constructor for factory prototyping. More...
 
- Public Member Functions inherited from T3DInterpolator< T >
virtual ~T3DInterpolator ()
 

Protected Types

typedef std::vector< typename TCoeff3D::value_type > coeff_vector
 helper class for filtering More...
 

Detailed Description

template<class T>
class T3DConvoluteInterpolator< T >

Interpolator that is based on convolution,like b-splines an o-moms.

Template Parameters
Tdata type to be interpolated

Definition at line 82 of file 3d/interpolator.hh.

Member Typedef Documentation

◆ coeff_vector

template<class T>
typedef std::vector< typename TCoeff3D::value_type > T3DConvoluteInterpolator< T >::coeff_vector
protected

helper class for filtering

Definition at line 143 of file 3d/interpolator.hh.

◆ TCoeff3D

template<class T>
typedef T3DDatafield< typename coeff_map< T >::coeff_type > T3DConvoluteInterpolator< T >::TCoeff3D

type how the coefficients are stored - this is done to use a higher accuracy if the input data is not of double floating point precicion

Definition at line 86 of file 3d/interpolator.hh.

Constructor & Destructor Documentation

◆ T3DConvoluteInterpolator() [1/2]

template<class T>
T3DConvoluteInterpolator< T >::T3DConvoluteInterpolator ( const T3DDatafield< T > &  data,
PSplineKernel  kernel 
)

Create the interpolator from the input data and a given kernel

Parameters
data
kernel

◆ T3DConvoluteInterpolator() [2/2]

template<class T>
T3DConvoluteInterpolator< T >::T3DConvoluteInterpolator ( const T3DDatafield< T > &  data,
PSplineKernel  kernel,
const CSplineBoundaryCondition xbc,
const CSplineBoundaryCondition ybc,
const CSplineBoundaryCondition zbc 
)

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
zbcboundary conditions to be applied along the z-axis when interpolating

◆ ~T3DConvoluteInterpolator()

template<class T>
T3DConvoluteInterpolator< T >::~T3DConvoluteInterpolator ( )

Standart constructor for factory prototyping.

Member Function Documentation

◆ create_cache()

template<class T>
C3DWeightCache T3DConvoluteInterpolator< T >::create_cache ( ) const

Create the cache structure needed to run the interpolation in a multi-threaded environment. This function must be called in each thread once.

Returns
the cache structure

◆ get_coefficients()

template<class T>
const TCoeff3D& T3DConvoluteInterpolator< T >::get_coefficients ( ) const
inline
Returns
the coefficients

Definition at line 137 of file 3d/interpolator.hh.

◆ operator()() [1/2]

template<class T>
T T3DConvoluteInterpolator< T >::operator() ( const C3DFVector x,
C3DWeightCache &  cache 
) const

get the interpolated value at a given location x

Parameters
x
cachethe cache structure created by calling create_cache()-
Returns
the interpolated value
Remarks
This method is thread save if the cache structure is thread local

◆ operator()() [2/2]

template<class T>
T T3DConvoluteInterpolator< T >::operator() ( const C3DFVector x) const
virtual

get the interpolated value at a given location x

Parameters
x
Returns
the interpolated value
Remarks
This method is not thread save

Implements T3DInterpolator< T >.


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