#include <PeriodicBspline.hpp>

Public Member Functions | |
| PeriodicBspline (const PeriodicBspline &source) | |
| PeriodicBspline (size_t spline_order, size_t n_coefficients) | |
| const PeriodicBspline & | operator= (const PeriodicBspline &rhs) |
| size_t | spline_order () const |
| float_t | knot (size_t i) const |
| float_t | first_knot () const |
| float_t | last_knot () const |
| void | set_knot (size_t i, float_t value) |
| void | set_coefficient (size_t i, const DATA_t &value) |
| const DATA_t & | coefficient (size_t i) const |
| void | resize (size_t spline_order, size_t n_coefficients) |
| size_t | n_coefficients () const |
| size_t | n_knots () const |
| DATA_t | operator() (float_t t, DATA_t &first_derivative) const |
| DATA_t | operator() (float_t t) const |
| DATA_t | operator() (float_t t, DATA_t &first_derivative, DATA_t &second_derivative) const |
| void | regular_knots (float_t x_0, float_t x_1) |
| bool | is_in_basis_spline_support (size_t i, float_t t) const |
This class template implements a periodic B-Spline of spline arbitrary order. For template parameter DATA_t vector space operations (scalar multiplication, addition) and explicit construction from a float value must be implemented. Instantiating this class for 2-dimensional vectors creates a closed B-Spline curve.
The last knot of a periodic B-spline is identified with the first one, i.e. the number of knots equals the number of coefficients plus 1. E.g. the knot vector [1, 2, 3, 4] corresponds to an equilateral "knot triangle".
| imaging::PeriodicBspline< DATA_t >::PeriodicBspline | ( | const PeriodicBspline< DATA_t > & | source | ) | [inline] |
Copy constructor.
| imaging::PeriodicBspline< DATA_t >::PeriodicBspline | ( | size_t | spline_order, | |
| size_t | n_coefficients | |||
| ) | [inline] |
Construct a periodic B-Spline of spline_order with n_coefficients. The number of knots is then the number of coefficients plus 1.
| const PeriodicBspline& imaging::PeriodicBspline< DATA_t >::operator= | ( | const PeriodicBspline< DATA_t > & | rhs | ) | [inline] |
Copy assignement.
| size_t imaging::PeriodicBspline< DATA_t >::spline_order | ( | ) | const [inline] |
Returns the spline order.
Reimplemented from imaging::Bspline< DATA_t >.
Referenced by imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::is_in_basis_spline_support().
| float_t imaging::PeriodicBspline< DATA_t >::knot | ( | size_t | i | ) | const [inline] |
Returns the i-th knot.
Reimplemented from imaging::Bspline< DATA_t >.
Referenced by imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::is_in_basis_spline_support(), and imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::set_knot().
| float_t imaging::PeriodicBspline< DATA_t >::first_knot | ( | ) | const [inline] |
Returns the first knot.
Reimplemented from imaging::Bspline< DATA_t >.
| float_t imaging::PeriodicBspline< DATA_t >::last_knot | ( | ) | const [inline] |
Returns the last knot.
Reimplemented from imaging::Bspline< DATA_t >.
| void imaging::PeriodicBspline< DATA_t >::set_knot | ( | size_t | i, | |
| float_t | value | |||
| ) | [inline] |
Sets the i-th knot to value.
Reimplemented from imaging::Bspline< DATA_t >.
Referenced by imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::regular_knots().
| void imaging::PeriodicBspline< DATA_t >::set_coefficient | ( | size_t | i, | |
| const DATA_t & | value | |||
| ) | [inline] |
Sets the i-th coefficient to value.
Reimplemented from imaging::Bspline< DATA_t >.
| const DATA_t& imaging::PeriodicBspline< DATA_t >::coefficient | ( | size_t | i | ) | const [inline] |
Returns the i-th coefficient.
Reimplemented from imaging::Bspline< DATA_t >.
| void imaging::PeriodicBspline< DATA_t >::resize | ( | size_t | spline_order, | |
| size_t | n_coefficients | |||
| ) | [inline] |
Sets the order of the B-Spline to spline_order and its number of coefficients to n_coefficients.
Reimplemented from imaging::Bspline< DATA_t >.
Referenced by imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::PeriodicBspline().
| size_t imaging::PeriodicBspline< DATA_t >::n_coefficients | ( | ) | const [inline] |
Returns the number of coefficients of the B-Spline.
Reimplemented from imaging::Bspline< DATA_t >.
Referenced by imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::n_knots(), imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::regular_knots(), and imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::set_coefficient().
| size_t imaging::PeriodicBspline< DATA_t >::n_knots | ( | ) | const [inline] |
Returns the number of knots of the B-Spline. This is the number of coefficients plus 1.
Reimplemented from imaging::Bspline< DATA_t >.
Referenced by imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::is_in_basis_spline_support(), imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::regular_knots(), and imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::set_knot().
| DATA_t imaging::PeriodicBspline< DATA_t >::operator() | ( | float_t | t, | |
| DATA_t & | first_derivative | |||
| ) | const [inline] |
Evaluates the B-Spline at t and computes its first_derivative at t. If t is outside the spline support, first_derivative is set to 0 and 0 is returned.
Reimplemented from imaging::Bspline< DATA_t >.
Referenced by imaging::PeriodicBspline< boost::numeric::ublas::fixed_vector< double, 2 > >::operator()().
| DATA_t imaging::PeriodicBspline< DATA_t >::operator() | ( | float_t | t | ) | const [inline] |
Evaluates the B-Spline at t. If t is outside the spline support, 0 is returned.
Reimplemented from imaging::Bspline< DATA_t >.
| DATA_t imaging::PeriodicBspline< DATA_t >::operator() | ( | float_t | t, | |
| DATA_t & | first_derivative, | |||
| DATA_t & | second_derivative | |||
| ) | const [inline] |
Evaluates the B-Spline at t and computes its first_derivative and second_derivative at t. If t is outside the spline support, first_derivative and second_derivative are set to 0 and 0 is returned.
Reimplemented from imaging::Bspline< DATA_t >.
| void imaging::PeriodicBspline< DATA_t >::regular_knots | ( | float_t | x_0, | |
| float_t | x_1 | |||
| ) | [inline] |
Initializes the knots of the B-Spline to be equally distributed between x_0 and x_1.
Reimplemented from imaging::Bspline< DATA_t >.
| bool imaging::PeriodicBspline< DATA_t >::is_in_basis_spline_support | ( | size_t | i, | |
| float_t | t | |||
| ) | const [inline] |
Returns true if t is in the support of the i-th basis spline defined by the current knots of this spline.
Reimplemented from imaging::Bspline< DATA_t >.
1.5.5