DGtal  0.9.3beta
Public Types | Public Member Functions | Private Member Functions | Private Attributes
DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator > Class Template Reference

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

Public Types

typedef SegmentComputer::ConstIterator ConstIterator
 
typedef SCEstimator::Quantity Quantity
 
typedef SaturatedSegmentation< SegmentComputer > Segmentation
 
typedef Segmentation::SegmentComputerIterator SegmentIterator
 

Public Member Functions

 MostCenteredMaximalSegmentEstimator ()
 
 MostCenteredMaximalSegmentEstimator (const SegmentComputer &aSegmentComputer, const SCEstimator &aSCEstimator)
 
 ~MostCenteredMaximalSegmentEstimator ()
 
void init (const double h, const ConstIterator &itb, const ConstIterator &ite)
 
Quantity eval (const ConstIterator &it)
 
template<typename OutputIterator >
OutputIterator eval (const ConstIterator &itb, const ConstIterator &ite, OutputIterator result)
 
bool isValid () const
 

Private Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CForwardSegmentComputer< SegmentComputer >))
 
 BOOST_CONCEPT_ASSERT ((concepts::CSegmentComputerEstimator< SCEstimator >))
 
 BOOST_STATIC_ASSERT ((boost::is_same< SegmentComputer, typename SCEstimator::SegmentComputer >::value))
 
template<typename OutputIterator >
OutputIterator endEval (const ConstIterator &itb, const ConstIterator &ite, ConstIterator &itCurrent, SegmentIterator &first, SegmentIterator &last, OutputIterator result)
 
template<typename OutputIterator >
OutputIterator endEval (const ConstIterator &, const ConstIterator &ite, ConstIterator &itCurrent, SegmentIterator &, SegmentIterator &last, OutputIterator result, IteratorType)
 
template<typename OutputIterator >
OutputIterator endEval (const ConstIterator &itb, const ConstIterator &ite, ConstIterator &itCurrent, SegmentIterator &first, SegmentIterator &last, OutputIterator result, CirculatorType)
 
 MostCenteredMaximalSegmentEstimator (const MostCenteredMaximalSegmentEstimator &other)
 
MostCenteredMaximalSegmentEstimatoroperator= (const MostCenteredMaximalSegmentEstimator &other)
 

Private Attributes

double myH
 
ConstIterator myBegin
 
ConstIterator myEnd
 
SegmentComputer mySC
 
SCEstimator mySCEstimator
 

Detailed Description

template<typename SegmentComputer, typename SCEstimator>
class DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >

Aim: A model of CLocalCurveGeometricEstimator that assigns to each element of a (sub)range a quantity estimated from the most centered maximal segment passing through this element.

Description of template class 'MostCenteredMaximalSegmentEstimator'

Here is a basic example of curvature estimation:

Examples:
geometry/curves/estimation/exampleCurvature.cpp.

Definition at line 83 of file MostCenteredMaximalSegmentEstimator.h.

Member Typedef Documentation

template<typename SegmentComputer , typename SCEstimator >
typedef SegmentComputer::ConstIterator DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::ConstIterator

Definition at line 94 of file MostCenteredMaximalSegmentEstimator.h.

template<typename SegmentComputer , typename SCEstimator >
typedef SCEstimator::Quantity DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::Quantity

Definition at line 95 of file MostCenteredMaximalSegmentEstimator.h.

template<typename SegmentComputer , typename SCEstimator >
typedef SaturatedSegmentation<SegmentComputer> DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::Segmentation

Definition at line 97 of file MostCenteredMaximalSegmentEstimator.h.

template<typename SegmentComputer , typename SCEstimator >
typedef Segmentation::SegmentComputerIterator DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::SegmentIterator

Definition at line 98 of file MostCenteredMaximalSegmentEstimator.h.

Constructor & Destructor Documentation

template<typename SegmentComputer , typename SCEstimator >
DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::MostCenteredMaximalSegmentEstimator ( )

Default constructor. Not valid.

template<typename SegmentComputer , typename SCEstimator >
DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::MostCenteredMaximalSegmentEstimator ( const SegmentComputer &  aSegmentComputer,
const SCEstimator &  aSCEstimator 
)

Constructor.

Parameters
aSegmentComputera segment computer
aSCEstimatoran estimator
template<typename SegmentComputer , typename SCEstimator >
DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::~MostCenteredMaximalSegmentEstimator ( )
inline

Destructor.

Definition at line 119 of file MostCenteredMaximalSegmentEstimator.h.

