#include <rgrl_matcher_k_nearest.h>
Inheritance diagram for rgrl_matcher_k_nearest:

This will map the "from" feature via the current transform and select the k nearest "to" features to the mapped "from" feature.
The some of the nearest features can optionally be discarded if it is further than some threshold distance.
Definition at line 18 of file rgrl_matcher_k_nearest.h.
Public Member Functions | |
| rgrl_matcher_k_nearest (unsigned int k) | |
| Initialize the matcher to select k correspondences per "from" feature. | |
| rgrl_matcher_k_nearest (unsigned int k, double dist_thres) | |
| Select at most k correspondences within the threshold. | |
| rgrl_match_set_sptr | compute_matches (rgrl_feature_set const &from_features, rgrl_feature_set const &to_features, rgrl_view const ¤t_view, rgrl_transformation const ¤t_xform, rgrl_scale const &, rgrl_match_set_sptr const &old_matches=0) |
| Build the matches with a view (old interface). | |
| rgrl_type_macro (rgrl_matcher_k_nearest, rgrl_matcher) | |
| rgrl_match_set_sptr | compute_matches (rgrl_feature_set const &from_features, rgrl_feature_set const &to_features, rgrl_view const ¤t_view, rgrl_scale const ¤t_scale, rgrl_match_set_sptr const &old_matches=0) |
| Build the matches with a view (new interface). | |
| rgrl_match_set_sptr | compute_matches (rgrl_feature_set const &from_features, rgrl_feature_set const &to_features, rgrl_transformation const ¤t_xform, rgrl_mask_box const &from_region, rgrl_mask_box const &to_region, rgrl_scale const ¤t_scale, rgrl_match_set_sptr const &old_matches=0) |
| Build the matches without a view. | |
| virtual rgrl_match_set_sptr | invert_matches (rgrl_match_set const ¤t_set, rgrl_view const ¤t_view) |
| invert the matches according to inverse transformation. | |
| rgrl_type_macro (rgrl_matcher, 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(. | |
| void | invoke_event (const rgrl_event &) const |
| Call execute(. | |
| 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 Types | |
| typedef vcl_vector< flip_node >::const_iterator | nodes_vec_iterator |
Protected Member Functions | |
| bool | validate (rgrl_feature_sptr const &mapped, rgrl_mask_sptr const &roi_sptr) const |
| validate the mapped feature. | |
| virtual void | add_one_flipped_match (rgrl_match_set_sptr &inv_set, rgrl_view const ¤t_view, nodes_vec_iterator const &begin_iter, nodes_vec_iterator const &end_iter) |
| This is internal to invert matches function. | |
| virtual void | add_one_flipped_match (rgrl_match_set_sptr &inv_set, rgrl_view const ¤t_view, nodes_vec_iterator const &begin_iter, nodes_vec_iterator const &end_iter) |
Protected Attributes | |
| unsigned int | k_ |
| double | thres_ |
Classes | |
| struct | internal_dist_node |
typedef vcl_vector<flip_node>::const_iterator rgrl_matcher::nodes_vec_iterator [protected, inherited] |
Definition at line 81 of file rgrl_matcher.h.
| rgrl_matcher_k_nearest::rgrl_matcher_k_nearest | ( | unsigned int | k | ) |
Initialize the matcher to select k correspondences per "from" feature.
Definition at line 24 of file rgrl_matcher_k_nearest.cxx.
| rgrl_matcher_k_nearest::rgrl_matcher_k_nearest | ( | unsigned int | k, | |
| double | dist_thres | |||
| ) |
Select at most k correspondences within the threshold.
The matcher will select k correspondences from the list of correspondences with Euclidean distance within the threshold dist_thres.
Definition at line 32 of file rgrl_matcher_k_nearest.cxx.
| rgrl_match_set_sptr rgrl_matcher_k_nearest::compute_matches | ( | rgrl_feature_set const & | from_features, | |
| rgrl_feature_set const & | to_features, | |||
| rgrl_view const & | current_view, | |||
| rgrl_transformation const & | current_xform, | |||
| rgrl_scale const & | , | |||
| rgrl_match_set_sptr const & | old_matches = 0 | |||
| ) | [virtual] |
Build the matches with a view (old interface).
Implements rgrl_matcher.
Reimplemented in rgrl_matcher_k_nearest_adv, rgrl_matcher_k_nearest_boundary, rgrl_matcher_k_nearest_pick_one, and rgrl_matcher_k_nearest_random.
Definition at line 42 of file rgrl_matcher_k_nearest.cxx.
| rgrl_matcher_k_nearest::rgrl_type_macro | ( | rgrl_matcher_k_nearest | , | |
| rgrl_matcher | ||||
| ) |
| bool rgrl_matcher_k_nearest::validate | ( | rgrl_feature_sptr const & | mapped, | |
| rgrl_mask_sptr const & | roi_sptr | |||
| ) | const [protected] |
validate the mapped feature.
Reimplemented in rgrl_matcher_k_nearest_adv, and rgrl_matcher_k_nearest_pick_one.
Definition at line 172 of file rgrl_matcher_k_nearest.cxx.
| void rgrl_matcher_k_nearest::add_one_flipped_match | ( | rgrl_match_set_sptr & | inv_set, | |
| rgrl_view const & | current_view, | |||
| nodes_vec_iterator const & | begin_iter, | |||
| nodes_vec_iterator const & | end_iter | |||
| ) | [protected, virtual] |
This is internal to invert matches function.
It is to restrict the number of nearest neighbors
Reimplemented in rgrl_matcher_k_nearest_pick_one.
Definition at line 105 of file rgrl_matcher_k_nearest.cxx.
| rgrl_match_set_sptr rgrl_matcher::compute_matches | ( | rgrl_feature_set const & | from_features, | |
| rgrl_feature_set const & | to_features, | |||
| rgrl_view const & | current_view, | |||
| rgrl_scale const & | current_scale, | |||
| rgrl_match_set_sptr const & | old_matches = 0 | |||
| ) | [inherited] |
Build the matches with a view (new interface).
Current xform is embedded in the view
Definition at line 24 of file rgrl_matcher.cxx.
| rgrl_match_set_sptr rgrl_matcher::compute_matches | ( | rgrl_feature_set const & | from_features, | |
| rgrl_feature_set const & | to_features, | |||
| rgrl_transformation const & | current_xform, | |||
| rgrl_mask_box const & | from_region, | |||
| rgrl_mask_box const & | to_region, | |||
| rgrl_scale const & | current_scale, | |||
| rgrl_match_set_sptr const & | old_matches = 0 | |||
| ) | [inherited] |
| rgrl_match_set_sptr rgrl_matcher::invert_matches | ( | rgrl_match_set const & | current_set, | |
| rgrl_view const & | current_view | |||
| ) | [virtual, inherited] |
invert the matches according to inverse transformation.
Definition at line 88 of file rgrl_matcher.cxx.
| rgrl_matcher::rgrl_type_macro | ( | rgrl_matcher | , | |
| rgrl_object | ||||
| ) | [inherited] |
| void rgrl_matcher::add_one_flipped_match | ( | rgrl_match_set_sptr & | inv_set, | |
| rgrl_view const & | current_view, | |||
| nodes_vec_iterator const & | begin_iter, | |||
| nodes_vec_iterator const & | end_iter | |||
| ) | [protected, virtual, inherited] |
Definition at line 58 of file rgrl_matcher.cxx.
| static const vcl_type_info& rgrl_object::type_id | ( | ) | [inline, static, inherited] |
| virtual bool rgrl_object::is_type | ( | const vcl_type_info & | type | ) | const [inline, virtual, 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.
| unsigned int rgrl_object::debug_flag | ( | ) | const [inherited] |
| void rgrl_object::set_warning | ( | bool | ) | const [inherited] |
| bool rgrl_object::warning | ( | ) | const [inherited] |
| unsigned int rgrl_object::add_observer | ( | rgrl_event_sptr | event, | |
| rgrl_command_sptr | ||||
| ) | [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_ommand 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_command_sptr rgrl_object::get_command | ( | unsigned int | tag | ) | [inherited] |
| void rgrl_object::invoke_event | ( | const rgrl_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 & | ) | 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.
| void rgrl_object::remove_observer | ( | unsigned int | tag | ) | [inherited] |
| 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.
unsigned int rgrl_matcher_k_nearest::k_ [protected] |
Definition at line 72 of file rgrl_matcher_k_nearest.h.
double rgrl_matcher_k_nearest::thres_ [protected] |
Definition at line 73 of file rgrl_matcher_k_nearest.h.
1.5.1