contrib/brl/bseg/sdet/sdet_denoise_mrf_bp_params.h
Go to the documentation of this file.
00001 // This is brl/bseg/sdet/sdet_denoise_mrf_bp_params.h
00002 #ifndef sdet_denoise_mrf_bp_params_h_
00003 #define sdet_denoise_mrf_bp_params_h_
00004 //:
00005 // \file
00006 // \brief parameter mixin for sdet_denoise_mrf_bp
00007 //
00008 // \author
00009 //    Joseph L. Mundy - March 30, 2011
00010 //    Brown University
00011 //
00012 //-----------------------------------------------------------------------------
00013 #include <vbl/vbl_ref_count.h>
00014 #include <gevd/gevd_param_mixin.h>
00015 #include <vcl_iosfwd.h>
00016 
00017 class sdet_denoise_mrf_bp_params : public gevd_param_mixin, public vbl_ref_count
00018 {
00019  public:
00020 
00021   sdet_denoise_mrf_bp_params(unsigned n_labels = 256,
00022                              unsigned n_iter = 5, unsigned pyramid_levels = 5,
00023                              float discontinuity_cost = 200.0f,
00024                              float truncation_cost = 10000.0f,
00025                              float kappa= 1.0,
00026                              float lambda = 0.05f);
00027 
00028   sdet_denoise_mrf_bp_params(const sdet_denoise_mrf_bp_params& old_params);
00029  ~sdet_denoise_mrf_bp_params() {}
00030 
00031   bool SanityCheck();
00032  friend
00033   vcl_ostream& operator<<(vcl_ostream& os, const sdet_denoise_mrf_bp_params& imp);
00034  protected:
00035   void InitParams(unsigned n_labels, unsigned n_iter, unsigned pyramid_levels,
00036                   float discontinuity_cost, float truncation_cost,
00037                   float kappa, float lambda);
00038  public:
00039   //
00040   // Parameter blocks and parameters
00041   //
00042   unsigned n_labels_;
00043   unsigned n_iter_;
00044   unsigned pyramid_levels_;
00045   float discontinuity_cost_;
00046   float truncation_cost_;
00047   float kappa_; 
00048   float lambda_;
00049 };
00050 
00051 #endif // sdet_denoise_mrf_bp_params_h_