119 {};
template<typename SegmentComputer , typename SCEstimator >
DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::MostCenteredMaximalSegmentEstimator ( const MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator > &  other)
private

Copy constructor.

Parameters
otherthe object to clone. Forbidden by default.

Member Function Documentation

template<typename SegmentComputer , typename SCEstimator >
DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::BOOST_CONCEPT_ASSERT ( (concepts::CForwardSegmentComputer< SegmentComputer >)  )
private
template<typename SegmentComputer , typename SCEstimator >
DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::BOOST_CONCEPT_ASSERT ( (concepts::CSegmentComputerEstimator< SCEstimator >)  )
private
template<typename SegmentComputer , typename SCEstimator >
DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::BOOST_STATIC_ASSERT ( (boost::is_same< SegmentComputer, typename SCEstimator::SegmentComputer >::value)  )
private
template<typename SegmentComputer , typename SCEstimator >
template<typename OutputIterator >
OutputIterator DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::endEval ( const ConstIterator itb,
const ConstIterator ite,
ConstIterator itCurrent,
SegmentIterator first,
SegmentIterator last,
OutputIterator  result 
)
private

Specialization of the end of the algorithm

Parameters
itbsubrange begin iterator
itesubrange end iterator
itCurrentcurrent iterator
firstiterator on the first maximal segment
lastiterator on the last maximal segment
resultoutput iterator on the estimated quantity
Returns
the estimated quantity from itCurrent till ite (excluded) NB: O(n)
template<typename SegmentComputer , typename SCEstimator >
template<typename OutputIterator >
OutputIterator DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::endEval ( const ConstIterator ,
const ConstIterator ite,
ConstIterator itCurrent,
SegmentIterator ,
SegmentIterator last,
OutputIterator  result,
IteratorType   
)
private
template<typename SegmentComputer , typename SCEstimator >
template<typename OutputIterator >
OutputIterator DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::endEval ( const ConstIterator itb,
const ConstIterator ite,
ConstIterator itCurrent,
SegmentIterator first,
SegmentIterator last,
OutputIterator  result,
CirculatorType   
)
private
template<typename SegmentComputer , typename SCEstimator >
Quantity DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::eval ( const ConstIterator it)

Unique estimation

Parameters
itany valid iterator
Returns
the estimated quantity at *it

NB: the whole range [myBegin , myEnd)| is scanned in the worst case

template<typename SegmentComputer , typename SCEstimator >
template<typename OutputIterator >
OutputIterator DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::eval ( const ConstIterator itb,
const ConstIterator ite,
OutputIterator  result 
)

Estimation for a subrange [itb , ite )

Parameters
itbsubrange begin iterator
itesubrange end iterator
resultoutput iterator on the estimated quantity
Returns
the estimated quantity from itb till ite (excluded)

NB: the whole range [myBegin , myEnd)| is scanned in the worst case

template<typename SegmentComputer , typename SCEstimator >
void DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::init ( const double  h,
const ConstIterator itb,
const ConstIterator ite 
)

Initialisation.

Parameters
hgrid size (must be >0).
itbbegin iterator
iteend iterator
template<typename SegmentComputer , typename SCEstimator >
bool DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::isValid ( ) const

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.
template<typename SegmentComputer , typename SCEstimator >
MostCenteredMaximalSegmentEstimator& DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::operator= ( const MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator > &  other)
private

Assignment.

Parameters
otherthe object to copy.
Returns
a reference on 'this'. Forbidden by default.

Field Documentation

template<typename SegmentComputer , typename SCEstimator >
ConstIterator DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::myBegin
private

begin and end iterators

Definition at line 176 of file MostCenteredMaximalSegmentEstimator.h.

template<typename SegmentComputer , typename SCEstimator >
ConstIterator DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::myEnd
private

Definition at line 176 of file MostCenteredMaximalSegmentEstimator.h.

template<typename SegmentComputer , typename SCEstimator >
double DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::myH
private

grid step

Definition at line 173 of file MostCenteredMaximalSegmentEstimator.h.

template<typename SegmentComputer , typename SCEstimator >
SegmentComputer DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::mySC
private

segmentComputer used to segment

Definition at line 179 of file MostCenteredMaximalSegmentEstimator.h.

template<typename SegmentComputer , typename SCEstimator >
SCEstimator DGtal::MostCenteredMaximalSegmentEstimator< SegmentComputer, SCEstimator >::mySCEstimator
private

object estimating the quantity from segmentComputer

Definition at line 182 of file MostCenteredMaximalSegmentEstimator.h.


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