Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

strk_info_model_tracker_params.cxx

Go to the documentation of this file.
00001 // This is brl/bseg/strk/strk_info_model_tracker_params.cxx
00002 #include <strk/strk_info_model_tracker_params.h>
00003 //:
00004 // \file
00005 // See strk_info_model_tracker_params.h
00006 //
00007 //-----------------------------------------------------------------------------
00008 #include <vcl_sstream.h>
00009 #include <vcl_iostream.h>
00010 
00011 //------------------------------------------------------------------------
00012 // Constructors
00013 //
00014 
00015 strk_info_model_tracker_params::
00016 strk_info_model_tracker_params(const strk_info_model_tracker_params& tp)
00017   : gevd_param_mixin()
00018 {
00019   InitParams(tp.n_samples_,
00020              tp.stem_trans_radius_,
00021              tp.long_arm_tip_trans_radius_,
00022              tp.short_arm_tip_trans_radius_,
00023              tp.stem_angle_range_,
00024              tp.long_arm_angle_range_,
00025              tp.short_arm_angle_range_,
00026              tp.long_arm_tip_angle_range_,
00027              tp.short_arm_tip_angle_range_,
00028              tp.sigma_,
00029              tp.gradient_info_,
00030              tp.verbose_);
00031 }
00032 
00033 strk_info_model_tracker_params::
00034 strk_info_model_tracker_params(const int n_samples,
00035                                const float stem_trans_radius,
00036                                const float long_arm_tip_trans_radius,
00037                                const float short_arm_tip_trans_radius,
00038                                const float stem_angle_range,
00039                                const float long_arm_angle_range,
00040                                const float short_arm_angle_range,
00041                                const float long_arm_tip_angle_range,
00042                                const float short_arm_tip_angle_range,
00043                                const float sigma,
00044                                const bool gradient_info,
00045                                const bool verbose)
00046 {
00047   InitParams(n_samples,
00048              stem_trans_radius,
00049              long_arm_tip_trans_radius,
00050              short_arm_tip_trans_radius,
00051              stem_angle_range,
00052              long_arm_angle_range,
00053              short_arm_angle_range,
00054              long_arm_tip_angle_range,
00055              short_arm_tip_angle_range,
00056              sigma,
00057              gradient_info,
00058              verbose);
00059 }
00060 
00061 void
00062 strk_info_model_tracker_params::InitParams(int n_samples,
00063                                            float stem_trans_radius,
00064                                            float long_arm_tip_trans_radius,
00065                                            float short_arm_tip_trans_radius,
00066                                            float stem_angle_range,
00067                                            float long_arm_angle_range,
00068                                            float short_arm_angle_range,
00069                                            float long_arm_tip_angle_range,
00070                                            float short_arm_tip_angle_range,
00071                                            float sigma,
00072                                            bool gradient_info,
00073                                            bool verbose)
00074 {
00075   n_samples_ =  n_samples;
00076   stem_trans_radius_ = stem_trans_radius;
00077   long_arm_tip_trans_radius_ = long_arm_tip_trans_radius;
00078   short_arm_tip_trans_radius_ = short_arm_tip_trans_radius;
00079   stem_angle_range_ = stem_angle_range;
00080   long_arm_angle_range_ = long_arm_angle_range;
00081   short_arm_angle_range_ = short_arm_angle_range;
00082   long_arm_tip_angle_range_ = long_arm_tip_angle_range;
00083   short_arm_tip_angle_range_ = short_arm_tip_angle_range;
00084   sigma_ = sigma;
00085   gradient_info_ = gradient_info;
00086   verbose_ = verbose;
00087 }
00088 
00089 //-----------------------------------------------------------------------------
00090 //
00091 //:   Checks that parameters are within acceptable bounds
00092 //    Note that msg << ends seems to restart the string and erase the
00093 //    previous string. We should only use it as the last call use;
00094 //    vcl_endl otherwise.
00095 bool strk_info_model_tracker_params::SanityCheck()
00096 {
00097   vcl_stringstream msg;
00098   bool valid = true;
00099 
00100   msg << vcl_ends;
00101 
00102   SetErrorMsg(msg.str().c_str());
00103   return valid;
00104 }
00105 
00106 vcl_ostream& operator << (vcl_ostream& os, const strk_info_model_tracker_params& tp)
00107 {
00108   return
00109   os << "strk_info_model_tracker_params:\n[---\n"
00110      << "n_samples " << tp.n_samples_ << vcl_endl
00111      << "stem_trans_radius " << tp.stem_trans_radius_ << vcl_endl
00112      << "long_arm_tip_trans_radius " << tp.long_arm_tip_trans_radius_ << vcl_endl
00113      << "short_arm_tip_trans_radius " << tp.short_arm_tip_trans_radius_ << vcl_endl
00114      << "stem_angle_range " << tp.stem_angle_range_ << vcl_endl
00115      << "long_arm_angle_range " << tp.long_arm_angle_range_ << vcl_endl
00116      << "short_arm_angle_range " << tp.short_arm_angle_range_ << vcl_endl
00117      << "long_arm_tip_angle_range " << tp.long_arm_tip_angle_range_ << vcl_endl
00118      << "short_arm_tip_angle_range " << tp.short_arm_tip_angle_range_ << vcl_endl
00119      << "sigma " << tp.sigma_ << vcl_endl
00120      << "gradient_info "<< tp.gradient_info_ << vcl_endl
00121      << "verbose " << tp.verbose_ << vcl_endl
00122      << "---]" << vcl_endl;
00123 }

Generated on Thu Jan 10 14:53:19 2008 for contrib/brl/bseg/strk by  doxygen 1.4.4