Weighted scale estimator that computes the scale as the sum of the weighted residuals divided by the sum of weights. More...
#include <rgrl_scale_est_all_weights.h>
Public Member Functions | |
rgrl_scale_est_all_weights (bool do_signature_scale=false) | |
rgrl_scale_sptr | estimate_weighted (rgrl_match_set const &match_set, rgrl_scale_sptr const ¤t_scales, bool use_signature_only=false, bool penalize_scaling=false) const |
Estimated a weighted scale. | |
rgrl_type_macro (rgrl_scale_est_all_weights, rgrl_scale_estimator_wgted) | |
rgrl_type_macro (rgrl_scale_estimator_wgted, rgrl_object) | |
virtual bool | is_type (const vcl_type_info &type) const |
void | set_debug_flag (unsigned int debugFlag) const |
Set the value of the debug flag. A non-zero value turns debugging on. | |
unsigned int | debug_flag () const |
Get the value of the debug flag. | |
void | set_warning (bool) const |
Set the flag for warning messages. | |
bool | warning () const |
Get the warning flag. | |
unsigned int | add_observer (rgrl_event_sptr event, rgrl_command_sptr) |
Allow people to add/remove/invoke observers (callbacks) to any rgrl object. | |
rgrl_command_sptr | get_command (unsigned int tag) |
Get the command associated with the given tag. | |
void | invoke_event (const rgrl_event &) |
Call execute(.) on all the rgrl_commands observing this event id. | |
void | invoke_event (const rgrl_event &) const |
Call execute(.) on all the rgrl_commands observing this event id. | |
void | remove_observer (unsigned int tag) |
Remove the observer with this tag value. | |
bool | has_observer (const rgrl_event &event) const |
Return true if an observer is registered for this event. | |
void | ref () |
void | unref () |
int | get_references () const |
bool | is_referenced () const |
Static Public Member Functions | |
static const vcl_type_info & | type_id () |
Private Member Functions | |
bool | compute_geometric_scale (double &return_scale, rgrl_match_set const &match_set, bool use_signature_only, bool penalize_scaling) const |
bool | compute_signature_inv_covar (vnl_matrix< double > &inv_covar, rgrl_match_set const &match_set) const |
Private Attributes | |
bool | do_signature_scale_ |
Weighted scale estimator that computes the scale as the sum of the weighted residuals divided by the sum of weights.
The weights can come from either the geometric error, or signature error, or both.
The scale estimator is able to estimate both the geometric scale and the signature error in the form of the covariance matrix. The latter is optional (do_signature_scale ). In practice, if other components for the registration engine require the use of signature_error_vector, the do_signature_scale should be set to true for the constructor.
Definition at line 26 of file rgrl_scale_est_all_weights.h.
rgrl_scale_est_all_weights::rgrl_scale_est_all_weights | ( | bool | do_signature_scale = false | ) |
Definition at line 17 of file rgrl_scale_est_all_weights.cxx.
unsigned int rgrl_object::add_observer | ( | rgrl_event_sptr | event, |
rgrl_command_sptr | cmd | ||
) | [inherited] |
Allow people to add/remove/invoke observers (callbacks) to any rgrl object.
This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an rgrl_command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command.
Definition at line 47 of file rgrl_object.cxx.
bool rgrl_scale_est_all_weights::compute_geometric_scale | ( | double & | return_scale, |
rgrl_match_set const & | match_set, | ||
bool | use_signature_only, | ||
bool | penalize_scaling | ||
) | const [private] |
Definition at line 47 of file rgrl_scale_est_all_weights.cxx.
bool rgrl_scale_est_all_weights::compute_signature_inv_covar | ( | vnl_matrix< double > & | inv_covar, |
rgrl_match_set const & | match_set | ||
) | const [private] |
Definition at line 105 of file rgrl_scale_est_all_weights.cxx.
unsigned int rgrl_object::debug_flag | ( | ) | const [inherited] |
Get the value of the debug flag.
Definition at line 26 of file rgrl_object.cxx.
rgrl_scale_sptr rgrl_scale_est_all_weights::estimate_weighted | ( | rgrl_match_set const & | match_set, |
rgrl_scale_sptr const & | current_scales, | ||
bool | use_signature_only = false , |
||
bool | penalize_scaling = false |
||
) | const [virtual] |
Estimated a weighted scale.
match_set stores the current matches, and, if not null, current_scales has the current scale estimates. (Perhaps from the previous iteration.)
Implements rgrl_scale_estimator_wgted.
Definition at line 25 of file rgrl_scale_est_all_weights.cxx.
rgrl_command_sptr rgrl_object::get_command | ( | unsigned int | tag | ) | [inherited] |
Get the command associated with the given tag.
Definition at line 57 of file rgrl_object.cxx.
bool rgrl_object::has_observer | ( | const rgrl_event & | event | ) | const [inherited] |
Return true if an observer is registered for this event.
Definition at line 107 of file rgrl_object.cxx.
void rgrl_object::invoke_event | ( | const rgrl_event & | event | ) | [inherited] |
Call execute(.) on all the rgrl_commands observing this event id.
Definition at line 69 of file rgrl_object.cxx.
void rgrl_object::invoke_event | ( | const rgrl_event & | event | ) | const [inherited] |
Call execute(.) on all the rgrl_commands observing this event id.
The actions triggered by this call doesn't modify this object.
Definition at line 83 of file rgrl_object.cxx.
virtual bool rgrl_object::is_type | ( | const vcl_type_info & | type | ) | const [inline, virtual, inherited] |
Reimplemented in rgrl_scale_estimator.
Definition at line 66 of file rgrl_object.h.
void rgrl_object::remove_observer | ( | unsigned int | tag | ) | [inherited] |
Remove the observer with this tag value.
Definition at line 97 of file rgrl_object.cxx.
rgrl_scale_est_all_weights::rgrl_type_macro | ( | rgrl_scale_est_all_weights | , |
rgrl_scale_estimator_wgted | |||
) |
rgrl_scale_estimator_wgted::rgrl_type_macro | ( | rgrl_scale_estimator_wgted | , |
rgrl_object | |||
) | [inherited] |
void rgrl_object::set_debug_flag | ( | unsigned int | debugFlag | ) | const [inherited] |
Set the value of the debug flag. A non-zero value turns debugging on.
Definition at line 19 of file rgrl_object.cxx.
void rgrl_object::set_warning | ( | bool | flag | ) | const [inherited] |
Set the flag for warning messages.
Definition at line 33 of file rgrl_object.cxx.
static const vcl_type_info& rgrl_object::type_id | ( | ) | [inline, static, inherited] |
Reimplemented in rgrl_scale_estimator.
Definition at line 63 of file rgrl_object.h.
bool rgrl_object::warning | ( | ) | const [inherited] |
Get the warning flag.
Definition at line 40 of file rgrl_object.cxx.
bool rgrl_scale_est_all_weights::do_signature_scale_ [private] |
Definition at line 52 of file rgrl_scale_est_all_weights.h.