Algorithms to perform global search for multiple matches. More...
#include <mfpf_searcher.h>
Public Member Functions | |
mfpf_searcher () | |
void | find_refined_matches (mfpf_point_finder &pf, const vimt_image_2d_of< float > &image, const vgl_point_2d< double > &p, const vgl_vector_2d< double > &u, vcl_vector< mfpf_pose > &pts, vcl_vector< double > &fit) |
void | search_around_set (mfpf_point_finder &pf, const vimt_image_2d_of< float > &image, mfpf_pose_set &pose_set) |
For each pose in the set, perform local search+refinement. | |
Private Member Functions | |
void | find_overlaps (mfpf_point_finder &pf, const vcl_vector< mfpf_pose > &poses, const mfpf_pose &pose, vcl_vector< unsigned > &overlaps) |
Find list of poses overlapping given pose. | |
bool | find_near_pose (mfpf_point_finder &pf, vcl_vector< mfpf_pose > &poses, vcl_vector< double > &fits, const mfpf_pose &pose, double fit) |
If pose not near any poses in list, return false. | |
Private Attributes | |
double | proximity_r_ |
Radius around point (in model coords) for two poses to be similar. |
Algorithms to perform global search for multiple matches.
Note that some search algorithms are in mfpf_point_finder itself. More complex algorithms are here, as there are multiple ways of doing things.
Definition at line 17 of file mfpf_searcher.h.
mfpf_searcher::mfpf_searcher | ( | ) |
Definition at line 10 of file mfpf_searcher.cxx.
bool mfpf_searcher::find_near_pose | ( | mfpf_point_finder & | pf, |
vcl_vector< mfpf_pose > & | poses, | ||
vcl_vector< double > & | fits, | ||
const mfpf_pose & | pose, | ||
double | fit | ||
) | [private] |
If pose not near any poses in list, return false.
If it is near one, and its fit is better, then replace it. Uses pf.overlap() function to check for proximity
Definition at line 32 of file mfpf_searcher.cxx.
void mfpf_searcher::find_overlaps | ( | mfpf_point_finder & | pf, |
const vcl_vector< mfpf_pose > & | poses, | ||
const mfpf_pose & | pose, | ||
vcl_vector< unsigned > & | overlaps | ||
) | [private] |
Find list of poses overlapping given pose.
Definition at line 16 of file mfpf_searcher.cxx.
void mfpf_searcher::find_refined_matches | ( | mfpf_point_finder & | pf, |
const vimt_image_2d_of< float > & | image, | ||
const vgl_point_2d< double > & | p, | ||
const vgl_vector_2d< double > & | u, | ||
vcl_vector< mfpf_pose > & | pts, | ||
vcl_vector< double > & | fit | ||
) |
Definition at line 108 of file mfpf_searcher.cxx.
void mfpf_searcher::search_around_set | ( | mfpf_point_finder & | pf, |
const vimt_image_2d_of< float > & | image, | ||
mfpf_pose_set & | pose_set | ||
) |
For each pose in the set, perform local search+refinement.
On exit pose_set contains the improved matches.
Definition at line 152 of file mfpf_searcher.cxx.
double mfpf_searcher::proximity_r_ [private] |
Radius around point (in model coords) for two poses to be similar.
Definition at line 21 of file mfpf_searcher.h.