SourceXtractorPlusPlus  0.10
Please provide a description of the project.
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_ */
SourceXtractor::FlexibleModelFittingExponentialModel::m_y
std::shared_ptr< FlexibleModelFittingParameter > m_y
Definition: FlexibleModelFittingModel.h:110
SourceXtractor::FlexibleModelFittingDevaucouleursModel::m_effective_radius
std::shared_ptr< FlexibleModelFittingParameter > m_effective_radius
Definition: FlexibleModelFittingModel.h:147
SourceXtractor::FlexibleModelFittingSersicModel::m_effective_radius
std::shared_ptr< FlexibleModelFittingParameter > m_effective_radius
Definition: FlexibleModelFittingModel.h:185
SourceXtractor::FlexibleModelFittingPointModel::m_x
std::shared_ptr< FlexibleModelFittingParameter > m_x
Definition: FlexibleModelFittingModel.h:77
SourceXtractor::FlexibleModelFittingExponentialModel::m_angle
std::shared_ptr< FlexibleModelFittingParameter > m_angle
Definition: FlexibleModelFittingModel.h:114
SourceXtractor::PixelCoordinate
A pixel coordinate made of two integers m_x and m_y.
Definition: PixelCoordinate.h:37
SourceXtractor::FlexibleModelFittingDevaucouleursModel::~FlexibleModelFittingDevaucouleursModel
virtual ~FlexibleModelFittingDevaucouleursModel()
Definition: FlexibleModelFittingModel.h:132
std::shared_ptr
STL class.
SourceXtractor::FlexibleModelFittingExponentialModel::addForSource
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
Definition: FlexibleModelFittingModel.cpp:105
SourceXtractor::FlexibleModelFittingConstantModel::m_value
std::shared_ptr< FlexibleModelFittingParameter > m_value
Definition: FlexibleModelFittingModel.h:207
SourceXtractor::FlexibleModelFittingExponentialModel::~FlexibleModelFittingExponentialModel
virtual ~FlexibleModelFittingExponentialModel()
Definition: FlexibleModelFittingModel.h:97
SourceXtractor::FlexibleModelFittingConstantModel::addForSource
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
Definition: FlexibleModelFittingModel.cpp:230
SourceXtractor::FlexibleModelFittingSersicModel::addForSource
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
Definition: FlexibleModelFittingModel.cpp:192
SourceInterface.h
std::vector< ModelFitting::ConstantModel >
SourceXtractor::FlexibleModelFittingPointModel
Definition: FlexibleModelFittingModel.h:59
SourceXtractor::FlexibleModelFittingExponentialModel::m_x
std::shared_ptr< FlexibleModelFittingParameter > m_x
Definition: FlexibleModelFittingModel.h:109
SourceXtractor::FlexibleModelFittingPointModel::addForSource
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
Definition: FlexibleModelFittingModel.cpp:80
SourceXtractor::FlexibleModelFittingExponentialModel::FlexibleModelFittingExponentialModel
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)
Definition: FlexibleModelFittingModel.h:84
SourceXtractor::FlexibleModelFittingDevaucouleursModel
Definition: FlexibleModelFittingModel.h:117
SourceXtractor::FlexibleModelFittingDevaucouleursModel::m_flux
std::shared_ptr< FlexibleModelFittingParameter > m_flux
Definition: FlexibleModelFittingModel.h:146
SourceXtractor::FlexibleModelFittingSersicModel::m_angle
std::shared_ptr< FlexibleModelFittingParameter > m_angle
Definition: FlexibleModelFittingModel.h:187
std::tuple< double, double, double, double >
SourceXtractor::FlexibleModelFittingExponentialModel::m_aspect_ratio
std::shared_ptr< FlexibleModelFittingParameter > m_aspect_ratio
Definition: FlexibleModelFittingModel.h:113
SourceXtractor::FlexibleModelFittingSersicModel::m_y
std::shared_ptr< FlexibleModelFittingParameter > m_y
Definition: FlexibleModelFittingModel.h:182
SourceXtractor::FlexibleModelFittingSersicModel::FlexibleModelFittingSersicModel
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)
Definition: FlexibleModelFittingModel.h:154
SourceXtractor::FlexibleModelFittingSersicModel
Definition: FlexibleModelFittingModel.h:152
SourceXtractor::FlexibleModelFittingConstantModel::FlexibleModelFittingConstantModel
FlexibleModelFittingConstantModel(std::shared_ptr< FlexibleModelFittingParameter > value)
Definition: FlexibleModelFittingModel.h:192
CoordinateSystem.h
VectorImage.h
SourceXtractor::FlexibleModelFittingDevaucouleursModel::m_x
std::shared_ptr< FlexibleModelFittingParameter > m_x
Definition: FlexibleModelFittingModel.h:144
SourceXtractor::FlexibleModelFittingPointModel::m_y
std::shared_ptr< FlexibleModelFittingParameter > m_y
Definition: FlexibleModelFittingModel.h:78
SourceXtractor::FlexibleModelFittingParameterManager
Definition: FlexibleModelFittingParameterManager.h:43
SourceXtractor
Definition: Aperture.h:30
SourceXtractor::FlexibleModelFittingDevaucouleursModel::FlexibleModelFittingDevaucouleursModel
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)
Definition: FlexibleModelFittingModel.h:119
SourceXtractor::FlexibleModelFittingExponentialModel
Definition: FlexibleModelFittingModel.h:82
SourceXtractor::FlexibleModelFittingDevaucouleursModel::m_angle
std::shared_ptr< FlexibleModelFittingParameter > m_angle
Definition: FlexibleModelFittingModel.h:149
PointModel.h
ImageInterfaceTraits.h
SourceXtractor::FlexibleModelFittingDevaucouleursModel::addForSource
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
Definition: FlexibleModelFittingModel.cpp:146
ConstantModel.h
SourceXtractor::FlexibleModelFittingDevaucouleursModel::m_y
std::shared_ptr< FlexibleModelFittingParameter > m_y
Definition: FlexibleModelFittingModel.h:145
SourceXtractor::FlexibleModelFittingExponentialModel::m_effective_radius
std::shared_ptr< FlexibleModelFittingParameter > m_effective_radius
Definition: FlexibleModelFittingModel.h:112
SourceXtractor::FlexibleModelFittingDevaucouleursModel::m_aspect_ratio
std::shared_ptr< FlexibleModelFittingParameter > m_aspect_ratio
Definition: FlexibleModelFittingModel.h:148
SourceXtractor::FlexibleModelFittingExponentialModel::m_flux
std::shared_ptr< FlexibleModelFittingParameter > m_flux
Definition: FlexibleModelFittingModel.h:111
SourceXtractor::FlexibleModelFittingModel::~FlexibleModelFittingModel
virtual ~FlexibleModelFittingModel()
Definition: FlexibleModelFittingModel.h:45
SourceXtractor::FlexibleModelFittingSersicModel::m_sersic_index
std::shared_ptr< FlexibleModelFittingParameter > m_sersic_index
Definition: FlexibleModelFittingModel.h:184
ExtendedModel.h
x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
Definition: MoffatModelFittingTask.cpp:93
SourceXtractor::FlexibleModelFittingConstantModel::~FlexibleModelFittingConstantModel
virtual ~FlexibleModelFittingConstantModel()
Definition: FlexibleModelFittingModel.h:195
ModelFitting::ExtendedModel
Definition: ExtendedModel.h:39
SourceXtractor::FlexibleModelFittingPointModel::FlexibleModelFittingPointModel
FlexibleModelFittingPointModel(std::shared_ptr< FlexibleModelFittingParameter > x, std::shared_ptr< FlexibleModelFittingParameter > y, std::shared_ptr< FlexibleModelFittingParameter > flux)
Definition: FlexibleModelFittingModel.h:61
SourceXtractor::FlexibleModelFittingPointModel::~FlexibleModelFittingPointModel
virtual ~FlexibleModelFittingPointModel()
Definition: FlexibleModelFittingModel.h:66
SourceXtractor::FlexibleModelFittingConstantModel
Definition: FlexibleModelFittingModel.h:190
SourceXtractor::FlexibleModelFittingSersicModel::m_aspect_ratio
std::shared_ptr< FlexibleModelFittingParameter > m_aspect_ratio
Definition: FlexibleModelFittingModel.h:186
SourceXtractor::FlexibleModelFittingSersicModel::m_x
std::shared_ptr< FlexibleModelFittingParameter > m_x
Definition: FlexibleModelFittingModel.h:181
SourceXtractor::FlexibleModelFittingModel::addForSource
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
SourceXtractor::FlexibleModelFittingModel
Definition: FlexibleModelFittingModel.h:43
SourceXtractor::SourceInterface
The SourceInterface is an abstract "source" that has properties attached to it.
Definition: SourceInterface.h:46
SourceXtractor::FlexibleModelFittingPointModel::m_flux
std::shared_ptr< FlexibleModelFittingParameter > m_flux
Definition: FlexibleModelFittingModel.h:79
y
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
Definition: MoffatModelFittingTask.cpp:93
SourceXtractor::FlexibleModelFittingSersicModel::m_flux
std::shared_ptr< FlexibleModelFittingParameter > m_flux
Definition: FlexibleModelFittingModel.h:183
SourceXtractor::FlexibleModelFittingSersicModel::~FlexibleModelFittingSersicModel
virtual ~FlexibleModelFittingSersicModel()
Definition: FlexibleModelFittingModel.h:169