#include <HierarchicalShapeModel.h>
Public Member Functions | |
double | calculateProbabilityForHypothesis (std::vector< ISM::Object > pEvidenceList, std::vector< unsigned int > pAssignments) |
unsigned int | getNumberOfNodes () |
HierarchicalShapeModel () | |
void | initializeVisualizer (boost::shared_ptr< Visualization::ProbabilisticPrimarySceneObjectVisualization > mSuperior) |
void | load (boost::property_tree::ptree &pPt) |
void | visualize (std::vector< ISM::Object > pEvidenceList) |
~HierarchicalShapeModel () | |
Private Attributes | |
boost::shared_ptr< ISM::Pose > | mAbsolutePose |
std::vector< boost::shared_ptr< HierarchicalShapeModelNode > > | mChildren |
std::string | mConditionalProbabilityAlgorithm |
boost::shared_ptr< Visualization::ProbabilisticPrimarySceneObjectVisualization > | mVisualizer |
double | mWorkspaceVolume |
This class encapsulates the functionalities and data structures required by the hierarchical shape model. It also acts as the root node of the tree.
Definition at line 58 of file HierarchicalShapeModel.h.
ProbabilisticSceneRecognition::HierarchicalShapeModel::HierarchicalShapeModel | ( | ) |
Constructor.
Definition at line 22 of file HierarchicalShapeModel.cpp.
ProbabilisticSceneRecognition::HierarchicalShapeModel::~HierarchicalShapeModel | ( | ) |
Destructor.
Definition at line 33 of file HierarchicalShapeModel.cpp.
double ProbabilisticSceneRecognition::HierarchicalShapeModel::calculateProbabilityForHypothesis | ( | std::vector< ISM::Object > | pEvidenceList, |
std::vector< unsigned int > | pAssignments | ||
) |
Calculates the probability for a hypothesis with the given assignments.
pEvidenceList | A list containing all evidences. |
pAssignments | Assignments of parts to slots. |
Definition at line 99 of file HierarchicalShapeModel.cpp.
unsigned int ProbabilisticSceneRecognition::HierarchicalShapeModel::getNumberOfNodes | ( | ) |
Return the number of nodes in the OCM.
Definition at line 206 of file HierarchicalShapeModel.cpp.
void ProbabilisticSceneRecognition::HierarchicalShapeModel::initializeVisualizer | ( | boost::shared_ptr< Visualization::ProbabilisticPrimarySceneObjectVisualization > | mSuperior | ) |
Initializes the visualization mechanism.
mSuperior | The superior visualizer coordinating the scene visualizers. |
Definition at line 89 of file HierarchicalShapeModel.cpp.
void ProbabilisticSceneRecognition::HierarchicalShapeModel::load | ( | boost::property_tree::ptree & | pPt | ) |
Loads the working data from an XML file.
pPt | Data structure for performing XML operations. |
Definition at line 37 of file HierarchicalShapeModel.cpp.
void ProbabilisticSceneRecognition::HierarchicalShapeModel::visualize | ( | std::vector< ISM::Object > | pEvidenceList | ) |
Update the visualizers based on the evidence.
pEvidenceList | A list containing all evidences. |
Definition at line 178 of file HierarchicalShapeModel.cpp.
|
private |
The pose of the root object in absolute coordinates. This variable is used during inference and reused in the visualization.
Definition at line 116 of file HierarchicalShapeModel.h.
|
private |
The chrildren of this node.
Definition at line 121 of file HierarchicalShapeModel.h.
|
private |
The type of algorithm used to handle the conditional probabilities depending on several parents. "single_parent" - forbid more than one parent and throw std::runtime_error if more are used. "minimum" - use the minimum of the conditional probabilities depending on each parent alone.
Definition at line 133 of file HierarchicalShapeModel.h.
|
private |
A copy of the visualizer that coordinates the secondary scene object visualizers.
Definition at line 126 of file HierarchicalShapeModel.h.
|
private |
The volume of the workspace in cubic meters.
Definition at line 111 of file HierarchicalShapeModel.h.