contrib/rpl/rgrl/rgrl_convergence_on_median_error.h
Go to the documentation of this file.
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_