Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
Slam_CurvedPolygon::OBJCTXT< _DOF6 > Class Template Reference

#include <objctxt.h>

List of all members.

Classes

class  CtxtBB
struct  SCOR
struct  SCOR_MEMBER

Public Types

typedef
Slam_CurvedPolygon::OBJCTXT::CtxtBB 
BB
typedef _DOF6 DOF6
typedef
Slam_CurvedPolygon::Object
< DOF6
OBJECT
typedef boost::shared_ptr
< OBJCTXT
Ptr

Public Member Functions

void clear ()
OBJCTXT::Ptr clone () const
bool empty () const
const BBgetBoundingBox () const
size_t getFramesProcessed () const
size_t getNumObjs () const
const std::vector< typename
OBJECT::Ptr > & 
getObjs () const
bool merge (const OBJCTXT &ctxt, const DOF6 &tf, std::map< typename OBJECT::Ptr, bool > &used, const BoundingBox::TransformedFoVBB &fov, const bool only_merge)
 OBJCTXT ()
void operator+= (typename OBJECT::Ptr obj)
void operator+= (const OBJCTXT &o)
bool registration (const OBJCTXT &ctxt, DOF6 &tf, typename DOF6::TYPE &probability_success_rate, typename DOF6::TYPE &probability_error_rate)
OBJCTXTtransform (const DOF6 &tf)
void update ()
 update all properties: 1. filter 2. bounding box

Private Member Functions

DOF6::TYPE check_assumption (typename SCOR_MEMBER::Ptr m1, typename SCOR_MEMBER::Ptr m2) const
void filter ()
 remove "noise" like seldom seend objects
void findCorrespondences1 (const OBJCTXT &ctxt, std::list< SCOR > &cors, const DOF6 &tf) const
void findCorrespondences3 (const OBJCTXT &ctxt, std::vector< SCOR > &cors, const DOF6 &tf)
DOF6 optimizeLink1 (const DOF6 &tf, std::list< SCOR > &cors, const typename DOF6::TYPE &thr_rot, const typename DOF6::TYPE &thr_tr, const Eigen::Matrix3f &rot, const Eigen::Vector3f &tr, const int depth=0) const
DOF6 optimizeLink2 (const DOF6 &tf, std::list< SCOR > &cors, const typename DOF6::TYPE &thr_rot, const typename DOF6::TYPE &thr_tr, const Eigen::Matrix3f &rot, const Eigen::Vector3f &tr, const int depth=0) const
DOF6 optimizeLink3 (const OBJCTXT &ctxt, std::vector< SCOR > &cors, const DOF6 &tf, const typename DOF6::TYPE &thr_rot, const typename DOF6::TYPE &thr_tr, const Eigen::Matrix3f &rot, const Eigen::Vector3f &tr, const int depth=0) const
void updateBB ()
 update the bounding box (pyramid)

Private Attributes

BB bb_
bool enabled_all_merge_
 allows fast intersection tests
size_t frames_
std::map< typename OBJECT::Ptr,
std::vector< size_t > > 
map_cors_
 remeber successfully used correspondences from registration for merging
std::vector< typename OBJECT::Ptrobjs_
std::vector< SCORused_cors_

Detailed Description

template<typename _DOF6>
class Slam_CurvedPolygon::OBJCTXT< _DOF6 >

Definition at line 76 of file curved_polygons/objctxt.h.


Member Typedef Documentation

template<typename _DOF6 >
typedef Slam_CurvedPolygon::OBJCTXT::CtxtBB Slam_CurvedPolygon::OBJCTXT< _DOF6 >::BB
template<typename _DOF6 >
typedef _DOF6 Slam_CurvedPolygon::OBJCTXT< _DOF6 >::DOF6

Definition at line 80 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
typedef Slam_CurvedPolygon::Object<DOF6> Slam_CurvedPolygon::OBJCTXT< _DOF6 >::OBJECT

Definition at line 81 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
typedef boost::shared_ptr<OBJCTXT> Slam_CurvedPolygon::OBJCTXT< _DOF6 >::Ptr

Definition at line 79 of file curved_polygons/objctxt.h.


Constructor & Destructor Documentation

template<typename _DOF6 >
Slam_CurvedPolygon::OBJCTXT< _DOF6 >::OBJCTXT ( ) [inline]

Definition at line 179 of file curved_polygons/objctxt.h.


Member Function Documentation

template<typename _DOF6 >
_DOF6::TYPE Slam_CurvedPolygon::OBJCTXT< _DOF6 >::check_assumption ( typename SCOR_MEMBER::Ptr  m1,
typename SCOR_MEMBER::Ptr  m2 
) const [private]

Definition at line 63 of file registration.hpp.

template<typename _DOF6 >
void Slam_CurvedPolygon::OBJCTXT< _DOF6 >::clear ( ) [inline]

Definition at line 194 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
OBJCTXT< _DOF6 >::Ptr Slam_CurvedPolygon::OBJCTXT< _DOF6 >::clone ( ) const

Definition at line 346 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
bool Slam_CurvedPolygon::OBJCTXT< _DOF6 >::empty ( ) const [inline]

Definition at line 211 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
void Slam_CurvedPolygon::OBJCTXT< _DOF6 >::filter ( ) [private]

remove "noise" like seldom seend objects

Definition at line 321 of file objctxt.hpp.

template<typename _DOF6 >
void Slam_CurvedPolygon::OBJCTXT< _DOF6 >::findCorrespondences1 ( const OBJCTXT< _DOF6 > &  ctxt,
std::list< SCOR > &  cors,
const DOF6 tf 
) const [private]

