SourceXtractorPlusPlus  0.10
Please provide a description of the project.
MultiframeSourceModel.h
Go to the documentation of this file.
1 
17 /*
18  * MultiframeSourceModel.h
19  *
20  * Created on: Nov 24, 2017
21  * Author: mschefer
22  */
23 
24 #ifndef _SEIMPLEMENTATION_PLUGIN_MULTIFRAMEMODELFITTING_MULTIFRAMESOURCEMODEL_H_
25 #define _SEIMPLEMENTATION_PLUGIN_MULTIFRAMEMODELFITTING_MULTIFRAMESOURCEMODEL_H_
26 
29 
36 
37 namespace SourceXtractor {
38 
40 
42 
43  int m_size;
47 
48 
49  // common parameters
51 
54 
57 
60 
63 
66 
69 
70  // per band
77 
78  // per frame
83 
86 
88 
89 
90  //
91 // // per measurement frame parameters
92 //
93 
94 
95 public:
96 
98 
99  void createParamsForBand(const std::vector<int>& frames_in_band);
100 
101  void createParamsForFrame(int band_nb, int frame_nb, std::shared_ptr<CoordinateSystem> coordinates, PixelCoordinate offset);
103 
105 
106  void debugPrint() const;
107 
108 
109  int getNumberOfParameters() const;
111 
113 
114  double getExpFluxForBand(int band_nb) const;
115  double getDevFluxForBand(int band_nb) const;
116 
120 
121  SeFloat getExpRadius() const;
122  SeFloat getDevRadius() const;
123 
124 private:
125  int getSize() const;
126  double getCenterX() const;
127  double getCenterY() const;
128 
129  double getFluxGuess(const std::vector<int>& frames_in_band) const;
130  double getRadiusGuess() const;
131  double getAspectGuess() const;
132  double getRotGuess() const;
133 
135 
136 };
137 
138 }
139 
140 #endif /* _SEIMPLEMENTATION_PLUGIN_MULTIFRAMEMODELFITTING_MULTIFRAMESOURCEMODEL_H_ */
MultiframeSourceModel(const SourceInterface &source)
STL class.
void registerParameters(ModelFitting::EngineParameterManager &manager)
std::vector< std::unique_ptr< ModelFitting::EngineParameter > > exp_fluxes
EngineParameter are those derived from the minimization process.
std::vector< std::unique_ptr< ModelFitting::DependentParameter< ModelFitting::EngineParameter, ModelFitting::EngineParameter > > > pixel_x
std::vector< std::unique_ptr< ModelFitting::DependentParameter< ModelFitting::EngineParameter, ModelFitting::EngineParameter, ModelFitting::EngineParameter > > > exp_i0s
ModelFitting::ManualParameter dev_n
WorldCoordinate getFittedWorldCoordinate() const
double getDevFluxForBand(int band_nb) const
ModelFitting::EngineParameter exp_effective_radius
SeFloat32 SeFloat
Definition: Types.h:32
std::vector< double > getDevFluxes() const
std::vector< double > getExpFluxes() const
std::shared_ptr< CoordinateSystem > getRefCoordinateSystem() const
ModelFitting::ManualParameter exp_xs
std::vector< std::unique_ptr< ModelFitting::EngineParameter > > dev_fluxes
ModelFitting::EngineParameter exp_rot
ModelFitting::EngineParameter dev_effective_radius
double getFluxGuess(const std::vector< int > &frames_in_band) const
void createParamsForFrame(int band_nb, int frame_nb, std::shared_ptr< CoordinateSystem > coordinates, PixelCoordinate offset)
std::vector< std::unique_ptr< ModelFitting::DependentParameter< ModelFitting::EngineParameter, ModelFitting::EngineParameter > > > pixel_y
ModelFitting::DependentParameter< ModelFitting::EngineParameter > dev_k
ModelFitting::EngineParameter dev_aspect
double getExpFluxForBand(int band_nb) const
A pixel coordinate made of two integers m_x and m_y.
ModelFitting::EngineParameter exp_aspect
STL class.
STL class.
std::vector< std::unique_ptr< ModelFitting::DependentParameter< ModelFitting::EngineParameter, ModelFitting::EngineParameter, ModelFitting::EngineParameter > > > dev_i0s
std::vector< double > getFluxes() const
ModelFitting::ManualParameter exp_n
std::shared_ptr< CoordinateSystem > m_ref_coordinate_system
Class responsible for managing the parameters the least square engine minimizes.
ModelFitting::EngineParameter dev_rot
ModelFitting::DependentParameter< ModelFitting::EngineParameter > exp_k
void addModelsForFrame(int frame_nb, std::vector< ModelFitting::TransformedModel > &extended_models, std::tuple< double, double, double, double > jacobian)
The SourceInterface is an abstract "source" that has properties attached to it.
void createParamsForBand(const std::vector< int > &frames_in_band)
ModelFitting::ManualParameter dev_xs
ImageCoordinate getFittedCoordinate() const