22 #include <boost/shared_ptr.hpp> 82 Recognizer(
const std::string& dbfilename,
double bin_size,
double maxProjectionAngleDeviation,
bool enabledSelfVoteCheck,
int raterType = 0);
94 const double filterThreshold = 0.0,
const int resultsPerPattern = -1,
const std::string targetPatternName =
"");
126 assert(objectTypes.size() == 0);
127 voteSpecifiersPerObject.clear();
128 assert(voteSpecifiersPerObject.size() == 0);
129 patternDefinitions.clear();
130 assert(patternDefinitions.size() == 0);
142 this->patternForVotingSpaceViz.clear();
163 static std::vector<RecognitionResultPtr>
assembleIsmTrees(
const std::vector<RecognitionResultPtr>& ismResults,
164 const double filterThreshold,
const int resultsPerPattern,
const std::string targetPatternName);
168 std::map<std::string, std::vector<RecognitionResultPtr> > patternNameToResults);
boost::shared_ptr< Recognizer > RecognizerPtr
PatternNameToVotedPoses patternToVotedPoses
void arrangePatternsAccordingToTreeHeight()
PatternNameToPatternMap patternDefinitions
static std::vector< RecognitionResultPtr > assembleIsmTrees(const std::vector< RecognitionResultPtr > &ismResults, const double filterThreshold, const int resultsPerPattern, const std::string targetPatternName)
void setPatternDefinitions(ISM::PatternNameToPatternMap patternDefinitions)
TableHelperPtr tableHelper
std::map< unsigned int, std::set< std::string > > TreeHeightToPatternName
bool enabledSelfVoteCheck
static std::vector< RecognitionResultPtr > getSubPatternsForResult(RecognitionResultPtr result, std::map< std::string, std::vector< RecognitionResultPtr > > patternNameToResults)
PatternNameAndVotingSpaceTuple votingSpaceBuffer
void calculateVotedPosesForAllObjects()
boost::shared_ptr< TableHelper > TableHelperPtr
std::string patternForVotingSpaceViz
ObjectTypeToVoteMap voteSpecifiersPerObject
std::set< std::string > objectTypes
std::map< ObjectPtr, std::vector< VotedPosePtr > > getVotingCache()
std::map< ObjectPtr, std::vector< VotedPosePtr > > votingCache
PosePtr calculatePoseFromVote(const PosePtr &pose, const VoteSpecifierPtr &vote) const
boost::shared_ptr< VoteSpecifier > VoteSpecifierPtr
std::vector< RecognitionResultPtr > ismResults
void getPatternDefinitions()
boost::shared_ptr< ObjectSet > ObjectSetPtr
int objectAlreadyInSet(const ObjectPtr &o)
boost::shared_ptr< RecognitionResult > RecognitionResultPtr
int resultAlreadyExisting(const RecognitionResultPtr &res)
std::map< std::string, VotedPosePtrs > PatternNameToVotedPoses
PatternNameAndVotingSpaceTuple getBufferedVotingSpace()
void setVoteSpecifiersPerObject(ISM::ObjectTypeToVoteMap voteSpecifiersPerObject)
boost::shared_ptr< Pose > PosePtr
void setVotingSpaceToBeBuffered(std::string patternName)
void fillAndEvalVotingSpaceAtTreeHeight(unsigned int treeHeight)
std::map< std::string, PatternPtr > PatternNameToPatternMap
double maxProjectionAngleDeviation
const std::vector< RecognitionResultPtr > recognizePattern(const ObjectSetPtr &objectSet, const double filterThreshold=0.0, const int resultsPerPattern=-1, const std::string targetPatternName="")
std::pair< std::string, VotingSpacePtr > PatternNameAndVotingSpaceTuple
this namespace contains all generally usable classes.
void setObjectTypes(std::set< std::string > objectTypes)
std::map< std::string, std::vector< VoteSpecifierPtr > > ObjectTypeToVoteMap
TreeHeightToPatternName patternPerTreeHeight
boost::shared_ptr< Object > ObjectPtr
Recognizer(const std::string &dbfilename, double bin_size, double maxProjectionAngleDeviation, bool enabledSelfVoteCheck, int raterType=0)