SourceXtractorPlusPlus  0.10
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FlexibleModelFittingModel.h
Go to the documentation of this file.
1 
17 /*
18  * FlexibleModelFittingModel.h
19  *
20  * Created on: Sep 17, 2018
21  * Author: mschefer
22  */
23 
24 #ifndef _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGMODEL_H_
25 #define _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGMODEL_H_
26 
27 #include <vector>
28 
32 
36 
38 
39 namespace SourceXtractor {
40 
41 class FlexibleModelFittingParameterManager;
42 
44 public:
46 
48  const SourceInterface& source,
53  std::shared_ptr<CoordinateSystem> reference_coordinates,
54  std::shared_ptr<CoordinateSystem> coordinates, PixelCoordinate offset) const = 0;
55 
56 private:
57 };
58 
60 public:
64  : m_x(x), m_y(y), m_flux(flux) {}
65 
67 
69  const SourceInterface& source,
74  std::shared_ptr<CoordinateSystem> reference_coordinates,
75  std::shared_ptr<CoordinateSystem> coordinates, PixelCoordinate offset) const;
76 private:
80 };
81 
83 public:
90  : m_x(x),
91  m_y(y),
92  m_flux(flux),
93  m_effective_radius(effective_radius),
94  m_aspect_ratio(aspect_ratio),
95  m_angle(angle) {}
96 
98 
100  const SourceInterface& source,
105  std::shared_ptr<CoordinateSystem> reference_coordinates,
106  std::shared_ptr<CoordinateSystem> coordinates, PixelCoordinate offset) const;
107 
108 private:
115 };
116 
118 public:
125  : m_x(x),
126  m_y(y),
127  m_flux(flux),
128  m_effective_radius(effective_radius),
129  m_aspect_ratio(aspect_ratio),
130  m_angle(angle) {}
131 
133 
135  const SourceInterface& source,
140  std::shared_ptr<CoordinateSystem> reference_coordinates,
141  std::shared_ptr<CoordinateSystem> coordinates, PixelCoordinate offset) const;
142 
143 private:
150 };
151 
153 public:
161  : m_x(x),
162  m_y(y),
163  m_flux(flux),
164  m_sersic_index(sersic_index),
165  m_effective_radius(effective_radius),
166  m_aspect_ratio(aspect_ratio),
167  m_angle(angle) {}
168 
170 
172  const SourceInterface& source,
177  std::shared_ptr<CoordinateSystem> reference_coordinates,
178  std::shared_ptr<CoordinateSystem> coordinates, PixelCoordinate offset) const;
179 
180 private:
188 };
189 
191 public:
193  : m_value(value) {}
194 
196 
198  const SourceInterface& source,
203  std::shared_ptr<CoordinateSystem> reference_coordinates,
204  std::shared_ptr<CoordinateSystem> coordinates, PixelCoordinate offset) const;
205 
206 private:
208 };
209 
210 
211 }
212 
213 #endif /* _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGMODEL_H_ */
std::shared_ptr< FlexibleModelFittingParameter > m_x
std::shared_ptr< FlexibleModelFittingParameter > m_effective_radius
std::shared_ptr< FlexibleModelFittingParameter > m_value
virtual void addForSource(FlexibleModelFittingParameterManager &manager, const SourceInterface &source, std::vector< ModelFitting::ConstantModel > &constant_models, std::vector< ModelFitting::PointModel > &point_models, std::vector< std::shared_ptr< ModelFitting::ExtendedModel< ImageInterfaceTypePtr >>> &extended_models, std::tuple< double, double, double, double > jacobian, std::shared_ptr< CoordinateSystem > reference_coordinates, std::shared_ptr< CoordinateSystem > coordinates, PixelCoordinate offset) const
std::shared_ptr< FlexibleModelFittingParameter > m_angle
std::shared_ptr< FlexibleModelFittingParameter > m_x
std::shared_ptr< FlexibleModelFittingParameter > m_x
std::shared_ptr< FlexibleModelFittingParameter > m_angle
std::shared_ptr< FlexibleModelFittingParameter > m_x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< FlexibleModelFittingParameter > m_y
std::shared_ptr< FlexibleModelFittingParameter > m_flux
virtual void addForSource(FlexibleModelFittingParameterManager &manager, const SourceInterface &source, std::vector< ModelFitting::ConstantModel > &constant_models, std::vector< ModelFitting::PointModel > &point_models, std::vector< std::shared_ptr< ModelFitting::ExtendedModel< ImageInterfaceTypePtr >>> &extended_models, std::tuple< double, double, double, double > jacobian, std::shared_ptr< CoordinateSystem > reference_coordinates, std::shared_ptr< CoordinateSystem > coordinates, PixelCoordinate offset) const =0
FlexibleModelFittingPointModel(std::shared_ptr< FlexibleModelFittingParameter > x, std::shared_ptr< FlexibleModelFittingParameter > y, std::shared_ptr< FlexibleModelFittingParameter > flux)
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
virtual void addForSource(FlexibleModelFittingParameterManager &manager, const SourceInterface &source, std::vector< ModelFitting::ConstantModel > &constant_models, std::vector< ModelFitting::PointModel > &point_models, std::vector< std::shared_ptr< ModelFitting::ExtendedModel< ImageInterfaceTypePtr >>> &extended_models, std::tuple< double, double, double, double > jacobian, std::shared_ptr< CoordinateSystem > reference_coordinates, std::shared_ptr< CoordinateSystem > coordinates, PixelCoordinate offset) const
std::shared_ptr< FlexibleModelFittingParameter > m_flux
std::shared_ptr< FlexibleModelFittingParameter > m_y
std::shared_ptr< FlexibleModelFittingParameter > m_aspect_ratio
virtual void addForSource(FlexibleModelFittingParameterManager &manager, const SourceInterface &source, std::vector< ModelFitting::ConstantModel > &constant_models, std::vector< ModelFitting::PointModel > &point_models, std::vector< std::shared_ptr< ModelFitting::ExtendedModel< ImageInterfaceTypePtr >>> &extended_models, std::tuple< double, double, double, double > jacobian, std::shared_ptr< CoordinateSystem > reference_coordinates, std::shared_ptr< CoordinateSystem > coordinates, PixelCoordinate offset) const
FlexibleModelFittingConstantModel(std::shared_ptr< FlexibleModelFittingParameter > value)
std::shared_ptr< FlexibleModelFittingParameter > m_aspect_ratio
virtual void addForSource(FlexibleModelFittingParameterManager &manager, const SourceInterface &source, std::vector< ModelFitting::ConstantModel > &constant_models, std::vector< ModelFitting::PointModel > &point_models, std::vector< std::shared_ptr< ModelFitting::ExtendedModel< ImageInterfaceTypePtr >>> &extended_models, std::tuple< double, double, double, double > jacobian, std::shared_ptr< CoordinateSystem > reference_coordinates, std::shared_ptr< CoordinateSystem > coordinates, PixelCoordinate offset) const
std::shared_ptr< FlexibleModelFittingParameter > m_y
A pixel coordinate made of two integers m_x and m_y.
std::shared_ptr< FlexibleModelFittingParameter > m_y
std::shared_ptr< FlexibleModelFittingParameter > m_effective_radius
std::shared_ptr< FlexibleModelFittingParameter > m_sersic_index
std::shared_ptr< FlexibleModelFittingParameter > m_effective_radius
virtual void addForSource(FlexibleModelFittingParameterManager &manager, const SourceInterface &source, std::vector< ModelFitting::ConstantModel > &constant_models, std::vector< ModelFitting::PointModel > &point_models, std::vector< std::shared_ptr< ModelFitting::ExtendedModel< ImageInterfaceTypePtr >>> &extended_models, std::tuple< double, double, double, double > jacobian, std::shared_ptr< CoordinateSystem > reference_coordinates, std::shared_ptr< CoordinateSystem > coordinates, PixelCoordinate offset) const
std::shared_ptr< FlexibleModelFittingParameter > m_flux
FlexibleModelFittingExponentialModel(std::shared_ptr< FlexibleModelFittingParameter > x, std::shared_ptr< FlexibleModelFittingParameter > y, std::shared_ptr< FlexibleModelFittingParameter > flux, std::shared_ptr< FlexibleModelFittingParameter > effective_radius, std::shared_ptr< FlexibleModelFittingParameter > aspect_ratio, std::shared_ptr< FlexibleModelFittingParameter > angle)
std::shared_ptr< FlexibleModelFittingParameter > m_aspect_ratio
std::shared_ptr< FlexibleModelFittingParameter > m_flux
std::shared_ptr< FlexibleModelFittingParameter > m_angle
FlexibleModelFittingDevaucouleursModel(std::shared_ptr< FlexibleModelFittingParameter > x, std::shared_ptr< FlexibleModelFittingParameter > y, std::shared_ptr< FlexibleModelFittingParameter > flux, std::shared_ptr< FlexibleModelFittingParameter > effective_radius, std::shared_ptr< FlexibleModelFittingParameter > aspect_ratio, std::shared_ptr< FlexibleModelFittingParameter > angle)
The SourceInterface is an abstract &quot;source&quot; that has properties attached to it.
FlexibleModelFittingSersicModel(std::shared_ptr< FlexibleModelFittingParameter > x, std::shared_ptr< FlexibleModelFittingParameter > y, std::shared_ptr< FlexibleModelFittingParameter > flux, std::shared_ptr< FlexibleModelFittingParameter > sersic_index, std::shared_ptr< FlexibleModelFittingParameter > effective_radius, std::shared_ptr< FlexibleModelFittingParameter > aspect_ratio, std::shared_ptr< FlexibleModelFittingParameter > angle)