Main MRPT website > C++ reference for MRPT 1.4.0
List of all members | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
mrpt::pbmap::SubgraphMatcher Class Reference

Detailed Description

This class finds the best correspondence between the planes of two subgraphs (i.e. sets of neighbor planes). It relies on an interpretation tree employing geometric restrictions that are represented as a set of unary and binary constraints.

Definition at line 37 of file SubgraphMatcher.h.

#include <mrpt/pbmap/SubgraphMatcher.h>

Public Member Functions

 SubgraphMatcher ()
 
bool evalUnaryConstraints (Plane &plane1, Plane &plane2, PbMap &trgPbMap, bool useStructure=false)
 
bool evalUnaryConstraints2D (Plane &plane1, Plane &plane2, PbMap &trgPbMap, bool useStructure=false)
 
bool evalUnaryConstraintsOdometry (Plane &plane1, Plane &plane2, PbMap &trgPbMap, bool useStructure=false)
 
bool evalUnaryConstraintsOdometry2D (Plane &plane1, Plane &plane2, PbMap &trgPbMap, bool useStructure=false)
 
bool evalBinaryConstraints (Plane &plane1, Plane &plane2, Plane &planeA, Plane &planeB)
 
bool evalBinaryConstraintsOdometry (Plane &plane1, Plane &plane2, Plane &planeA, Plane &planeB)
 
void exploreSubgraphTreeR (std::set< unsigned > &evalRef, std::set< unsigned > &evalCheck, std::map< unsigned, unsigned > &matched)
 
void exploreSubgraphTreeR_Area (std::set< unsigned > &evalRef, std::set< unsigned > &evalCheck, std::map< unsigned, unsigned > &matched)
 
void setSourceSubgraph (Subgraph &subgSrc)
 
void setTargetSubgraph (Subgraph &subgTrg)
 
std::map< unsigned, unsigned > compareSubgraphs (Subgraph &subgraphSource, Subgraph &subgraphTarget, const int option=0)
 
float calcAreaMatched (std::map< unsigned, unsigned > &matched_planes)
 

Public Attributes

std::vector< std::map< unsigned, unsigned > > alreadyExplored
 
SubgraphsubgraphSrc
 
SubgraphsubgraphTrg
 
int nCheckConditions
 
int totalUnary
 
int semanticPair
 
int rejectSemantic
 
config_heuristics configLocaliser
 

Private Member Functions

float calcAreaUnmatched (std::set< unsigned > &unmatched_planes)
 

Private Attributes

std::map< unsigned, unsigned > winnerMatch
 
float areaWinnerMatch
 
std::vector< std::vector< int8_t > > hashUnaryConstraints
 

Constructor & Destructor Documentation

mrpt::pbmap::SubgraphMatcher::SubgraphMatcher ( )

Member Function Documentation

float mrpt::pbmap::SubgraphMatcher::calcAreaMatched ( std::map< unsigned, unsigned > &  matched_planes)

Return the total area of the matched planes in the frame source.

float mrpt::pbmap::SubgraphMatcher::calcAreaUnmatched ( std::set< unsigned > &  unmatched_planes)
private
std::map<unsigned,unsigned> mrpt::pbmap::SubgraphMatcher::compareSubgraphs ( Subgraph subgraphSource,
Subgraph subgraphTarget,
const int  option = 0 
)

Returns a list with plane matches from subgraphSrc to subgraphTrg.

Referenced by setTargetSubgraph().

bool mrpt::pbmap::SubgraphMatcher::evalBinaryConstraints ( Plane plane1,
Plane plane2,
Plane planeA,
Plane planeB 
)

Check if the two pair of planes plane1-plane2 ans planeA-planeB fulfill the same geometric relationship, and so, if they are candidates to be the same planes.

bool mrpt::pbmap::SubgraphMatcher::evalBinaryConstraintsOdometry ( Plane plane1,
Plane plane2,
Plane planeA,
Plane planeB 
)
bool mrpt::pbmap::SubgraphMatcher::evalUnaryConstraints ( Plane plane1,
Plane plane2,
PbMap trgPbMap,
bool  useStructure = false 
)

