00001 #ifndef rgrl_convergence_on_median_error_h_ 00002 #define rgrl_convergence_on_median_error_h_ 00003 //: 00004 // \file 00005 #include "rgrl_convergence_tester.h" 00006 00007 //: Determine convergence based on the median geometric error. 00008 // 00009 class rgrl_convergence_on_median_error 00010 : public rgrl_convergence_tester 00011 { 00012 public: 00013 //: Create a tester with a tolerance \a tol. 00014 // 00015 // The tolerance value determines if the transformation is 00016 // considered acceptable. It is not used for testing of 00017 // convergence. 00018 // 00019 rgrl_convergence_on_median_error( double tol ); 00020 00021 rgrl_converge_status_sptr 00022 compute_status( rgrl_converge_status_sptr prev_status, 00023 rgrl_view const& prev_view, 00024 rgrl_view const& current_view, 00025 rgrl_set_of<rgrl_match_set_sptr> const& current_match_sets, 00026 rgrl_set_of<rgrl_scale_sptr> const& current_scales, 00027 bool penalize_scaling = false ) const; 00028 00029 // Defines type-related functions 00030 rgrl_type_macro( rgrl_convergence_on_median_error, rgrl_convergence_tester ); 00031 00032 private: 00033 double tolerance_; 00034 }; 00035 00036 #endif // rgrl_convergence_on_median_error_h_