29#if defined(LAMBDAMST3DBy2D_RECURSES)
30#error Recursive header files inclusion detected in LambdaMST3DBy2D.h
33#define LAMBDAMST3DBy2D_RECURSES
35#if !defined LAMBDAMST3DBy2D_h
37#define LAMBDAMST3DBy2D_h
43#include <DGtal/base/Common.h>
44#include <DGtal/helpers/StdDefs.h>
45#include "DGtal/kernel/CSpace.h"
46#include "DGtal/kernel/PointVector.h"
47#include "DGtal/kernel/BasicPointFunctors.h"
48#include "DGtal/geometry/curves/estimation/LambdaMST2D.h"
49#include "DGtal/geometry/curves/ArithmeticalDSSComputer.h"
50#include "DGtal/geometry/curves/SaturatedSegmentation.h"
61 template <
typename Iterator3D,
typename Functor,
typename LambdaFunctor,
int CONNECTIVITY = 8 >
72 typedef ArithmeticalDSSComputer < typename TCurve2D::const_iterator, int, CONNECTIVITY >
SegmentComputer2D;
78 typedef LambdaMST2D < Segmentation2D, LambdaFunctor >
TEstimator;
79 typedef functors::Projector < SpaceND < 2, int > >
Projector2d;
114 template <
typename OutputIterator>
115 OutputIterator
eval ( Iterator3D itb, Iterator3D ite, OutputIterator result );
121 template <
typename OutputIterator >
122 OutputIterator
Estimate2DTangent ( TCurve2D::const_iterator itb, TCurve2D::const_iterator ite, OutputIterator result );
160 typedef LambdaMST3DBy2DEstimator < Iterator3D, TangentFromDSS3DBy2DFunctor, LambdaFunctor, CONNECTIVITY >
Super;
172#include "DGtal/geometry/curves/estimation/LambdaMST3DBy2D.ih"
179#undef LAMBDAMST3DBy2D_RECURSES
OutputIterator eval(Iterator3D itb, Iterator3D ite, OutputIterator result)
OutputIterator Estimate2DTangent(TCurve2D::const_iterator itb, TCurve2D::const_iterator ite, OutputIterator result)
Projector2d myProjXY
projectors
PointVector< 2, double > RealVector2D
LambdaMST3DBy2DEstimator()
Functor::MAIN_AXIS MAIN_AXIS
PointVector< 2, int > Point2D
SaturatedSegmentation< SegmentComputer2D > Segmentation2D
PointVector< 3, int > Point3D
void init(Iterator3D itB, Iterator3D itE, MAIN_AXIS axis)
PointVector< 3, double > RealVector3D
RealVector3D eval(const Point3D &point)
LambdaMST2D< Segmentation2D, LambdaFunctor > TEstimator
std::vector< Point2D > TCurve2D
RealVector2D Estimate2DTangent(TCurve2D::const_iterator itb, TCurve2D::const_iterator ite, const Point2D &point)
ArithmeticalDSSComputer< typename TCurve2D::const_iterator, int, CONNECTIVITY > SegmentComputer2D
functors::Projector< SpaceND< 2, int > > Projector2d
Aim: Simplify creation of Lambda MST tangent estimator.
LambdaMST3DBy2DEstimator< Iterator3D, TangentFromDSS3DBy2DFunctor, LambdaFunctor, CONNECTIVITY > Super
PointVector< 2, double > Vector2D
PointVector< 3, double > Vector3D
Vector3D operator()(MAIN_AXIS mainAxis, const Vector2D &v0, const Vector2D &v1) const
DGtal is the top-level namespace which contains all DGtal functions and types.
InHalfPlaneBySimple3x3Matrix< Point, double > Functor