Go to the documentation of this file.00001 #ifndef rgrl_matcher_k_nearest_pick_one_h_
00002 #define rgrl_matcher_k_nearest_pick_one_h_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <rgrl/rgrl_matcher_k_nearest_adv.h>
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 class rgrl_matcher_k_nearest_pick_one
00025 : public rgrl_matcher_k_nearest_adv
00026 {
00027 public:
00028
00029
00030 rgrl_matcher_k_nearest_pick_one( unsigned int k );
00031
00032
00033
00034
00035
00036
00037
00038 rgrl_matcher_k_nearest_pick_one( unsigned int k, double dist_thres, double min_mapped_scale = -1, double thres_reuse_match = -1 );
00039
00040 rgrl_match_set_sptr
00041 compute_matches( rgrl_feature_set const& from_features,
00042 rgrl_feature_set const& to_features,
00043 rgrl_view const& current_view,
00044 rgrl_transformation const& current_xform,
00045 rgrl_scale const& ,
00046 rgrl_match_set_sptr const& old_matches = 0 );
00047
00048
00049
00050 rgrl_type_macro( rgrl_matcher_k_nearest_pick_one, rgrl_matcher);
00051
00052 protected:
00053
00054
00055 inline
00056 bool validate( rgrl_feature_sptr const& mapped, rgrl_mask_sptr const& roi_sptr ) const;
00057
00058
00059
00060 virtual
00061 void
00062 add_one_flipped_match( rgrl_match_set_sptr& inv_set,
00063 rgrl_view const& current_view,
00064 nodes_vec_iterator const& begin_iter,
00065 nodes_vec_iterator const& end_iter );
00066
00067 };
00068
00069 #endif // rgrl_matcher_k_nearest_pick_one_h_