KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
kjb::Edge_lines_likelihood Class Reference

#include <edge_lines_likelihood.h>

Public Member Functions

 Edge_lines_likelihood (const Edge_segment_set &iimage_edge_segments, double angle_sigma, double dist_sigma, double prob_of_missing, double prob_of_noise, double max_distance, double max_angle, double collinear_distance_threshold)
 Constructs a new Edge_lines_likelihood. More...
 
template<class T >
double compute_likelihood (T &model)
 
template<class T , class U >
double compute_likelihood (T &model, U &camera)
 Template function to compute the likelihood for a generic model under a given camera. The input model, with the camera, must be able to generate a model map and a set of model edges, or an edgeset (those are the two kind of features we can compute a likelihood for so far). Most of the time, you will likely write a specialization for this function, this is mostly a guideline. More...
 
double operator() (std::vector< Model_edge > &model_edges)
 Calculates and return the likelihood for a set of model edges. More...
 
void draw_correspondence (Image &model_edge_image, Image &data_edge_image, const std::vector< Model_edge > &model_edges, double width)
 

Constructor & Destructor Documentation

Edge_lines_likelihood::Edge_lines_likelihood ( const Edge_segment_set iimage_edge_segments,
double  angle_sigma,
double  dist_sigma,
double  prob_of_missing,
double  prob_of_noise,
double  max_distance,
double  max_angle,
double  collinear_distance_threshold 
)

Constructs a new Edge_lines_likelihood.

Parameters
dist_sigmaThe standard diviation of the probility density function of the distance between the middle point of the image edge segment and the model edge
angle_sigmaThe sstandard diviation of the probability density function of the angle between the image edge segment and the model edge
prob_of_missingThe probability of an edge element being missing
prob_of_noiseThe probability of an edge element being noise
max_distanceThe maximum distance allows to edge segments of a model edge within

Member Function Documentation

template<class T >
double kjb::Edge_lines_likelihood::compute_likelihood ( T &  model)

Template function to compute the likelihood for a generic model. The input model must generate a set of of model edges,

Parameters
modelThe model to compute the likelihood for

Template function to compute the likelihood for a generic model. The input model must be able to generate a model map and a set of model edges, or an edgeset (those are the two kind of features we can compute a likelihood for so far). Most of the time, you will likely write a specialization for this function, this is mostly a guideline

Parameters
modelThe model to compute the likelihood for
modeMode for likelihood computation. 0 means that the likelihood will be computed by generating a model map and a set of edges from the model and the camera, 1 means that we will generate a set of edge points.
template<class T , class U >
double kjb::Edge_lines_likelihood::compute_likelihood ( T &  model,
U &  camera 
)

Template function to compute the likelihood for a generic model under a given camera. The input model, with the camera, must be able to generate a model map and a set of model edges, or an edgeset (those are the two kind of features we can compute a likelihood for so far). Most of the time, you will likely write a specialization for this function, this is mostly a guideline.

Parameters
modelThe model to compute the likelihood for
cameraThe camera to be used to render the model
modeMode for likelihood computation. 0 means that the likelihood will be computed by generating a model map and a set of edges from the model and the camera, 1 means that we will generate a set of edge points.
void Edge_lines_likelihood::draw_correspondence ( Image model_edge_image,
Image data_edge_image,
const std::vector< Model_edge > &  model_edges,
double  width 
)
double Edge_lines_likelihood::operator() ( std::vector< Model_edge > &  model_edges)

Calculates and return the likelihood for a set of model edges.


The documentation for this class was generated from the following files: