SLIP
1.4
|
Provides some bspline interpolation algorithms. More...
#include <cmath>
#include <limits>
#include "DPoint2d.hpp"
#include "DPoint3d.hpp"
#include "Array.hpp"
#include "Array2d.hpp"
#include "Array3d.hpp"
#include "macros.hpp"
#include "arithmetic_op.hpp"
#include "dynamic.hpp"
Go to the source code of this file.
Namespaces | |
slipalgo | |
Functions | |
BSpline interpolation | |
template<class Array > | |
void | slipalgo::BSplinePoles (const std::size_t degree, Array &Poles) |
BSpline Poles computations based on http://bigwww.epfl.ch/thevenaz/interpolation/. More... | |
template<typename InputIterator > | |
double | slipalgo::BSplineInitialCausalCoefficient (InputIterator infirst, InputIterator inlast, double z, double Tolerance) |
BSpline computation of causal coefficients based on http://bigwww.epfl.ch/thevenaz/interpolation/. More... | |
template<typename InputIterator > | |
double | slipalgo::BSplineInitialAntiCausalCoefficient (InputIterator outlast, const double z) |
BSpline computation of anticausal coefficients based on http://bigwww.epfl.ch/thevenaz/interpolation/. More... | |
template<typename InputIterator , typename OutputIterator , typename InputIterator2 > | |
void | slipalgo::BSplineComputeInterpolationCoefficients (InputIterator infirst, InputIterator inlast, OutputIterator outfirst, InputIterator2 Poles_first, InputIterator2 Poles_last, double Tolerance=std::numeric_limits< double >::epsilon()) |
BSpline computation of coefficients based on http://bigwww.epfl.ch/thevenaz/interpolation/. More... | |
template<typename InputIterator , typename OutputIterator , class Array > | |
void | slipalgo::BSplineComputeInterpolationCoefficients (InputIterator infirst, InputIterator inlast, OutputIterator outfirst, const Array &Poles, double Tolerance) |
BSpline computation of coefficients based on http://bigwww.epfl.ch/thevenaz/interpolation/. More... | |
template<typename RandomAccessIterator > | |
void | slipalgo::BSplineComputeInterpolationIndexes (const std::size_t spline_degree, double x, RandomAccessIterator index_first, RandomAccessIterator index_last) |
Computes the bspline interpolations indices. based on http://bigwww.epfl.ch/thevenaz/interpolation/. More... | |
template<typename RandomAccessIterator , typename Array > | |
void | slipalgo::BSplineComputeInterpolationWeights (const std::size_t spline_degree, double x, RandomAccessIterator index_first, RandomAccessIterator index_last, Array &Weights) |
Computes the bspline interpolations weights. based on http://bigwww.epfl.ch/thevenaz/interpolation/. More... | |
template<class RandomAccessIterator > | |
double | slipalgo::BSplineInterpolatedValue (RandomAccessIterator coef_first, RandomAccessIterator coef_last, double x, std::size_t SplineDegree) |
BSpline interpolation from the interpolation coefficients. based on http://bigwww.epfl.ch/thevenaz/interpolation/. More... | |
template<typename RandomAccessIterator2d1 , typename RandomAccessIterator2d2 > | |
void | slipalgo::BSplineSamplesToCoefficients2d (RandomAccessIterator2d1 in_up, RandomAccessIterator2d1 in_bot, const std::size_t degree, RandomAccessIterator2d2 out_up, RandomAccessIterator2d2 out_bot, const double tolerance=std::numeric_limits< double >::epsilon()) |
Convert a 2d samples range to a 2d bspline coefficients range. More... | |
template<class Matrix1 , class Matrix2 > | |
void | slipalgo::BSplineSamplesToCoefficients (const std::size_t degree, const Matrix1 &input, Matrix2 &output) |
BSpline computation of coefficients for 2D container based on http://bigwww.epfl.ch/thevenaz/interpolation/. More... | |
template<typename RandomAccessIterator3d1 , typename RandomAccessIterator3d2 > | |
void | slipalgo::BSplineSamplesToCoefficients3d (RandomAccessIterator3d1 in_fup, RandomAccessIterator3d1 in_bbot, const std::size_t degree, RandomAccessIterator3d2 out_fup, RandomAccessIterator3d2 out_bbot, const double tolerance=std::numeric_limits< double >::epsilon()) |
Convert a 3d samples range to a 3d bspline coefficients range. More... | |
template<typename RandomAccessIterator2d > | |
double | slipalgo::BSplineInterpolatedValue (RandomAccessIterator2d Bcoeff_up, RandomAccessIterator2d Bcoeff_bot, double x, double y, std::size_t SplineDegree) |
Computes the 2d BSpline interpolation from 2d bspline interpolation coefficients. More... | |
template<class Matrix1 > | |
double | slipalgo::BSplineInterpolatedValue (Matrix1 &Bcoeff, double x, double y, std::size_t SplineDegree) |
Computes the 2d BSpline interpolation from 2d bspline interpolation coefficients. More... | |
template<class Container3d > | |
double | slipalgo::BSplineInterpolatedValue (Container3d &Bcoeff, double x, double y, double z, std::size_t SplineDegree) |
Computes the 3d BSpline interpolation from 3d bspline interpolation coefficients. More... | |
template<typename RandomAccessIterator3d > | |
double | slipalgo::BSplineInterpolatedValue (RandomAccessIterator3d Bcoeff_fup, RandomAccessIterator3d Bcoeff_bbot, double x, double y, double z, std::size_t SplineDegree) |
Computes the 3d BSpline interpolation from 3d bspline interpolation coefficients. More... | |
template<typename RandomAccessIterator1 , typename RandomAccessIterator2 > | |
void | slipalgo::bspline_resampling_1d (RandomAccessIterator1 in_first, RandomAccessIterator1 in_last, const std::size_t spline_degree, RandomAccessIterator2 out_first, RandomAccessIterator2 out_last) |
Resample a range using bspline interpolation. More... | |
template<typename RandomAccessIterator2d1 , typename RandomAccessIterator2d2 > | |
void | slipalgo::bspline_resampling_2d (RandomAccessIterator2d1 in_up, RandomAccessIterator2d1 in_bot, const std::size_t spline_degree, RandomAccessIterator2d2 out_up, RandomAccessIterator2d2 out_bot) |
Resample a 2d range using bspline interpolation. More... | |
template<typename RandomAccessIterator3d1 , typename RandomAccessIterator3d2 > | |
void | slipalgo::bspline_resampling_3d (RandomAccessIterator3d1 in_fup, RandomAccessIterator3d1 in_bbot, const std::size_t spline_degree, RandomAccessIterator3d2 out_fup, RandomAccessIterator3d2 out_bbot) |
Resample a 3d range using bspline interpolation. More... | |
template<class GrayScaleImage > | |
void | slipalgo::BSplineGeometricTransformation (const GrayScaleImage &InputImage, GrayScaleImage &OutputImage, const int SplineDegree=3, const double OriginX=0.0, const double OriginY=0.0, const double Angle=0.0, const double ShiftX=0.0, const double ShiftY=0.0, const bool Masking=true) |
BSpline computation of a geometric transformation. based on http://bigwww.epfl.ch/thevenaz/interpolation/. More... | |
Provides some bspline interpolation algorithms.
Definition in file bspline_interpolation.hpp.