SourceXtractorPlusPlus  0.15
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ExtendedModel.h
Go to the documentation of this file.
1 
23 #ifndef MODELFITTING_EXTENDEDMODEL_H
24 #define MODELFITTING_EXTENDEDMODEL_H
25 
26 #include <vector>
27 #include <memory> // for std::unique_ptr
28 #include <numeric> // for std::accumulate
29 
35 
36 namespace ModelFitting {
37 
38 template <typename ImageType>
40 
41 public:
42 
45  std::shared_ptr<BasicParameter> rotation_angle, double width, double height,
47 
48  ExtendedModel(ExtendedModel&&) = default;
49 
50  virtual ~ExtendedModel() = default;
51 
52  virtual double getValue(double x, double y) const;
53 
54  virtual ImageType getRasterizedImage(double pixel_scale, std::size_t size_x, std::size_t size_y) const;
55 
56  double getWidth() const {
57  return m_width;
58  }
59 
60  double getHeight() const {
61  return m_height;
62  }
63 
64 protected:
66 
67 private:
68  double m_width;
69  double m_height;
70 
71 }; // end of class ExtendedModel
72 
73 } // end of namespace ModelFitting
74 
75 #include "_impl/ExtendedModel.icpp"
76 
77 #endif /* MODELFITTING_EXTENDEDMODEL_H */
78 
virtual ImageType getRasterizedImage(double pixel_scale, std::size_t size_x, std::size_t size_y) const
ExtendedModel(std::vector< std::unique_ptr< ModelComponent >> &&component_list, std::shared_ptr< BasicParameter > x_scale, std::shared_ptr< BasicParameter > y_scale, std::shared_ptr< BasicParameter > rotation_angle, double width, double height, std::shared_ptr< BasicParameter > x, std::shared_ptr< BasicParameter > y)
std::vector< std::unique_ptr< ModelComponent > > m_component_list
Definition: ExtendedModel.h:65
STL class.
STL class.
virtual double getValue(double x, double y) const
virtual ~ExtendedModel()=default
const double pixel_scale
Definition: TestImage.cpp:74