find correspondences for objects

  • search overlapping areas
  • search by similarity score

Definition at line 112 of file registration.hpp.

template<typename _DOF6 >
void Slam_CurvedPolygon::OBJCTXT< _DOF6 >::findCorrespondences3 ( const OBJCTXT< _DOF6 > &  ctxt,
std::vector< SCOR > &  cors,
const DOF6 tf 
) [private]

Definition at line 580 of file registration.hpp.

template<typename _DOF6 >
const BB& Slam_CurvedPolygon::OBJCTXT< _DOF6 >::getBoundingBox ( ) const [inline]

Definition at line 209 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
size_t Slam_CurvedPolygon::OBJCTXT< _DOF6 >::getFramesProcessed ( ) const [inline]

Definition at line 207 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
size_t Slam_CurvedPolygon::OBJCTXT< _DOF6 >::getNumObjs ( ) const [inline]

Definition at line 203 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
const std::vector<typename OBJECT::Ptr>& Slam_CurvedPolygon::OBJCTXT< _DOF6 >::getObjs ( ) const [inline]

Definition at line 205 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
bool Slam_CurvedPolygon::OBJCTXT< _DOF6 >::merge ( const OBJCTXT< _DOF6 > &  ctxt,
const DOF6 tf,
std::map< typename OBJECT::Ptr, bool > &  used,
const BoundingBox::TransformedFoVBB fov,
const bool  only_merge 
)

Definition at line 120 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
void Slam_CurvedPolygon::OBJCTXT< _DOF6 >::operator+= ( typename OBJECT::Ptr  obj) [inline]

Definition at line 182 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
void Slam_CurvedPolygon::OBJCTXT< _DOF6 >::operator+= ( const OBJCTXT< _DOF6 > &  o) [inline]

Definition at line 188 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
_DOF6 Slam_CurvedPolygon::OBJCTXT< _DOF6 >::optimizeLink1 ( const DOF6 tf,
std::list< SCOR > &  cors,
const typename DOF6::TYPE &  thr_rot,
const typename DOF6::TYPE &  thr_tr,
const Eigen::Matrix3f &  rot,
const Eigen::Vector3f &  tr,
const int  depth = 0 
) const [private]

optimize link 1

  • remove non matching correspondences recursively
  • takes all correspondences in account

Definition at line 239 of file registration.hpp.

template<typename _DOF6 >
_DOF6 Slam_CurvedPolygon::OBJCTXT< _DOF6 >::optimizeLink2 ( const DOF6 tf,
std::list< SCOR > &  cors,
const typename DOF6::TYPE &  thr_rot,
const typename DOF6::TYPE &  thr_tr,
const Eigen::Matrix3f &  rot,
const Eigen::Vector3f &  tr,
const int  depth = 0 
) const [private]

optimize link 2

  • remove non matching correspondences recursively
  • only uses most probable correspondences

Definition at line 416 of file registration.hpp.

template<typename _DOF6 >
_DOF6 Slam_CurvedPolygon::OBJCTXT< _DOF6 >::optimizeLink3 ( const OBJCTXT< _DOF6 > &  ctxt,
std::vector< SCOR > &  cors,
const DOF6 tf,
const typename DOF6::TYPE &  thr_rot,
const typename DOF6::TYPE &  thr_tr,
const Eigen::Matrix3f &  rot,
const Eigen::Vector3f &  tr,
const int  depth = 0 
) const [private]

Definition at line 627 of file registration.hpp.

template<typename _DOF6 >
bool Slam_CurvedPolygon::OBJCTXT< _DOF6 >::registration ( const OBJCTXT< _DOF6 > &  ctxt,
DOF6 tf,
typename DOF6::TYPE &  probability_success_rate,
typename DOF6::TYPE &  probability_error_rate 
)

Definition at line 65 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
OBJCTXT< _DOF6 > & Slam_CurvedPolygon::OBJCTXT< _DOF6 >::transform ( const DOF6 tf)

Definition at line 355 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
void Slam_CurvedPolygon::OBJCTXT< _DOF6 >::update ( )

update all properties: 1. filter 2. bounding box

Definition at line 315 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
void Slam_CurvedPolygon::OBJCTXT< _DOF6 >::updateBB ( ) [private]

update the bounding box (pyramid)

Definition at line 339 of file objctxt.hpp.


Member Data Documentation

template<typename _DOF6 >
BB Slam_CurvedPolygon::OBJCTXT< _DOF6 >::bb_ [private]

Definition at line 133 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
bool Slam_CurvedPolygon::OBJCTXT< _DOF6 >::enabled_all_merge_ [private]

allows fast intersection tests

Definition at line 136 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
size_t Slam_CurvedPolygon::OBJCTXT< _DOF6 >::frames_ [private]

Definition at line 132 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
std::map<typename OBJECT::Ptr,std::vector<size_t> > Slam_CurvedPolygon::OBJCTXT< _DOF6 >::map_cors_ [private]

remeber successfully used correspondences from registration for merging

Definition at line 131 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
std::vector<typename OBJECT::Ptr> Slam_CurvedPolygon::OBJCTXT< _DOF6 >::objs_ [private]

Definition at line 129 of file curved_polygons/objctxt.h.

template<typename _DOF6 >
std::vector<SCOR> Slam_CurvedPolygon::OBJCTXT< _DOF6 >::used_cors_ [private]

Definition at line 130 of file curved_polygons/objctxt.h.


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


cob_3d_mapping_slam
Author(s): Joshua Hampp
autogenerated on Wed Aug 26 2015 11:04:51