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 //:
00005 // \file
00006 // \author Charlene Tsai
00007 // \date   Sep 2003
00008 
00009 #include "rgrl_estimator.h"
00010 
00011 //: 2D similarity transform estimator
00012 //
00013 class rgrl_est_reduced_quad2d
00014   : public rgrl_linear_estimator
00015 {
00016 public:
00017   //: Default constructor
00018   //
00019   // Does nothing. This constructor is adequate for algorithms that
00020   // call \a estimate(.) fucntion only. An example of the algorithm is
00021   // the rgrl_feature_based_registration.
00022   explicit rgrl_est_reduced_quad2d();
00023 
00024   // Constructor which takes the dimension of the dataset that the
00025   // estimator will be applied on, and maybe the mienimum 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 an 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 
00065 #endif // rgrl_est_reduced_quad2d_h_