00001
00002 #include <strk/strk_info_model_tracker_params.h>
00003
00004
00005
00006
00007
00008 #include <vcl_sstream.h>
00009 #include <vcl_iostream.h>
00010
00011
00012
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
00092
00093
00094
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 }