Aim: Simplify creation of Lambda MST tangent estimator. More...
#include <DGtal/geometry/curves/estimation/LambdaMST3D.h>
Public Member Functions | |
LambdaMST3D () | |
![]() | |
BOOST_CONCEPT_ASSERT ((concepts::CSpace< TSpace >)) | |
BOOST_STATIC_ASSERT ((TSpace::dimension==3)) | |
BOOST_CONCEPT_ASSERT ((concepts::CLMSTTangentFromDSS< Functor >)) | |
BOOST_CONCEPT_ASSERT ((concepts::CLMSTDSSFilter< DSSFilter >)) | |
BOOST_CONCEPT_ASSERT ((concepts::CForwardSegmentComputer< typename TSegmentation::SegmentComputer >)) | |
LambdaMST3DEstimator () | |
Default constructor. | |
void | init (ConstIterator itb, ConstIterator ite) |
void | attach (Alias< TSegmentation > segmentComputer) |
bool | isValid () const |
RealVector | eval (const Point &p) |
template<typename OutputIterator > | |
OutputIterator | eval (ConstIterator itb, ConstIterator ite, OutputIterator result) |
DSSFilter & | getDSSFilter () |
Private Types | |
typedef LambdaMST3DEstimator< Z3i::Space, DSSSegmentationComputer, TangentFromDSS3DFunctor< typename DSSSegmentationComputer::SegmentComputer, LambdaFunction >, DSSFilter > | Super |
Additional Inherited Members | |
![]() | |
typedef TSegmentation | Segmentation |
Tangential cover algorithm. | |
typedef TSegmentation::SegmentComputer | SegmentComputer |
Curve segmentation algorithm. | |
typedef SegmentComputer::ConstIterator | ConstIterator |
Type of iterator, at least readable and forward. | |
typedef Functor::Value | Value |
Type returned by model of CLMSTTangentFrom2DSS. | |
typedef TSpace::RealVector | RealVector |
Type of 3d real vector. | |
typedef TSpace::Point | Point |
Type of 3d real point. | |
![]() | |
typedef std::vector< SegmentComputer >::const_iterator | OrphanDSSIterator |
![]() | |
template<typename OutputIterator > | |
void | accumulate (std::multimap< Point, Value > &outValues, ConstIterator itb, ConstIterator ite, OutputIterator &result) |
Accumulate partial results obtained for each point. In 3D it can happen that DSSs' direction vectors over same point are opposite. To avoid this problem we measure angle between segments' direction vectors and if this angle is bigger than \pi/2, then one of the vectors is reversed. Finally, tangent direction is estimated and stored. | |
Value | treatOrphan (OrphanDSSIterator begin, OrphanDSSIterator end, const Point &p) |
Use the DSS filter defined conditions to ensure estimation over not covered points - orphans. | |
template<typename DSSesIterator , typename OrphanIterator > | |
void | treatOrphans (DSSesIterator begin, DSSesIterator end, OrphanIterator obegin, OrphanIterator oend, std::multimap< Point, Value > &outValues) |
Aim: Simplify creation of Lambda MST tangent estimator.
DSSSegmentationComputer | tangential cover obtained by segmentation of a 2D digital curve by maximal straight segments |
LambdaFunction | Lambda functor |
DSSFilter | a functor used for filtering out DSSes which do not fullfil a given condition e.g., they are too short |
Definition at line 209 of file LambdaMST3D.h.
|
private |
Definition at line 215 of file LambdaMST3D.h.
|
inline |
Default Constructor.
Definition at line 221 of file LambdaMST3D.h.