Determine convergence based on the median geometric error. More...
#include <rgrl_convergence_on_median_error.h>
Public Member Functions | |
rgrl_convergence_on_median_error (double tol) | |
Create a tester with a tolerance tol. | |
rgrl_converge_status_sptr | compute_status (rgrl_converge_status_sptr prev_status, rgrl_view const &prev_view, rgrl_view const ¤t_view, rgrl_set_of< rgrl_match_set_sptr > const ¤t_match_sets, rgrl_set_of< rgrl_scale_sptr > const ¤t_scales, bool penalize_scaling=false) const |
Compute the converge_status of the current view using multiple match sets. | |
rgrl_type_macro (rgrl_convergence_on_median_error, rgrl_convergence_tester) | |
rgrl_converge_status_sptr | compute_status (rgrl_converge_status_sptr prev_status, rgrl_view const &prev_view, rgrl_view const ¤t_view, rgrl_match_set_sptr current_match_set, rgrl_scale_sptr current_scale, bool penalize_scaling=false) const |
Compute the converge_status of the current view using single match set. | |
rgrl_converge_status_sptr | compute_status (rgrl_converge_status_sptr prev_status, rgrl_transformation_sptr xform_estimate, rgrl_estimator_sptr xform_estimator, rgrl_set_of< rgrl_match_set_sptr > const ¤t_match_sets, rgrl_set_of< rgrl_scale_sptr > const ¤t_scales, bool penalize_scaling=false) const |
Compute the converge_status of the current xform estimate using multiple match sets. | |
rgrl_converge_status_sptr | compute_status (rgrl_converge_status_sptr prev_status, rgrl_transformation_sptr xform_estimate, rgrl_estimator_sptr xform_estimator, rgrl_match_set_sptr current_match_set, rgrl_scale_sptr current_scale, bool penalize_scaling=false) const |
Compute the converge_status of the current xform estimate using single match set. | |
rgrl_converge_status_sptr | initialize_status (rgrl_view const &init_view, rgrl_scale_sptr const &prior_scale, bool penalize_scaling) const |
convenient function for initializing status. | |
rgrl_converge_status_sptr | initialize_status (rgrl_transformation_sptr xform_estimate, rgrl_estimator_sptr xform_estimator, rgrl_scale_sptr const &prior_scale, bool penalize_scaling) const |
convenient function for initializing status. | |
virtual rgrl_converge_status_sptr | verify (rgrl_view const &view, rgrl_set_of< rgrl_match_set_sptr > const ¤t_match_sets, rgrl_set_of< rgrl_scale_sptr > const ¤t_scales) const |
verify the final alignment. | |
rgrl_converge_status_sptr | verify (rgrl_view const &view, rgrl_match_set_sptr const ¤t_match_sets, rgrl_scale_sptr const ¤t_scales) const |
void | set_rel_tol (double rel_tol) |
set relative tolerance on convergence. | |
double | rel_tol () const |
rgrl_type_macro (rgrl_convergence_tester, 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 () |
Protected Member Functions | |
virtual rgrl_converge_status_sptr | init_status (rgrl_view const &init_view, rgrl_scale_sptr const &prior_scale, bool penalize_scaling) const |
the real init status function. | |
virtual rgrl_converge_status_sptr | compute_status_helper (double new_error, bool good_enough, rgrl_converge_status_sptr prev_status, rgrl_view const &prev_view, rgrl_view const ¤t_view) const |
helper function for computing status. | |
Protected Attributes | |
double | rel_tol_thres_ |
Private Attributes | |
double | tolerance_ |
Determine convergence based on the median geometric error.
Definition at line 9 of file rgrl_convergence_on_median_error.h.
rgrl_convergence_on_median_error::rgrl_convergence_on_median_error | ( | double | tol | ) |
Create a tester with a tolerance tol.
The tolerance value determines if the transformation is considered acceptable. It is not used for testing of convergence.
Definition at line 14 of file rgrl_convergence_on_median_error.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.
rgrl_converge_status_sptr rgrl_convergence_on_median_error::compute_status | ( | rgrl_converge_status_sptr | prev_status, |
rgrl_view const & | prev_view, | ||
rgrl_view const & | current_view, | ||
rgrl_set_of< rgrl_match_set_sptr > const & | current_match_sets, | ||
rgrl_set_of< rgrl_scale_sptr > const & | current_scales, | ||
bool | penalize_scaling = false |
||
) | const [virtual] |
Compute the converge_status of the current view using multiple match sets.
This is the pure virtual function implemented in the derived classes.
Implements rgrl_convergence_tester.
Definition at line 22 of file rgrl_convergence_on_median_error.cxx.
rgrl_converge_status_sptr rgrl_convergence_tester::compute_status | ( | rgrl_converge_status_sptr | prev_status, |
rgrl_view const & | prev_view, | ||
rgrl_view const & | current_view, | ||
rgrl_match_set_sptr | current_match_set, | ||
rgrl_scale_sptr | current_scale, | ||
bool | penalize_scaling = false |
||
) | const [inherited] |
Compute the converge_status of the current view using single match set.
Matches are assumed to have from_feature mapped and stored and associated weights computed already when passed to this function.
Definition at line 12 of file rgrl_convergence_tester.cxx.
rgrl_converge_status_sptr rgrl_convergence_tester::compute_status | ( | rgrl_converge_status_sptr | prev_status, |
rgrl_transformation_sptr | xform_estimate, | ||
rgrl_estimator_sptr | xform_estimator, | ||
rgrl_set_of< rgrl_match_set_sptr > const & | current_match_sets, | ||
rgrl_set_of< rgrl_scale_sptr > const & | current_scales, | ||
bool | penalize_scaling = false |
||
) | const [inherited] |
Compute the converge_status of the current xform estimate using multiple match sets.
Definition at line 29 of file rgrl_convergence_tester.cxx.
rgrl_converge_status_sptr rgrl_convergence_tester::compute_status | ( | rgrl_converge_status_sptr | prev_status, |
rgrl_transformation_sptr | xform_estimate, | ||
rgrl_estimator_sptr | xform_estimator, | ||
rgrl_match_set_sptr | current_match_set, | ||
rgrl_scale_sptr | current_scale, | ||
bool | penalize_scaling = false |
||
) | const [inherited] |
Compute the converge_status of the current xform estimate using single match set.
Definition at line 47 of file rgrl_convergence_tester.cxx.
rgrl_converge_status_sptr rgrl_convergence_tester::compute_status_helper | ( | double | new_error, |
bool | good_enough, | ||
rgrl_converge_status_sptr | prev_status, | ||
rgrl_view const & | prev_view, | ||
rgrl_view const & | current_view | ||
) | const [protected, virtual, inherited] |
helper function for computing status.
Definition at line 124 of file rgrl_convergence_tester.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_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.
rgrl_converge_status_sptr rgrl_convergence_tester::init_status | ( | rgrl_view const & | init_view, |
rgrl_scale_sptr const & | prior_scale, | ||
bool | penalize_scaling | ||
) | const [protected, virtual, inherited] |
the real init status function.
Definition at line 114 of file rgrl_convergence_tester.cxx.
rgrl_converge_status_sptr rgrl_convergence_tester::initialize_status | ( | rgrl_view const & | init_view, |
rgrl_scale_sptr const & | prior_scale, | ||
bool | penalize_scaling | ||
) | const [inherited] |
convenient function for initializing status.
Definition at line 104 of file rgrl_convergence_tester.cxx.
rgrl_converge_status_sptr rgrl_convergence_tester::initialize_status | ( | rgrl_transformation_sptr | xform_estimate, |
rgrl_estimator_sptr | xform_estimator, | ||
rgrl_scale_sptr const & | prior_scale, | ||
bool | penalize_scaling | ||
) | const [inherited] |
convenient function for initializing status.
Definition at line 89 of file rgrl_convergence_tester.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.
double rgrl_convergence_tester::rel_tol | ( | ) | const [inline, inherited] |
Definition at line 97 of file rgrl_convergence_tester.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_convergence_on_median_error::rgrl_type_macro | ( | rgrl_convergence_on_median_error | , |
rgrl_convergence_tester | |||
) |
rgrl_convergence_tester::rgrl_type_macro | ( | rgrl_convergence_tester | , |
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_convergence_tester::set_rel_tol | ( | double | rel_tol | ) | [inline, inherited] |
set relative tolerance on convergence.
Definition at line 94 of file rgrl_convergence_tester.h.
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.
rgrl_converge_status_sptr rgrl_convergence_tester::verify | ( | rgrl_view const & | view, |
rgrl_set_of< rgrl_match_set_sptr > const & | current_match_sets, | ||
rgrl_set_of< rgrl_scale_sptr > const & | current_scales | ||
) | const [virtual, inherited] |
verify the final alignment.
Definition at line 78 of file rgrl_convergence_tester.cxx.
rgrl_converge_status_sptr rgrl_convergence_tester::verify | ( | rgrl_view const & | view, |
rgrl_match_set_sptr const & | current_match_sets, | ||
rgrl_scale_sptr const & | current_scales | ||
) | const [inherited] |
Definition at line 65 of file rgrl_convergence_tester.cxx.
bool rgrl_object::warning | ( | ) | const [inherited] |
Get the warning flag.
Definition at line 40 of file rgrl_object.cxx.
double rgrl_convergence_tester::rel_tol_thres_ [protected, inherited] |
Definition at line 121 of file rgrl_convergence_tester.h.
double rgrl_convergence_on_median_error::tolerance_ [private] |
Definition at line 33 of file rgrl_convergence_on_median_error.h.