Base class for all spline based interpolation kernels.
More...
#include <mia/core/splinekernel.hh>
|
| CSplineKernel (int degree, double shift, EInterpolation type) |
|
void | derivative (double x, VWeight &weight, VIndex &index) const |
|
void | derivative (double x, VWeight &weight, VIndex &index, int order) const |
|
int | get_active_halfrange () const |
|
void | get_cached (double x, SCache &cache) const |
|
virtual void | get_derivative_weights (double x, VWeight &weight) const =0 |
|
virtual void | get_derivative_weights (double x, VWeight &weight, int order) const =0 |
|
int | get_indices (double x, VIndex &index) const |
|
double | get_nonzero_radius () const |
|
const std::vector< double > & | get_poles () const |
|
int | get_start_idx_and_derivative_weights (double x, VWeight &weights) const |
|
int | get_start_idx_and_value_weights (double x, VWeight &weights) const |
|
EInterpolation | get_type () const |
|
void | get_uncached (double x, SCache &cache) const |
|
virtual double | get_weight_at (double x, int order) const |
|
virtual void | get_weights (double x, VWeight &weight) const =0 |
|
void | operator() (double x, VWeight &weight, VIndex &index) const |
|
void | operator() (double x, SCache &cache) const |
|
size_t | size () const |
|
virtual | ~CSplineKernel () |
|
const char * | get_init_string () const |
|
void | set_init_string (const char *init) |
|
void | set_module (PPluginModule module) |
|
void | add (const char *property) |
|
Set | get_missing_properties (const CPropertyFlagHolder &testset) const |
|
bool | has (const char *property) const |
|
bool | has_all_in (const CPropertyFlagHolder &testset) const |
|
virtual | ~CPropertyFlagHolder () |
|
Base class for all spline based interpolation kernels.
The kernel of spline based interpolations that provides the interface to evaluate weights and indices into the coefficient field.
Definition at line 45 of file splinekernel.hh.
◆ plugin_data
◆ plugin_type
◆ VIndex
◆ VWeight
◆ CSplineKernel()
CSplineKernel::CSplineKernel |
( |
int |
degree, |
|
|
double |
shift, |
|
|
EInterpolation |
type |
|
) |
| |
- Parameters
-
degree | of the spline |
shift | location shift of the input coordinate to obtain the proper support |
type | interpolation type |
◆ ~CSplineKernel()
virtual CSplineKernel::~CSplineKernel |
( |
| ) |
|
|
virtual |
The virtual destructor is just here to avoid some warning
◆ add_pole()
void CSplineKernel::add_pole |
( |
double |
x | ) |
|
|
protected |
add a pole to the list of poles
- Parameters
-
◆ derivative() [1/2]
void CSplineKernel::derivative |
( |
double |
x, |
|
|
VWeight & |
weight, |
|
|
VIndex & |
index |
|
) |
| const |
Evaluate the first order derivative weights of the B-Spline at the given position
- Parameters
-
| x | location where to evaluate the derivative |
[out] | weight | the interpolation weights are stored here |
[out] | index | the interpolation coefficient intices are stored here |
◆ derivative() [2/2]
void CSplineKernel::derivative |
( |
double |
x, |
|
|
VWeight & |
weight, |
|
|
VIndex & |
index, |
|
|
int |
order |
|
) |
| const |
Evaluate the derivative weights of the B-Spline at the given position
- Parameters
-
| x | location where to evaluate the derivative |
[out] | weight | the interpolation weights are stored here |
[out] | index | the interpolation coefficient intices are stored here |
| order | order of the derivative to be evaluated |
◆ get_active_halfrange()
int CSplineKernel::get_active_halfrange |
( |
| ) |
const |
- Returns
- the number of the neighboring grind points used on each side of the center
◆ get_cached()
void CSplineKernel::get_cached |
( |
double |
x, |
|
|
SCache & |
cache |
|
) |
| const |
This operator evaluates the weights and indices of the interpolation at a given position. The boundary conditions given in the value cache are applied. The result is stored in the return value cache and this cache is only updated if neccesary. The index set is always fully set.
- Parameters
-
| x | location for which to evaluate weights and indices |
[in,out] | cache | storage for returned value |
◆ get_derivative_weights() [1/2]
virtual void CSplineKernel::get_derivative_weights |
( |
double |
x, |
|
|
VWeight & |
weight |
|
) |
| const |
|
pure virtual |
evaluate the first order derivative weights, this needs to be implemented for a specific spline
- Parameters
-
| x | coordinate |
[out] | weight | the weights |
◆ get_derivative_weights() [2/2]
virtual void CSplineKernel::get_derivative_weights |
( |
double |
x, |
|
|
VWeight & |
weight, |
|
|
int |
order |
|
) |
| const |
|
pure virtual |
evaluate the first order derivative weights, this needs to be implemented for a specific spline
- Parameters
-
| x | coordinate |
[out] | weight | the weights |
| order | derivative order |
◆ get_indices()
int CSplineKernel::get_indices |
( |
double |
x, |
|
|
VIndex & |
index |
|
) |
| const |
Evaluate the indices of the coefficients that would be used for interpolation
- Parameters
-
| x | location where to evaluate |
[out] | index | the interpolation coefficient indices are stored here |
- Returns
- start index
◆ get_nonzero_radius()
double CSplineKernel::get_nonzero_radius |
( |
| ) |
const |
- Returns
- the radius around zero where the B-spline does not evaluate to zero
◆ get_poles()
const std::vector<double>& CSplineKernel::get_poles |
( |
| ) |
const |
- Returns
- the poles of the spline used for pre-filtering
◆ get_start_idx_and_derivative_weights()
int CSplineKernel::get_start_idx_and_derivative_weights |
( |
double |
x, |
|
|
VWeight & |
weights |
|
) |
| const |
Evaluate the first coefficient index and the derivative weights vor B-spline interpolation
- Parameters
-
| x | location to evaluate the spline at |
[out] | weights | weights of the B-spline |
- Returns
- first index into the coefficient field to be used - note this may be a negiative value
◆ get_start_idx_and_value_weights()
int CSplineKernel::get_start_idx_and_value_weights |
( |
double |
x, |
|
|
VWeight & |
weights |
|
) |
| const |
Evaluate the first coefficient index and the weights vor B-spline interpolation
- Parameters
-
| x | location to evaluate the spline at |
[out] | weights | weights of the B-spline |
- Returns
- first index into the coefficient field to be used - note this may be a negiative value
◆ get_type()
- Returns
- the type of this interpolator
◆ get_uncached()
void CSplineKernel::get_uncached |
( |
double |
x, |
|
|
SCache & |
cache |
|
) |
| const |
This operator evaluates the weights and indices of the interpolation at a given position. The boundary conditions given in the value cache are applied. The result is stored in the return value cache and this cache is always updated. The index set will only be set correctly if the boundary conditions had to be applied.
- Parameters
-
| x | location for which to evaluate weights and indices |
[in,out] | cache | storage for returned value |
◆ get_weight_at()
virtual double CSplineKernel::get_weight_at |
( |
double |
x, |
|
|
int |
order |
|
) |
| const |
|
virtual |
Evaluate the weight at a single position
- Parameters
-
x | location to evaluate B-spline at |
order | order of derivative to be evaluated (0 = value) |
- Returns
- B-spline weight
◆ get_weights()
virtual void CSplineKernel::get_weights |
( |
double |
x, |
|
|
VWeight & |
weight |
|
) |
| const |
|
pure virtual |
evaluate the weights, this needs to be implemented for a specific spline
- Parameters
-
| x | coordinate |
[out] | weight | the weights |
◆ operator()() [1/2]
void CSplineKernel::operator() |
( |
double |
x, |
|
|
VWeight & |
weight, |
|
|
VIndex & |
index |
|
) |
| const |
This operator evaluates the weights and indices of the interpolation
- Parameters
-
| x | input coordinate |
[out] | weight | weights of the interpolation |
[out] | index | indices corresponding to the weights, No boundary conditions are applied. |
◆ operator()() [2/2]
void CSplineKernel::operator() |
( |
double |
x, |
|
|
SCache & |
cache |
|
) |
| const |
This operator evaluates the weights and indices of the interpolation at a given position. The boundary conditions given in the value cache are applied. The result is stored in the return value cache and this cache is only updated if neccesary
- Parameters
-
| x | location for which to evaluate weights and indices |
[in,out] | cache | storage for returned value |
◆ size()
size_t CSplineKernel::size |
( |
| ) |
const |
|
inline |
◆ data_descr
const char* CSplineKernel::data_descr |
|
static |
◆ type_descr
const char* CSplineKernel::type_descr |
|
static |
The documentation for this class was generated from the following file: