The base class for 2D interpolators that use some kind of spacial convolution. More...
#include <mia/2d/interpolator.hh>
| Public Types | |
| typedef T2DDatafield< typename coeff_map< T >::coeff_type > | TCoeff2D | 
| Public Member Functions | |
| C2DWeightCache | create_cache () const | 
| T2DVector< T > | derivative_at (const C2DFVector &x) const | 
| const TCoeff2D & | get_coefficients () const | 
| T | operator() (const C2DFVector &x) const | 
| T | operator() (const C2DFVector &x, C2DWeightCache &cache) const | 
| T2DInterpolator (const T2DDatafield< T > &data, PSplineKernel kernel) | |
| T2DInterpolator (const T2DDatafield< T > &data, PSplineKernel kernel, const CSplineBoundaryCondition &xbc, const CSplineBoundaryCondition &ybc) | |
| ~T2DInterpolator () | |
| Protected Types | |
| typedef std::vector< typename TCoeff2D::value_type > | coeff_vector | 
| helper class for the coefficient field  More... | |
The base class for 2D interpolators that use some kind of spacial convolution.
| T | data 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 98 of file 2d/interpolator.hh.
| 
 | protected | 
helper class for the coefficient field
Definition at line 161 of file 2d/interpolator.hh.
| typedef T2DDatafield< typename coeff_map< T >::coeff_type > T2DInterpolator< 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 152 of file 2d/interpolator.hh.
| T2DInterpolator< T >::T2DInterpolator | ( | 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.
| data | input data to base th einterpolation on | 
| kernel | the B-spline kernel to be used. | 
| T2DInterpolator< T >::T2DInterpolator | ( | const T2DDatafield< T > & | data, | 
| PSplineKernel | kernel, | ||
| const CSplineBoundaryCondition & | xbc, | ||
| const CSplineBoundaryCondition & | ybc | ||
| ) | 
Construtor to prefilter the input for proper interpolation
| 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 | 
| T2DInterpolator< T >::~T2DInterpolator | ( | ) | 
| C2DWeightCache T2DInterpolator< 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.
| T2DVector<T> T2DInterpolator< T >::derivative_at | ( | const C2DFVector & | x | ) | const | 
Evaluate the first order derivative on the given coordinate
| x | location | 
| const TCoeff2D& T2DInterpolator< T >::get_coefficients | ( | ) | const | 
| T T2DInterpolator< T >::operator() | ( | const C2DFVector & | x | ) | const | 
Interpolate at the given input point
| x | input point | 
| T T2DInterpolator< T >::operator() | ( | const C2DFVector & | x, | 
| C2DWeightCache & | cache | ||
| ) | const |