[ VIGRA Homepage | Class Index | Function Index | File Index | Main Page ]

details BSplineBase Class Template Reference VIGRA

#include "vigra/splines.hxx"

Inheritance diagram for BSplineBase:

BSpline

Public Types

typedef T value_type
typedef T argument_type
typedef T first_argument_type
typedef unsigned int second_argument_type
typedef T result_type
enum  StaticOrder

Public Methods

 BSplineBase (unsigned int derivativeOrder=0)
result_type operator() (argument_type x) const
result_type operator() (first_argument_type x, second_argument_type derivative_order) const
value_type operator[] (value_type x) const
double radius () const
unsigned int derivativeOrder () const
ArrayVector< double > const & prefilterCoefficients () const

Static Public Methods

WeightMatrix & weights ()


Detailed Description


template<int ORDER, class T = double>
class vigra::BSplineBase< ORDER, T >

Basic interface of the spline functors.

Implements the spline functions defined by the recursion

and

where * denotes convolution, and n is the spline order given by the template parameter ORDER. These spline classes can be used as unary and binary functors, as kernels for resamplingConvolveImage(), and as arguments for vigra::SplineImageView. Note that the spline order is given as a template argument.

#include "vigra/splines.hxx"
Namespace: vigra


Member Typedef Documentation


typedef T argument_type

 

the functor's unary argument type


typedef T first_argument_type

 

the functor's first binary argument type


typedef T result_type

 

the functor's result type (unary and binary)


typedef unsigned int second_argument_type

 

the functor's second binary argument type


typedef T value_type

 

the value type if used as a kernel in resamplingConvolveImage().


Member Enumeration Documentation


enum StaticOrder

 

the spline order


Constructor & Destructor Documentation


BSplineBase unsigned int    derivativeOrder = 0 [inline, explicit]

 

Create functor for gevine derivative of the spline. The spline's order is specified spline by the template argument ORDER.


Member Function Documentation


unsigned int derivativeOrder   const [inline]

 

Get the derivative order of the Gaussian.


result_type operator() first_argument_type    x,
second_argument_type    derivative_order
const [inline]

 

Binary function call. The given derivative order is added to the derivative order specified in the constructor. Note that only derivatives up to ORDER-1 are continous, and derivatives above ORDER+1 are zero.


result_type operator() argument_type    x const [inline]

 

Unary function call. Returns the value of the spline with the derivative order given in the constructor. Note that only derivatives up to ORDER-1 are continous, and derivatives above ORDER+1 are zero.


value_type operator[] value_type    x const [inline]

 

Index operator. Same as unary function call.


ArrayVector<double> const& prefilterCoefficients   const [inline]

 

Get the prefilter coefficients required for interpolation. To interpolate with a B-spline, resamplingConvolveImage() can be used. However, the image to be interpolated must be pre-filtered using recursiveFilterImage() with the filter coefficients given by this function. The length of the array corresponds to the number of times recursiveFilterImage() has to be applied (zero length means no prefiltering necessary).


double radius   const [inline]

 

Get the required filter radius for a discrete approximation of the spline. Always equal to (ORDER + 1) / 2.0.


WeightMatrix& weights   [inline, static]

 

Get the coefficients to transform spline coefficients into the coefficients of the corresponding polynomial. Currently internally used in SplineImageView; needs more documentation ???


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

© Ullrich Köthe (koethe@informatik.uni-hamburg.de)
Cognitive Systems Group, University of Hamburg, Germany

html generated using doxygen and Python
VIGRA 1.5.0 (7 Dec 2006)