contrib/mul/msm/msm_no_limiter.h
Go to the documentation of this file.
00001 #ifndef msm_no_limiter_h_
00002 #define msm_no_limiter_h_
00003 //:
00004 // \file
00005 // \author Tim Cootes
00006 // \brief No limits applied to parameters
00007 
00008 #include <msm/msm_param_limiter.h>
00009 #include <vnl/vnl_vector.h>
00010 #include <vcl_iosfwd.h>
00011 
00012 //: No limits applied to parameters
00013 class msm_no_limiter : public msm_param_limiter
00014 {
00015  public:
00016   msm_no_limiter();
00017 
00018   virtual ~msm_no_limiter() {}
00019 
00020   //: Define variance on each parameter. Does nothing.
00021   virtual void set_param_var(const vnl_vector<double>& v);
00022 
00023   //: Set the limits so that a given proportion pass
00024   //  Does nothing.
00025   virtual void set_acceptance(double prop, unsigned n_modes=0);
00026 
00027   //: Apply limit to parameter vector b. Does nothing.
00028   virtual void apply_limit(vnl_vector<double>& b) const;
00029 
00030   //: Define number of SDs to limit at
00031   void set_n_sds(double n_sds);
00032 
00033   //: Name of the class
00034   virtual vcl_string is_a() const;
00035 
00036   //: Create a copy on the heap and return base class pointer
00037   virtual msm_param_limiter* clone() const;
00038 
00039   //: Print class to os
00040   virtual void print_summary(vcl_ostream& os) const;
00041 
00042   //: Save class to binary file stream
00043   virtual void b_write(vsl_b_ostream& bfs) const;
00044 
00045   //: Load class from binary file stream
00046   virtual void b_read(vsl_b_istream& bfs);
00047 };
00048 
00049 #endif // msm_no_limiter_h_