Go to the documentation of this file.00001 #ifndef mfpf_profile_pdf_h_
00002 #define mfpf_profile_pdf_h_
00003
00004
00005
00006
00007
00008 #include <mfpf/mfpf_point_finder.h>
00009 #include <vpdfl/vpdfl_pdf_base.h>
00010 #include <mbl/mbl_cloneable_ptr.h>
00011 #include <vgl/vgl_fwd.h>
00012 #include <vcl_iosfwd.h>
00013
00014
00015 class mfpf_profile_pdf : public mfpf_point_finder
00016 {
00017 private:
00018
00019 int ilo_;
00020
00021 int ihi_;
00022
00023
00024 mbl_cloneable_ptr<vpdfl_pdf_base> pdf_;
00025
00026
00027 void set_defaults();
00028 public:
00029
00030
00031 mfpf_profile_pdf();
00032
00033
00034 virtual ~mfpf_profile_pdf();
00035
00036
00037 virtual double radius() const;
00038
00039
00040 void set(int ilo, int ihi, const vpdfl_pdf_base& pdf);
00041
00042
00043 int ilo() const { return ilo_; }
00044
00045
00046 int ihi() const { return ihi_; }
00047
00048
00049 const vpdfl_pdf_base& pdf() const { return pdf_; }
00050
00051
00052
00053 virtual double evaluate(const vimt_image_2d_of<float>& image,
00054 const vgl_point_2d<double>& p,
00055 const vgl_vector_2d<double>& u);
00056
00057
00058
00059
00060
00061
00062
00063
00064 virtual void evaluate_region(const vimt_image_2d_of<float>& image,
00065 const vgl_point_2d<double>& p,
00066 const vgl_vector_2d<double>& u,
00067 vimt_image_2d_of<double>& response);
00068
00069
00070
00071
00072
00073 virtual double search_one_pose(const vimt_image_2d_of<float>& image,
00074 const vgl_point_2d<double>& p,
00075 const vgl_vector_2d<double>& u,
00076 vgl_point_2d<double>& new_p);
00077
00078
00079
00080
00081 virtual void get_outline(vcl_vector<vgl_point_2d<double> >& pts) const;
00082
00083
00084 short version_no() const;
00085
00086
00087 virtual vcl_string is_a() const;
00088
00089
00090 virtual mfpf_point_finder* clone() const;
00091
00092
00093 virtual void print_summary(vcl_ostream& os) const;
00094
00095
00096 virtual void b_write(vsl_b_ostream& bfs) const;
00097
00098
00099 virtual void b_read(vsl_b_istream& bfs);
00100
00101
00102 bool operator==(const mfpf_profile_pdf& nc) const;
00103 };
00104
00105 #endif