T3DConvoluteInterpolator< T > Class Template Reference
Interpolation

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 TCoeff3D & | get_coefficients () const
T | operator() (const C3DFVector &x) const
T | operator() (const C3DFVector &x, C3DWeightCache &cache) 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.
Public Member Functions inherited from T3DInterpolator< T >
virtual | ~T3DInterpolator ()

## Protected Types

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

## Detailed Description

template<class T>
class T3DConvoluteInterpolator< T >

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

Template Parameters

  T | data type to be interpolated

Definition at line 83 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 146 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 88 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

  data | the data used for interpolation
  kernel | the spline kernel used for interpolation
  xbc | boundary conditions to be applied along the x-axis when interpolating
  ybc | boundary conditions to be applied along the y-axis when interpolating
  zbc | boundary 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 139 of file 3d/interpolator.hh.

## operator()() [1/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 >.

## operator()() [2/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 |
  cache | the cache structure created by calling create_cache()-

Returns
  the interpolated value

Remarks
  This method is thread save if the cache structure is thread local

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

- 3d/interpolator.hh