![]() |
aimsalgo
5.1.2
Neuroimaging image processing
|
Centered and scaled B-Spline function, evaluated at run time. More...
#include <aims/math/bspline.h>
Public Member Functions | |
BSpline (unsigned order=3, float scale=1., bool shifted=false) | |
BSpline (const BSpline &other) | |
virtual | ~BSpline () |
BSpline & | operator= (const BSpline &other) |
virtual void | reset (unsigned order=3, float scale=1., bool shifted=false) |
Set parameters { (Re)set all parameters. More... | |
virtual void | setOrder (unsigned order) |
order More... | |
virtual void | setScale (float scale) |
scale More... | |
virtual void | setShifted (bool shifted) |
shifted More... | |
virtual void | setCentered (bool centered) |
centered More... | |
unsigned | order () const |
Get parameters { spline order. More... | |
float | scale () const |
spline scale More... | |
bool | shifted () const |
is shifted ? More... | |
bool | centered () const |
is centered ? More... | |
virtual double | operator() (double x) const |
Compute value. More... | |
virtual double | at (double x) const |
spline value at point x More... | |
virtual double | derivative (double x, unsigned n=1) const |
n-th derivative of the spline at point x More... | |
virtual const Point2dd & | support () const |
Get the inferior and superior boundaries of the function support (i.e. More... | |
Protected Member Functions | |
double | dO () const |
virtual void | setSupport () |
Protected Attributes | |
unsigned | _order |
float | _scale |
bool | _shift |
Point2dd | _support |
Centered and scaled B-Spline function, evaluated at run time.
Centered B-splines of order n
are recursively evaluated following the formula:
Let m
be the scaling factor, the scaled B-Spline is then equal to
A shifted scaled B-Spline is equal to:
See Unser, Aldroubi & Eden: "B-Spline Signal Processing: Part I - Theory" in IEEE Transactions on Signal Processing (February 1993).
In this implementation, unshifted centered B-Spline are recursively evaluated at value x/m (+ .5).
aims::BSpline::BSpline | ( | unsigned | order = 3 , |
float | scale = 1. , |
||
bool | shifted = false |
||
) |
aims::BSpline::BSpline | ( | const BSpline & | other | ) |
|
virtual |
|
virtual |
spline value at point x
Reimplemented in aims::TabulBSpline, and aims::FastBSpline.
|
inline |
|
virtual |
n-th derivative of the spline at point x
Reimplemented in aims::TabulBSpline, and aims::FastBSpline.
|
inlineprotected |
|
virtual |
Compute value.
|
inline |
|
virtual |
Set parameters { (Re)set all parameters.
Reimplemented in aims::DiscreteBSpline.
|
inline |
|
virtual |
centered
Reimplemented in aims::DiscreteBSpline.
|
virtual |
order
Reimplemented in aims::DiscreteBSpline, and aims::TabulBSpline.
|
virtual |
scale
Reimplemented in aims::DiscreteBSpline.
|
virtual |
shifted
Reimplemented in aims::DiscreteBSpline.
|
protectedvirtual |
Reimplemented in aims::DiscreteBSpline.
|
inline |
|
virtual |
Get the inferior and superior boundaries of the function support (i.e.
the interval on which it is not null). If the order is not zero, boundaries are not included in the support. Else, they are.
|
protected |
|
protected |
|
protected |
Definition at line 200 of file bspline.h.
Referenced by centered(), and shifted().