[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
#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_133.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
| CatmullRomSpline< T >::result_type operator() | ( | argument_type | x | ) | const |
function (functor) call
| 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 BSpline. (array has zero length, since prefiltering is not necessary).
|
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |