[ 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 | 
| T | operator[] (T x) const | 
| ArrayVector< double > const & | prefilterCoefficients () const | 
| int | radius () const | 
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. \]](form_90.png) 
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 
| typedef T value_type | 
the kernel's value type
| typedef T argument_type | 
the unary functor's argument type
| typedef T result_type | 
the unary functor's result type
| enum StaticOrder | 
the splines polynomial order
| T operator[] | ( | T | x | ) | const | 
index operator – same as operator()
| int radius | ( | ) | const | 
Radius of the function's support. Needed for resamplingConvolveImage(), always 2.
| unsigned int derivativeOrder | ( | ) | const | 
Derivative order of the function: always 0.
| ArrayVector<double> const& prefilterCoefficients | ( | ) | const | 
Prefilter coefficients for compatibility with vigra::BSpline. (array has zero length, since prefiltering is not necessary).
| 
© Ullrich Köthe     (ullrich.koethe@iwr.uni-heidelberg.de)  | 
html generated using doxygen and Python
 |