00001
00002 #ifndef strk_info_model_tracker_params_h_
00003 #define strk_info_model_tracker_params_h_
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include <gevd/gevd_param_mixin.h>
00014 #include <vcl_iosfwd.h>
00015
00016 class strk_info_model_tracker_params : public gevd_param_mixin
00017 {
00018 public:
00019 strk_info_model_tracker_params(const int n_samples = 10,
00020 const float stem_trans_radius = 5.0,
00021 const float long_arm_tip_trans_radius = 5.0,
00022 const float short_arm_tip_trans_radius = 5.0,
00023 const float stem_angle_range = 0.01,
00024 const float long_arm_angle_range = 0.01,
00025 const float short_arm_angle_range = 0.01,
00026 const float long_arm_tip_angle_range = 0.01,
00027 const float short_arm_tip_angle_range = 0.01,
00028 const float sigma = 1.0,
00029 const bool gradient_info = false,
00030 const bool verbose = false);
00031
00032 strk_info_model_tracker_params(const strk_info_model_tracker_params& old_params);
00033 ~strk_info_model_tracker_params(){}
00034
00035 bool SanityCheck();
00036 friend
00037 vcl_ostream& operator<<(vcl_ostream&,const strk_info_model_tracker_params&);
00038 protected:
00039 void InitParams(int n_samples,
00040 float stem_trans_radius,
00041 float long_arm_tip_trans_radius,
00042 float short_arm_tip_trans_radius,
00043 float stem_angle_range,
00044 float long_arm_angle_range,
00045 float short_arm_angle_range,
00046 float long_arm_tip_angle_range,
00047 float short_arm_tip_angle_range,
00048 float sigma,
00049 bool gradient_info,
00050 bool verbose);
00051 public:
00052
00053
00054
00055 int n_samples_;
00056 float stem_trans_radius_;
00057 float long_arm_tip_trans_radius_;
00058 float short_arm_tip_trans_radius_;
00059 float stem_angle_range_;
00060 float long_arm_angle_range_;
00061 float short_arm_angle_range_;
00062 float long_arm_tip_angle_range_;
00063 float short_arm_tip_angle_range_;
00064 float sigma_;
00065 bool gradient_info_;
00066 bool verbose_;
00067 };
00068
00069 #endif // strk_info_model_tracker_params_h_