00001 #ifndef rgrl_est_reduced_quad2d_h_ 00002 #define rgrl_est_reduced_quad2d_h_ 00003 //: 00004 // \file 00005 // \author Charlene Tsai 00006 // \date Sep 2003 00007 00008 #include "rgrl_estimator.h" 00009 00010 //: 2D similarity transform estimator 00011 // 00012 class rgrl_est_reduced_quad2d 00013 : public rgrl_linear_estimator 00014 { 00015 public: 00016 //: Default constructor 00017 // 00018 // Does nothing. This constructor is adequate for algorithms that 00019 // call \a estimate(.) function only. An example of the algorithm is 00020 // the rgrl_feature_based_registration. 00021 explicit rgrl_est_reduced_quad2d(); 00022 00023 //: Constructor 00024 // Takes the dimension of the dataset that the 00025 // estimator will be applied on, and maybe the minimum number of 00026 // samples to instantiate a fit. If \a num_samples_for_fit is not 00027 // set, the number is automatically generated, assuming each 00028 // component provides one constraint. 00029 // 00030 rgrl_est_reduced_quad2d( unsigned int dimension, 00031 double condition_num_thrd = 0.0 ); 00032 00033 //: Estimates a 2D reduced_quadratic transform. 00034 // 00035 // The return pointer is to a rgrl_trans_reduced_quad2d object. 00036 // 00037 // \sa rgrl_estimator::estimate 00038 // 00039 rgrl_transformation_sptr 00040 estimate( rgrl_set_of<rgrl_match_set_sptr> const& matches, 00041 rgrl_transformation const& cur_transform ) const; 00042 00043 00044 //: Estimates a 2D reduced_quadratic transform. 00045 // 00046 // The return pointer is to a rgrl_trans_reduced_quad2d object. 00047 // 00048 // \sa rgrl_estimator::estimate 00049 // 00050 rgrl_transformation_sptr 00051 estimate( rgrl_match_set_sptr matches, 00052 rgrl_transformation const& cur_transform ) const; 00053 00054 //: Type of transformation estimated by this estimator. 00055 const vcl_type_info& transformation_type() const; 00056 00057 // Defines type-related functions 00058 rgrl_type_macro( rgrl_est_reduced_quad2d, rgrl_linear_estimator ); 00059 00060 private: 00061 double condition_num_thrd_; 00062 }; 00063 00064 #endif // rgrl_est_reduced_quad2d_h_