SourceXtractorPlusPlus  0.15
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 
38 
39 namespace SourceXtractor {
40 
42 
43 public:
44  FlexibleModelFittingTask(const std::string &least_squares_engine,
45  unsigned int max_iterations, double modified_chi_squared_scale,
49  double scale_factor=1.0
50  );
51 
52  virtual ~FlexibleModelFittingTask();
53 
54  virtual void computeProperties(SourceGroupInterface& group) const override;
55 
56 private:
57 
58  bool isFrameValid(SourceGroupInterface& group, int frame_index) const;
59 
62 
64  SourceGroupInterface& group,
66 
67  void createParameters() const;
68 
70  double pixel_scale, FlexibleModelFittingParameterManager& manager) const;
71 
73  std::shared_ptr<const Image<SeFloat>> model, std::shared_ptr<const Image<SeFloat>> weights, int& data_points) const;
75  double pixel_scale, FlexibleModelFittingParameterManager& manager, int& total_data_points) const;
76 
77  void setDummyProperty(SourceGroupInterface& group, FlexibleModelFittingParameterManager& parameter_manager, Flags flags) const;
78 
79  // Task configuration
81  unsigned int m_max_iterations;
83 
87 
89 };
90 
91 }
92 
93 
94 
95 #endif /* _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGTASK_H_ */
SourceXtractor::FlexibleModelFittingTask::m_scale_factor
double m_scale_factor
Definition: FlexibleModelFittingTask.h:88
std::string
STL class.
std::shared_ptr
STL class.
SourceXtractor::FlexibleModelFittingTask::~FlexibleModelFittingTask
virtual ~FlexibleModelFittingTask()
Definition: FlexibleModelFittingTask.cpp:405
SourceXtractor::SeFloat
SeFloat32 SeFloat
Definition: Types.h:32
std::vector
STL class.
SourceXtractor::FlexibleModelFittingTask::computeProperties
virtual void computeProperties(SourceGroupInterface &group) const override
Computes one or more properties for the SourceGroup and/or the Sources it contains.
Definition: FlexibleModelFittingTask.cpp:168
SourceXtractor::FlexibleModelFittingTask
Definition: FlexibleModelFittingTask.h:41
FlexibleModelFittingPrior.h
GroupTask.h
SourceXtractor::FlexibleModelFittingTask::setDummyProperty
void setDummyProperty(SourceGroupInterface &group, FlexibleModelFittingParameterManager &parameter_manager, Flags flags) const
Definition: FlexibleModelFittingTask.cpp:307
SourceXtractor::Flags
Flags
Flagging of bad sources.
Definition: SourceFlags.h:37
SourceXtractor::FlexibleModelFittingTask::computeChiSquared
SeFloat computeChiSquared(SourceGroupInterface &group, double pixel_scale, FlexibleModelFittingParameterManager &manager, int &total_data_points) const
Definition: FlexibleModelFittingTask.cpp:375
SourceXtractor::GroupTask
A Task that acts on a SourceGroup to compute one or more properties.
Definition: GroupTask.h:36
SourceXtractor::FlexibleModelFittingTask::createParameters
void createParameters() const
SourceXtractor::Image< SeFloat >
VectorImage.h
FrameModel.h
SourceXtractor::FlexibleModelFittingTask::isFrameValid
bool isFrameValid(SourceGroupInterface &group, int frame_index) const
Definition: FlexibleModelFittingTask.cpp:77
SourceXtractor::FlexibleModelFittingParameterManager
Definition: FlexibleModelFittingParameterManager.h:43
SourceXtractor
Definition: Aperture.h:30
SourceXtractor::FlexibleModelFittingTask::createWeightImage
std::shared_ptr< VectorImage< SeFloat > > createWeightImage(SourceGroupInterface &group, int frame_index) const
Definition: FlexibleModelFittingTask.cpp:92
SourceXtractor::FlexibleModelFittingTask::m_frames
std::vector< std::shared_ptr< FlexibleModelFittingFrame > > m_frames
Definition: FlexibleModelFittingTask.h:85
pixel_scale
const double pixel_scale
Definition: TestImage.cpp:74
SourceXtractor::FlexibleModelFittingTask::updateCheckImages
void updateCheckImages(SourceGroupInterface &group, double pixel_scale, FlexibleModelFittingParameterManager &manager) const
Definition: FlexibleModelFittingTask.cpp:325
SourceXtractor::FlexibleModelFittingTask::m_parameters
std::vector< std::shared_ptr< FlexibleModelFittingParameter > > m_parameters
Definition: FlexibleModelFittingTask.h:84
FlexibleModelFittingFrame.h
SourceXtractor::FlexibleModelFittingTask::m_priors
std::vector< std::shared_ptr< FlexibleModelFittingPrior > > m_priors
Definition: FlexibleModelFittingTask.h:86
FlexibleModelFittingParameter.h
SourceXtractor::FlexibleModelFittingTask::m_least_squares_engine
std::string m_least_squares_engine
Definition: FlexibleModelFittingTask.h:80
SourceXtractor::SourceGroupInterface
Defines the interface used to group sources.
Definition: SourceGroupInterface.h:37
SourceXtractor::FlexibleModelFittingTask::createFrameModel
ModelFitting::FrameModel< ImagePsf, std::shared_ptr< VectorImage< SourceXtractor::SeFloat > > > createFrameModel(SourceGroupInterface &group, double pixel_scale, FlexibleModelFittingParameterManager &manager, std::shared_ptr< FlexibleModelFittingFrame > frame) const
Definition: FlexibleModelFittingTask.cpp:126
ModelFitting::FrameModel
Definition: FrameModel.h:125
SourceXtractor::FlexibleModelFittingTask::m_max_iterations
unsigned int m_max_iterations
Definition: FlexibleModelFittingTask.h:81
SourceXtractor::FlexibleModelFittingTask::computeChiSquaredForFrame
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
Definition: FlexibleModelFittingTask.cpp:355
SourceXtractor::FlexibleModelFittingTask::createImageCopy
std::shared_ptr< VectorImage< SeFloat > > createImageCopy(SourceGroupInterface &group, int frame_index) const
Definition: FlexibleModelFittingTask.cpp:82
SourceXtractor::FlexibleModelFittingTask::m_modified_chi_squared_scale
double m_modified_chi_squared_scale
Definition: FlexibleModelFittingTask.h:82
SamplingConfig.h
ImagePsf.h
SourceXtractor::FlexibleModelFittingTask::FlexibleModelFittingTask
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, double scale_factor=1.0)
Definition: FlexibleModelFittingTask.cpp:67