contrib/rpl/rgrl/rgrl_est_similarity2d.h
Go to the documentation of this file.
00001 #ifndef rgrl_est_similarity2d_h_
00002 #define rgrl_est_similarity2d_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_similarity2d
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   rgrl_est_similarity2d(){}
00022 
00023   // Constructor which takes the dimension of the dataset that the
00024   // estimator will be applied on.
00025   //
00026   rgrl_est_similarity2d( unsigned int dimension );
00027 
00028   //: Estimates a 2D similarity transform.
00029   //
00030   // The return pointer is to a rgrl_trans_similarity object.
00031   //
00032   // \sa rgrl_estimator::estimate
00033   //
00034   rgrl_transformation_sptr
00035   estimate( rgrl_set_of<rgrl_match_set_sptr> const& matches,
00036             rgrl_transformation const& cur_transform ) const;
00037 
00038 
00039   //: Estimates an similarity transform.
00040   //
00041   // The return pointer is to a rgrl_trans_similarity object.
00042   //
00043   // \sa rgrl_estimator::estimate
00044   //
00045   rgrl_transformation_sptr
00046   estimate( rgrl_match_set_sptr matches,
00047             rgrl_transformation const& cur_transform ) const;
00048 
00049   //: Type of transformation estimated by this estimator.
00050   const vcl_type_info& transformation_type() const;
00051 
00052   // Defines type-related functions
00053   rgrl_type_macro( rgrl_est_similarity2d, rgrl_linear_estimator );
00054 };
00055 
00056 #endif // rgrl_est_similarity2d_h_