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

CoscotFunction< T > Class Template Reference

#include <vigra/resizeimage.hxx>

Public Types

typedef T argument_type
 
typedef T result_type
 
typedef T value_type
 

Public Member Functions

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

Detailed Description

template<class T>
class vigra::CoscotFunction< T >

The Coscot interpolation function.

Implements the Coscot interpolation function proposed by Maria Magnusson Seger (maria.nosp@m.@isy.nosp@m..liu..nosp@m.se) in the context of tomographic reconstruction. It provides a fast transition between the pass- and stop-bands and minimal ripple outside the transition region. Both properties are important for this application and can be tuned by the parameters m and h (with defaults 3 and 0.5). The function is defined by

\[ f_{m,h}(x) = \left\{ \begin{array}{ll}
                               \frac{1}{2m}\sin(\pi x)\cot(\pi x / (2 m))(h + (1-h)\cos(\pi x/m)) & |x| \leq m \\
                              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.

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

Member Typedef Documentation

◆ value_type

template<class T>
typedef T value_type

the kernel's value type

◆ argument_type

template<class T>
typedef T argument_type

the unary functor's argument type

◆ result_type

template<class T>
typedef T result_type

the splines polynomial order

Member Function Documentation

◆ operator()()

template<class T>
result_type operator() ( argument_type x) const

function (functor) call

◆ operator[]()

template<class T>
value_type operator[] ( value_type x) const

index operator – same as operator()

◆ radius()

template<class T>
double radius ( ) const

Radius of the function's support. Needed for resamplingConvolveImage(), equals m.

◆ derivativeOrder()

template<class T>
unsigned int derivativeOrder ( ) const

Derivative order of the function: always 0.

◆ prefilterCoefficients()

template<class T>
ArrayVector< double > const & prefilterCoefficients ( ) const

Prefilter coefficients for compatibility with 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.12.1 (Thu Feb 27 2025)