Basic class for loacting objects. More...
#include <VisFinder.h>
Public Member Functions | |
void | AddAlgorithm (Algorithm< std::vector< RelPose * > > *alg) |
Adds a new Algorithm to the visual finder. | |
int | CountAlgorithms () |
const AlgorithmSelector < std::vector< RelPose * > > & | GetAlgorithmSelection () |
bool | GetPlaneClusterCall (PossibleLocations_t *poses, RelPose *, PerceptionPrimitive &obj, const std::vector< Sensor * > &sensors) |
virtual SignatureLocations_t | Locate (PossibleLocations_t *lastKnownPoses, PerceptionPrimitive &object, int &numOfObjects) |
locates the class or object that is specified by object, updates its signature if it succeeds, sets the numOfObjects, returns a SignatureLocations_t. | |
VisFinder & | operator= (VisFinder &) |
virtual RelPose * | RelTwoObjects (const RelPose &pose, Signature &sig1, Signature &sig2) |
virtual XMLTag * | Save () |
virtual void | StartTrack (PerceptionPrimitive &object, RelPose *pose) |
virtual void | StopTrack (Signature &object) |
VisFinder (XMLTag *configFile, ImageInputSystem *imageSystem, SignatureDB *db, AttentionManager *manager, VisLearner *visLearner) | |
constructs a visual finder | |
virtual | ~VisFinder () |
Public Attributes | |
AttentionManager * | m_attentionMan |
ImageInputSystem * | m_imageSys |
SignatureDB * | m_sigdb |
VisLearner * | m_visLearner |
Private Attributes | |
std::map< int, TrackAlgorithm * > | m_runningTracks |
AlgorithmSelector< std::vector < RelPose * > > | m_selLocate |
VisFinder::VisFinder | ( | XMLTag * | configFile, |
ImageInputSystem * | imageSystem, | ||
SignatureDB * | db, | ||
AttentionManager * | manager, | ||
VisLearner * | visLearner | ||
) |
constructs a visual finder
Constructor VisFinder
configFile | configuation of the visual finder, menaing which algorithms are in it |
imageSystem | reference to the camera setup ussed to get images from |
db | reference the the signature database used for looking up model information |
manager | Attention Manager, not specified |
visLearner | reference to the model improver can be triggered by the visual finder #ifdef LOGFILE |
log | the central logfile #endif |
Definition at line 53 of file VisFinder.cpp.
VisFinder::~VisFinder | ( | ) | [virtual] |
Empty Destructor
Definition at line 70 of file VisFinder.cpp.
void VisFinder::AddAlgorithm | ( | Algorithm< std::vector< RelPose * > > * | alg | ) |
Adds a new Algorithm to the visual finder.
AddAlgorithm
alg | the algorithm that should be added to the list of algorithms available |
AddAlgorithm
alg |
Definition at line 381 of file VisFinder.cpp.
int cop::VisFinder::CountAlgorithms | ( | ) | [inline] |
Return num of Algorithms in the visual finder
Definition at line 136 of file VisFinder.h.
const AlgorithmSelector<std::vector<RelPose*> >& cop::VisFinder::GetAlgorithmSelection | ( | ) | [inline] |
Definition at line 138 of file VisFinder.h.
bool VisFinder::GetPlaneClusterCall | ( | PossibleLocations_t * | poses, |
RelPose * | pose, | ||
PerceptionPrimitive & | obj, | ||
const std::vector< Sensor * > & | sensors | ||
) |
Checks if there is a the possibility to create search spaces, if there are no given
poses | resulting poses |
obj | type of this could be relevant |
sensors | list of available sensors, should contain a 3D sensor |
Definition at line 96 of file VisFinder.cpp.
SignatureLocations_t VisFinder::Locate | ( | PossibleLocations_t * | lastKnownPoses, |
PerceptionPrimitive & | visPrim, | ||
int & | numOfObjects | ||
) | [virtual] |
locates the class or object that is specified by object, updates its signature if it succeeds, sets the numOfObjects, returns a SignatureLocations_t.
Locate
lastKnownPoses | a list of possible positions and the a-prioi probabilitiers for the object beeing at this position |
object | the signature that will be searched for |
numOfObjects |
LastKnownPose | |
Object | |
numOfObjects |
Collect results and measure time
Make results sortable
Sort results
Definition at line 139 of file VisFinder.cpp.
Definition at line 80 of file VisFinder.h.
RelPose * VisFinder::RelTwoObjects | ( | const RelPose & | Pose, |
Signature & | Obj1, | ||
Signature & | Obj2 | ||
) | [virtual] |
Not yet finished, concept not yet integrated
pose | |
sig1 | |
sig2 |
CurImage | |
Pose | |
Obj1 | |
Obj2 |
Definition at line 371 of file VisFinder.cpp.
XMLTag * VisFinder::Save | ( | ) | [virtual] |
Saves the Visual Finder
Saves the status of the Visual Finder
Definition at line 88 of file VisFinder.cpp.
void VisFinder::StartTrack | ( | PerceptionPrimitive & | visPrim, |
RelPose * | poseEstimation | ||
) | [virtual] |
Starts a thread tracks the object specified with object
object | contains a trackable signature and the vision primitive id |
pose | intial guess of the pose of the trackable object |
Object | |
poseEstimation |
TODO: Check how to include Locating and special Tracking algorithms
Definition at line 315 of file VisFinder.cpp.
void VisFinder::StopTrack | ( | Signature & | object | ) | [virtual] |
Stops the thread that tracks the object specified with object
object | contains a trackable signature |
Object |
Definition at line 353 of file VisFinder.cpp.
Definition at line 149 of file VisFinder.h.
Definition at line 146 of file VisFinder.h.
std::map<int, TrackAlgorithm*> cop::VisFinder::m_runningTracks [private] |
Definition at line 144 of file VisFinder.h.
AlgorithmSelector<std::vector<RelPose*> > cop::VisFinder::m_selLocate [private] |
The list of algorithms and their type and evaluation
Definition at line 143 of file VisFinder.h.
Definition at line 147 of file VisFinder.h.
Definition at line 148 of file VisFinder.h.