DGtal  1.0.0
Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Attributes
DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY > Class Template Reference

#include <DGtal/geometry/curves/estimation/LambdaMST3DBy2D.h>

Inheritance diagram for DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >:
[legend]
Collaboration diagram for DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >:
[legend]

Public Types

typedef PointVector< 3, double > RealVector3D
 
typedef PointVector< 3, int > Point3D
 
typedef PointVector< 2, int > Point2D
 
typedef PointVector< 2, double > RealVector2D
 
typedef std::vector< Point2DTCurve2D
 
typedef ArithmeticalDSSComputer< typename TCurve2D::const_iterator, int, CONNECTIVITY > SegmentComputer2D
 
typedef SaturatedSegmentation< SegmentComputer2DSegmentation2D
 
typedef Functor::MAIN_AXIS MAIN_AXIS
 

Public Member Functions

 LambdaMST3DBy2DEstimator ()
 
void init (Iterator3D itB, Iterator3D itE, MAIN_AXIS axis)
 
bool isValid () const
 
RealVector3D eval (const Point3D &point)
 
template<typename OutputIterator >
OutputIterator eval (Iterator3D itb, Iterator3D ite, OutputIterator result)
 

Protected Member Functions

RealVector2D Estimate2DTangent (TCurve2D::const_iterator itb, TCurve2D::const_iterator ite, const Point2D &point)
 
template<typename OutputIterator >
OutputIterator Estimate2DTangent (TCurve2D::const_iterator itb, TCurve2D::const_iterator ite, OutputIterator result)
 

Private Types

typedef LambdaMST2D< Segmentation2D, LambdaFunctor > TEstimator
 
typedef functors::Projector< SpaceND< 2, int > > Projector2d
 

Private Attributes

Iterator3D myBegin
 
Iterator3D myEnd
 
Functor myFunctor
 
MAIN_AXIS myAxis
 
TCurve2D tXY
 
TCurve2D tXZ
 
TCurve2D tYZ
 
Projector2d myProjXY
 projectors More...
 
Projector2d myProjXZ
 
Projector2d myProjYZ
 

Detailed Description

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
class DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >

Aim: Implement 3D Lambda MST tangent estimators. This class is a model of CCurveLocalGeometricEstimator.

Template Parameters
Iterator3Diterator over a sequence of 3D integer points
Functora functor that constructs 3D tangent vector from two 2D projections
LambdaFunctormodel of CLMSTTangentFrom2DSS
CONNECTIVITYconnectivity for the projected curves used by 2D Lambda estimators. Note that, for now this value cannot be set per projection

Definition at line 62 of file LambdaMST3DBy2D.h.

Member Typedef Documentation

◆ MAIN_AXIS

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
typedef Functor::MAIN_AXIS DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::MAIN_AXIS

Definition at line 74 of file LambdaMST3DBy2D.h.

◆ Point2D

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
typedef PointVector< 2, int > DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::Point2D

Definition at line 69 of file LambdaMST3DBy2D.h.

◆ Point3D

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
typedef PointVector< 3, int > DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::Point3D

Definition at line 68 of file LambdaMST3DBy2D.h.

◆ Projector2d

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
typedef functors::Projector< SpaceND < 2, int > > DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::Projector2d
private

Definition at line 79 of file LambdaMST3DBy2D.h.

◆ RealVector2D

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
typedef PointVector< 2, double > DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::RealVector2D

Definition at line 70 of file LambdaMST3DBy2D.h.

◆ RealVector3D

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
typedef PointVector< 3, double > DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::RealVector3D

Definition at line 67 of file LambdaMST3DBy2D.h.

◆ Segmentation2D

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
typedef SaturatedSegmentation< SegmentComputer2D > DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::Segmentation2D

Definition at line 73 of file LambdaMST3DBy2D.h.

◆ SegmentComputer2D

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
typedef ArithmeticalDSSComputer< typename TCurve2D::const_iterator, int, CONNECTIVITY > DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::SegmentComputer2D

Definition at line 72 of file LambdaMST3DBy2D.h.

◆ TCurve2D

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
typedef std::vector< Point2D > DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::TCurve2D

Definition at line 71 of file LambdaMST3DBy2D.h.

◆ TEstimator

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
typedef LambdaMST2D< Segmentation2D, LambdaFunctor > DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::TEstimator
private

Definition at line 78 of file LambdaMST3DBy2D.h.

Constructor & Destructor Documentation

◆ LambdaMST3DBy2DEstimator()

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::LambdaMST3DBy2DEstimator ( )

Member Function Documentation

◆ Estimate2DTangent() [1/2]

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
RealVector2D DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::Estimate2DTangent ( TCurve2D::const_iterator  itb,
TCurve2D::const_iterator  ite,
const Point2D point 
)
protected

◆ Estimate2DTangent() [2/2]

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
template<typename OutputIterator >
OutputIterator DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::Estimate2DTangent ( TCurve2D::const_iterator  itb,
TCurve2D::const_iterator  ite,
OutputIterator  result 
)
protected

◆ eval() [1/2]

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
RealVector3D DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::eval ( const Point3D point)
Parameters
pointto calculate A and B for it
Returns
A and B

◆ eval() [2/2]

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
template<typename OutputIterator >
OutputIterator DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::eval ( Iterator3D  itb,
Iterator3D  ite,
OutputIterator  result 
)
Template Parameters
OutputIteratorwritable iterator. A way to compute tangent for points in a range. NOTE: In contrary to LambdaMST3D::eval() this method is NOT faster than calling eval (const Point &) for each points in a range. In fact, eval ( const Point & ) is internally called.
Parameters
itbbegin iterator
iteend iterator
resultwritable iterator over a container which stores estimated tangent directions.

◆ init()

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
void DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::init ( Iterator3D  itB,
Iterator3D  itE,
MAIN_AXIS  axis 
)

Initialisation.

Parameters
itBbegin iterator
itEend iterator
axisthe main axis of the functional 3D curve

◆ isValid()

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
bool DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::isValid ( ) const

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.

Field Documentation

◆ myAxis

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
MAIN_AXIS DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::myAxis
private

Definition at line 129 of file LambdaMST3DBy2D.h.

◆ myBegin

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
Iterator3D DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::myBegin
private

Definition at line 126 of file LambdaMST3DBy2D.h.

◆ myEnd

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
Iterator3D DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::myEnd
private

Definition at line 127 of file LambdaMST3DBy2D.h.

◆ myFunctor

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
Functor DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::myFunctor
private

Definition at line 128 of file LambdaMST3DBy2D.h.

◆ myProjXY

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
Projector2d DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::myProjXY
private

projectors

Definition at line 132 of file LambdaMST3DBy2D.h.

◆ myProjXZ

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
Projector2d DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::myProjXZ
private

Definition at line 132 of file LambdaMST3DBy2D.h.

◆ myProjYZ

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
Projector2d DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::myProjYZ
private

Definition at line 132 of file LambdaMST3DBy2D.h.

◆ tXY

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
TCurve2D DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::tXY
private

Definition at line 130 of file LambdaMST3DBy2D.h.

◆ tXZ

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
TCurve2D DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::tXZ
private

Definition at line 130 of file LambdaMST3DBy2D.h.

◆ tYZ

template<typename Iterator3D, typename Functor, typename LambdaFunctor, int CONNECTIVITY = 8>
TCurve2D DGtal::LambdaMST3DBy2DEstimator< Iterator3D, Functor, LambdaFunctor, CONNECTIVITY >::tYZ
private

Definition at line 130 of file LambdaMST3DBy2D.h.


The documentation for this class was generated from the following file: