31#if defined(BinomialConvolver_RECURSES)
32#error Recursive header files inclusion detected in BinomialConvolver.h
35#define BinomialConvolver_RECURSES
37#if !defined BinomialConvolver_h
39#define BinomialConvolver_h
45#include "DGtal/base/Common.h"
46#include "DGtal/math/Signal.h"
72 template <
typename TConstIteratorOnPo
ints,
typename TValue =
double>
79 typedef typename ConstIteratorOnPoints::value_type
Point;
131 const bool isClosed );
150 std::pair<Value,Value>
x(
int i )
const;
158 std::pair<Value,Value>
dx(
int i )
const;
166 std::pair<Value,Value>
d2x(
int i )
const;
174 std::pair<Value,Value>
tangent(
int i )
const;
258 template <
typename TBinomialConvolver,
typename TRealPo
int>
290 template <
typename TBinomialConvolver,
typename TReal>
323 template <
typename TBinomialConvolver,
typename TBinomialConvolverFunctor>
331 typedef typename BinomialConvolverFunctor::Value
Value;
348 const bool isClosed =
true );
359 template <
typename OutputIterator>
362 OutputIterator result );
378 template <
typename TConstIteratorOnPo
ints,
typename TValue >
388#include "DGtal/geometry/curves/BinomialConvolver.ih"
395#undef BinomialConvolver_RECURSES
Aim: This class encapsulates a BinomialConvolver and a functor on BinomialConvolver so as to be a mod...
BinomialConvolverEstimator(unsigned int n=0, const BinomialConvolverFunctor &f=BinomialConvolverFunctor())
TBinomialConvolver BinomialConvolver
OutputIterator eval(const ConstIterator &itb, const ConstIterator &ite, OutputIterator result)
void init(const double h, const ConstIterator &itb, const ConstIterator &ite, const bool isClosed=true)
BinomialConvolver::ConstIteratorOnPoints ConstIteratorOnPoints
TBinomialConvolverFunctor BinomialConvolverFunctor
BinomialConvolverFunctor::Value Value
Quantity eval(const ConstIterator &it)
BinomialConvolverFunctor myFunctor
ConstIteratorOnPoints ConstIterator
Aim: This class represents a 2D contour convolved by some binomial. It computes first and second orde...
ConstIteratorOnPoints::value_type Point
BinomialConvolver & operator=(const BinomialConvolver &other)
static unsigned int suggestedSize(const double h, const ConstIteratorOnPoints &itb, const ConstIteratorOnPoints &ite)
void init(const double h, const ConstIteratorOnPoints &itb, const ConstIteratorOnPoints &ite, const bool isClosed)
std::pair< Value, Value > tangent(int i) const
std::pair< Value, Value > dx(int i) const
std::pair< Value, Value > x(int i) const
BinomialConvolver(const BinomialConvolver &other)
ConstIteratorOnPoints myBegin
Copy of the begin iterator.
BinomialConvolver(unsigned int n=1)
void selfDisplay(std::ostream &out) const
ConstIteratorOnPoints myEnd
Copy of the end iterator.
Value curvature(int i) const
void setSize(unsigned int n)
int index(const ConstIteratorOnPoints &it) const
std::pair< Value, Value > d2x(int i) const
std::map< ConstIteratorOnPoints, int > myMapIt2Idx
unsigned int size() const
TConstIteratorOnPoints ConstIteratorOnPoints
Aim: Represents a discrete signal, periodic or not. The signal can be passed by value since it is onl...
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
Aim: This class is a functor for getting the curvature of a binomial convolver.
Value operator()(const BinomialConvolver &bc, const ConstIteratorOnPoints &it) const
TBinomialConvolver BinomialConvolver
TBinomialConvolver::Value SignalValue
TBinomialConvolver::ConstIteratorOnPoints ConstIteratorOnPoints
Aim: This class is a functor for getting the tangent vector of a binomial convolver.
Value operator()(const BinomialConvolver &bc, const ConstIteratorOnPoints &it) const
TBinomialConvolver::Value SignalValue
TBinomialConvolver::ConstIteratorOnPoints ConstIteratorOnPoints
TBinomialConvolver BinomialConvolver