42 #ifndef INCLUDE_OKVIS_MATCHINGALGORITHM_HPP_ 
   43 #define INCLUDE_OKVIS_MATCHINGALGORITHM_HPP_ 
   80   virtual size_t sizeA() 
const = 0;
 
   82   virtual size_t sizeB() 
const = 0;
 
  100     return std::numeric_limits<float>::max();
 
  120   virtual float distance(
size_t indexA, 
size_t indexB) 
const = 0;
 
  131     return std::numeric_limits<float>::max();
 
virtual float distance(size_t indexA, size_t indexB) const =0
The "distance" between the two points. For points that absolutely don't match. Please use float max...
 
std::shared_ptr< MatchingAlgorithm > Ptr
Definition: MatchingAlgorithm.hpp:70
 
virtual listB_tree_structure_t::iterator getListBEndIterator(size_t indexA)
Get end iterator for elements of listB to be matched against the given element from list A (indexA) f...
Definition: MatchingAlgorithm.cpp:61
 
virtual listB_tree_structure_t::iterator getListBStartIterator(size_t indexA)
Get begin iterator for elements of listB to be matched against the given element from list A (indexA)...
Definition: MatchingAlgorithm.cpp:54
 
virtual void setBestMatch(size_t indexA, size_t indexB, double distance)=0
At the end of the matching step, this function is called once for each pair of matches discovered...
 
an interface for 1-1 matching between lists of things. 
Definition: MatchingAlgorithm.hpp:66
 
virtual float distanceRatioThreshold() const 
By which factor does the first best match has to be better than the second best one. 
Definition: MatchingAlgorithm.hpp:104
 
std::multimap< size_t, size_t > listB_tree_structure_t
Tree data structure for image space restricted matching mapping from image row to list of features (i...
Definition: MatchingAlgorithm.hpp:86
 
#define OKVIS_DEFINE_EXCEPTION(exceptionName, exceptionParent)
Macro for defining an exception with a given parent. 
Definition: assert_macros.hpp:52
 
This file contains some useful assert macros. 
 
virtual float distanceThreshold() const 
Distances above this threshold will not be returned as matches. 
Definition: MatchingAlgorithm.hpp:99
 
virtual bool skipA(size_t) const 
Should we skip the item in list A? This will be called once for each item in the list. 
Definition: MatchingAlgorithm.hpp:109
 
virtual size_t sizeB() const =0
What is the size of list B? 
 
virtual bool skipB(size_t) const 
Should we skip the item in list B? This will be called many times. 
Definition: MatchingAlgorithm.hpp:114
 
virtual size_t sizeA() const =0
What is the size of list A? 
 
virtual void reserveMatches(size_t numMatches)=0
A function that tells you how many times setBestMatch() will be called. 
 
listB_tree_structure_t dummy_
Definition: MatchingAlgorithm.hpp:135
 
float matchFailed() const 
What to return if the match failed. 
Definition: MatchingAlgorithm.hpp:130
 
virtual void doSetup()
This will be called exactly once for each call to DenseMatcher::match() 
Definition: MatchingAlgorithm.hpp:76