Check if the two input planes fulfill a set of geometric constraints, and so, if they are candidates to be the same plane.

bool mrpt::pbmap::SubgraphMatcher::evalUnaryConstraints2D ( Plane plane1,
Plane plane2,
PbMap trgPbMap,
bool  useStructure = false 
)
bool mrpt::pbmap::SubgraphMatcher::evalUnaryConstraintsOdometry ( Plane plane1,
Plane plane2,
PbMap trgPbMap,
bool  useStructure = false 
)
bool mrpt::pbmap::SubgraphMatcher::evalUnaryConstraintsOdometry2D ( Plane plane1,
Plane plane2,
PbMap trgPbMap,
bool  useStructure = false 
)
void mrpt::pbmap::SubgraphMatcher::exploreSubgraphTreeR ( std::set< unsigned > &  evalRef,
std::set< unsigned > &  evalCheck,
std::map< unsigned, unsigned > &  matched 
)

Find the best combination of planes correspondences given two subgraphs represeting local neighborhoods of planes.

void mrpt::pbmap::SubgraphMatcher::exploreSubgraphTreeR_Area ( std::set< unsigned > &  evalRef,
std::set< unsigned > &  evalCheck,
std::map< unsigned, unsigned > &  matched 
)
void mrpt::pbmap::SubgraphMatcher::setSourceSubgraph ( Subgraph subgSrc)
inline

Set source (current) subgraph.

Definition at line 62 of file SubgraphMatcher.h.

References subgraphSrc.

void mrpt::pbmap::SubgraphMatcher::setTargetSubgraph ( Subgraph subgTrg)
inline

Set target subgraph.

Definition at line 65 of file SubgraphMatcher.h.

References compareSubgraphs(), and subgraphTrg.

Member Data Documentation

std::vector<std::map<unsigned,unsigned> > mrpt::pbmap::SubgraphMatcher::alreadyExplored

List of combinations that have been explored in the interpretation tree.

Definition at line 55 of file SubgraphMatcher.h.

float mrpt::pbmap::SubgraphMatcher::areaWinnerMatch
private

Definition at line 93 of file SubgraphMatcher.h.

config_heuristics mrpt::pbmap::SubgraphMatcher::configLocaliser

Set of thresholds for PbMap matching.

Definition at line 87 of file SubgraphMatcher.h.

std::vector<std::vector<int8_t> > mrpt::pbmap::SubgraphMatcher::hashUnaryConstraints
private

Hash table for unary constraints.

Definition at line 96 of file SubgraphMatcher.h.

int mrpt::pbmap::SubgraphMatcher::nCheckConditions

Definition at line 77 of file SubgraphMatcher.h.

int mrpt::pbmap::SubgraphMatcher::rejectSemantic

Definition at line 81 of file SubgraphMatcher.h.

int mrpt::pbmap::SubgraphMatcher::semanticPair

Definition at line 80 of file SubgraphMatcher.h.

Subgraph* mrpt::pbmap::SubgraphMatcher::subgraphSrc

One subgraph to be matched.

Definition at line 72 of file SubgraphMatcher.h.

Referenced by setSourceSubgraph().

Subgraph* mrpt::pbmap::SubgraphMatcher::subgraphTrg

The other subgraph to be matched.

Definition at line 75 of file SubgraphMatcher.h.

Referenced by setTargetSubgraph().

int mrpt::pbmap::SubgraphMatcher::totalUnary

Definition at line 79 of file SubgraphMatcher.h.

std::map<unsigned, unsigned> mrpt::pbmap::SubgraphMatcher::winnerMatch
private

List of planes correspondences.

Definition at line 92 of file SubgraphMatcher.h.




Page generated by Doxygen 1.8.11 for MRPT 1.4.0 SVN:Unversioned directory at Mon Jul 4 10:31:07 UTC 2016