Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Attributes | Friends
jafar::slampt::ImagePointManager Class Reference

Base class for doing slam using points extracted in an image. More...


Detailed Description

Base class for doing slam using points extracted in an image.

Definition at line 67 of file imagePointManager.hpp.

#include <imagePointManager.hpp>

Inheritance diagram for jafar::slampt::ImagePointManager:
Inheritance graph
[legend]

List of all members.

Classes

struct  IdPredicate
class  Stats

Public Member Functions

 ImagePointManager (slam::BaseSlam &slam_, jafar::hpm::Engine &hpmEngineLoopClosing_, kernel::IdFactory<> *_idFactory)
void setFrameDataBase (MonoImageFrameDataBase *_frameDataBase)
virtual
slam::Observation::ObservationType 
getObservationType () const =0
virtual void setupZones (unsigned int imageWidth_, unsigned int imageHeight_, double reduction_, std::size_t nbZonesU_, std::size_t nbZonesV_, unsigned int nbDesiredFeaturesPerZone_)
void setupLoopClosing (double loopClosingDistanceMax_, unsigned int loopClosingIndexDistanceMin_, bool enable=true)
bool isLoopClosingDetected () const
unsigned int getLoopClosingFrameIndex () const
jafar::hpm::vecHarrisPoints const & getLoopClosingPoints () const
virtual void writeLogHeader (jafar::kernel::DataLogger &dataLogger) const
 Implements this method calling repeatidly log methods.
virtual void writeLogData (jafar::kernel::DataLogger &dataLogger) const
 Implements this method calling repeatidly log methods.
virtual void writeLogStats (jafar::kernel::DataLogger &log) const
 write stats at the end of the log
void setProcessEvents (int events_)

Protected Types

typedef std::vector
< QualityIndexPoint
QualityIndexPoints
typedef std::list< std::size_t > FeaturesList
 features observed in current frame

Protected Member Functions

virtual boost::tuple< bool,
unsigned int > 
isPointInZone (double u_, double v_)
unsigned int getNewFeatureId ()
virtual bool isFeatureCandidate (std::size_t index_)=0
void addNewFeature (std::size_t index_, hpm::HarrisPoint &point_)
void addKnownFeature (std::size_t index_, jafar::hpm::HarrisPoint const &point_)
template<class VecPoints >
void loopClosing (VecPoints &framePoints_, unsigned int robotId_)
template<class VecPoints >
void featureSelection (VecPoints &points_)
template<class VecPoints >
void updateFrameDataBase (VecPoints &points_, unsigned int robotId_)
virtual jafar::image::ImageloadImage (unsigned int frameNumber) const =0
virtual bool fillObservation (std::size_t index_, slam::Observation &obs, unsigned int sensorId_, unsigned int robotId_) const =0
void slamProcessObservations (unsigned int robotId_, unsigned int sensorId_) const
 there is only one point manager but the observations corresponds to each robotId

Static Protected Member Functions

static unsigned int computeZoneIndex (double x_, unsigned int nbInt_, double xMax_)

Protected Attributes

kernel::IdFactorym_idFactory
slam::BaseSlamslam
bool loopClosingOn
 For loop closing.
jafar::hpm::EnginehpmEngineLoopClosing
MonoImageFrameDataBaseframeDataBase
bool loopClosingDetection
unsigned int loopClosingFrameIndex
unsigned int loopClosingNbUsedFeatures
jafar::hpm::vecHarrisPoints loopClosingPoints
std::vector< QualityIndexPoints > pointsInZone
 points from last frame which are candidate
std::vector< unsigned int > nbFeaturesInZone
FeaturesList knownFeatures
FeaturesList newFeatures
unsigned int imageWidth
 cells definition
unsigned int imageHeight
std::size_t nbZonesU
std::size_t nbZonesV
unsigned int nbDesiredFeaturesPerZone
unsigned int processingTime
class
jafar::slampt::ImagePointManager::Stats 
stats
unsigned int currentFrameIndex
 current frame number

Static Protected Attributes

static kernel::IdFactorys_idFactory

Private Attributes

bool ownFrameDataBase
int processEvents

Friends

std::ostream & operator<< (std::ostream &s, const ImagePointManager &slam_)
std::string getZones (ImagePointManager const &m)

Member Function Documentation

Implements this method calling repeatidly log methods.

You should use writeData() or writeDataVector().

Implements jafar::kernel::DataLoggable.

Implements this method calling repeatidly log methods.

You should use writeComment(), writeLegend() or writeLegendTokens().

Implements jafar::kernel::DataLoggable.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:50 for Jafar by doxygen 1.7.6.1
LAAS-CNRS