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