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

CatmullRomSpline< T > Class Template Reference

#include <vigra/splines.hxx>

Public Types

typedef T argument_type
 
typedef T result_type
 
enum  StaticOrder
 
typedef T value_type
 

Public Member Functions

unsigned int derivativeOrder () const
 
result_type operator() (argument_type x) const
 
operator[] (T x) const
 
ArrayVector< double > const & prefilterCoefficients () const
 
int radius () const
 

Detailed Description

template<class T = double>
class vigra::CatmullRomSpline< T >

Interpolating 3-rd order splines.

Implements the Catmull/Rom cardinal function

\[ f(x) = \left\{ \begin{array}{ll}
                              \frac{3}{2}x^3 - \frac{5}{2}x^2 + 1 & |x| \leq 1 \\
                              -\frac{1}{2}x^3 + \frac{5}{2}x^2 -4x + 2 & |x| \leq 2 \\
                              0 & \mbox{otherwise}
                    \end{array}\right.
\]

It can be used as a functor, and as a kernel for resamplingConvolveImage() to create a differentiable interpolant of an image. However, it should be noted that a twice differentiable interpolant can be created with only slightly more effort by recursive prefiltering followed by convolution with a 3rd order B-spline.

#include <vigra/splines.hxx>
Namespace: vigra

Member Typedef Documentation

◆ value_type

typedef T value_type

the kernel's value type

◆ argument_type

typedef T argument_type

the unary functor's argument type

◆ result_type

typedef T result_type

the unary functor's result type

Member Enumeration Documentation

◆ StaticOrder

the splines polynomial order

Member Function Documentation

◆ operator()()

CatmullRomSpline< T >::result_type operator() ( argument_type  x) const

function (functor) call

◆ operator[]()

T operator[] ( x) const

index operator – same as operator()

◆ radius()

int radius ( ) const

Radius of the function's support. Needed for resamplingConvolveImage(), always 2.

◆ derivativeOrder()

unsigned int derivativeOrder ( ) const

Derivative order of the function: always 0.

◆ prefilterCoefficients()

ArrayVector< double > const & prefilterCoefficients ( ) const

Prefilter coefficients for compatibility with vigra::BSpline. (array has zero length, since prefiltering is not necessary).


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

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de)
Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany

html generated using doxygen and Python
vigra 1.11.1