SourceXtractorPlusPlus  0.11
Please provide a description of the project.
FlexibleModelFittingTask.h
Go to the documentation of this file.
1 
17 /*
18  * FlexibleModelFittingTask.h
19  *
20  * Created on: Sep 17, 2018
21  * Author: mschefer
22  */
23 
24 #ifndef _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGTASK_H_
25 #define _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGTASK_H_
26 
28 
30 
33 
37 
38 namespace SourceXtractor {
39 
41 
42 public:
43  FlexibleModelFittingTask(const std::string &least_squares_engine,
44  unsigned int max_iterations, double modified_chi_squared_scale,
48 
49  virtual ~FlexibleModelFittingTask();
50 
51  virtual void computeProperties(SourceGroupInterface& group) const override;
52 
53 private:
54 
55  bool isFrameValid(SourceGroupInterface& group, int frame_index) const;
56 
59 
61  SourceGroupInterface& group,
63 
64  void createParameters() const;
65 
67  double pixel_scale, FlexibleModelFittingParameterManager& manager) const;
68 
70  std::shared_ptr<const Image<SeFloat>> model, std::shared_ptr<const Image<SeFloat>> weights, int& data_points) const;
72  double pixel_scale, FlexibleModelFittingParameterManager& manager, int& total_data_points) const;
73 
74  void setDummyProperty(SourceGroupInterface& group, FlexibleModelFittingParameterManager& parameter_manager, Flags flags) const;
75 
76  // Task configuration
78  unsigned int m_max_iterations;
80 
84 };
85 
86 }
87 
88 
89 
90 #endif /* _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGTASK_H_ */
void setDummyProperty(SourceGroupInterface &group, FlexibleModelFittingParameterManager &parameter_manager, Flags flags) const
SeFloat computeChiSquared(SourceGroupInterface &group, double pixel_scale, FlexibleModelFittingParameterManager &manager, int &total_data_points) const
ModelFitting::FrameModel< ImagePsf, std::shared_ptr< VectorImage< SourceXtractor::SeFloat > > > createFrameModel(SourceGroupInterface &group, double pixel_scale, FlexibleModelFittingParameterManager &manager, std::shared_ptr< FlexibleModelFittingFrame > frame) const
virtual void computeProperties(SourceGroupInterface &group) const override
Computes one or more properties for the SourceGroup and/or the Sources it contains.
SeFloat32 SeFloat
Definition: Types.h:32
STL class.
A Task that acts on a SourceGroup to compute one or more properties.
Definition: GroupTask.h:36
FlexibleModelFittingTask(const std::string &least_squares_engine, unsigned int max_iterations, double modified_chi_squared_scale, std::vector< std::shared_ptr< FlexibleModelFittingParameter >> parameters, std::vector< std::shared_ptr< FlexibleModelFittingFrame >> frames, std::vector< std::shared_ptr< FlexibleModelFittingPrior >> priors)
SeFloat computeChiSquaredForFrame(std::shared_ptr< const Image< SeFloat >> image, std::shared_ptr< const Image< SeFloat >> model, std::shared_ptr< const Image< SeFloat >> weights, int &data_points) const
std::shared_ptr< VectorImage< SeFloat > > createImageCopy(SourceGroupInterface &group, int frame_index) const
bool isFrameValid(SourceGroupInterface &group, int frame_index) const
Defines the interface used to group sources.
std::vector< std::shared_ptr< FlexibleModelFittingPrior > > m_priors
std::vector< std::shared_ptr< FlexibleModelFittingFrame > > m_frames
STL class.
void updateCheckImages(SourceGroupInterface &group, double pixel_scale, FlexibleModelFittingParameterManager &manager) const
Flags
Flagging of bad sources.
Definition: SourceFlags.h:34
Interface representing an image.
Definition: Image.h:43
std::shared_ptr< VectorImage< SeFloat > > createWeightImage(SourceGroupInterface &group, int frame_index) const
std::vector< std::shared_ptr< FlexibleModelFittingParameter > > m_parameters
const double pixel_scale
Definition: TestImage.cpp:75