00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef SPLINE_UTILITIES_H
00010 #define SPLINE_UTILITIES_H
00011
00012 #include <spline/Bspline.hpp>
00013 #include <spline/PeriodicBspline.hpp>
00014
00015 namespace imaging
00016 {
00022 void basis_spline(size_t i, Bspline<float_t> & spline);
00023
00028 void basis_spline(size_t i, PeriodicBspline<float_t> & spline);
00029
00048 void interpolation_matrix(const Bspline<float_t> & spline, const ublas::vector<float_t> & values, ublas::compressed_matrix< float_t > & matrix);
00049
00068 void interpolation_matrix(const PeriodicBspline<float_t> & spline, const ublas::vector<float_t> & values, ublas::compressed_matrix< float_t > & matrix);
00069
00088 void basis_spline_matrix(const PeriodicBspline<float_t> & spline, const ublas::vector<float_t> & values, ublas::compressed_matrix< float_t > & matrix);
00089
00108 void basis_spline_matrix(const Bspline<float_t> & spline, const ublas::vector<float_t> & values, ublas::compressed_matrix< float_t > & matrix);
00109
00111 namespace spline_utilities_impl
00112 {
00113 template <class spline_t>
00114 void basis_spline(size_t i, spline_t & spline);
00115
00116 template <class spline_t>
00117 void interpolation_matrix(const spline_t & spline, const ublas::vector<float_t> & values, ublas::compressed_matrix< float_t > & matrix);
00118
00119 template <class spline_t>
00120 void basis_spline_matrix(const spline_t & spline, const ublas::vector<float_t> & values, ublas::compressed_matrix< float_t > & matrix);
00121 }
00123 }
00124
00125
00126 #endif