SourceXtractorPlusPlus
0.11
Please provide a description of the project.
SEImplementation
SEImplementation
Plugin
FlexibleModelFitting
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
27
#include "
ModelFitting/Models/FrameModel.h
"
28
29
#include "
SEImplementation/Image/ImagePsf.h
"
30
31
#include "
SEFramework/Image/VectorImage.h
"
32
#include "
SEFramework/Task/GroupTask.h
"
33
34
#include "
SEImplementation/Plugin/FlexibleModelFitting/FlexibleModelFittingParameter.h
"
35
#include "
SEImplementation/Plugin/FlexibleModelFitting/FlexibleModelFittingFrame.h
"
36
#include "
SEImplementation/Plugin/FlexibleModelFitting/FlexibleModelFittingPrior.h
"
37
38
namespace
SourceXtractor
{
39
40
class
FlexibleModelFittingTask
:
public
GroupTask
{
41
42
public
:
43
FlexibleModelFittingTask
(
const
std::string
&least_squares_engine,
44
unsigned
int
max_iterations,
double
modified_chi_squared_scale,
45
std::vector
<
std::shared_ptr<FlexibleModelFittingParameter>
> parameters,
46
std::vector
<
std::shared_ptr<FlexibleModelFittingFrame>
> frames,
47
std::vector
<
std::shared_ptr<FlexibleModelFittingPrior>
> priors);
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
57
std::shared_ptr<VectorImage<SeFloat>
>
createImageCopy
(
SourceGroupInterface
& group,
int
frame_index)
const
;
58
std::shared_ptr<VectorImage<SeFloat>
>
createWeightImage
(
SourceGroupInterface
& group,
int
frame_index)
const
;
59
60
ModelFitting::FrameModel<ImagePsf, std::shared_ptr<VectorImage<SourceXtractor::SeFloat>
>>
createFrameModel
(
61
SourceGroupInterface
& group,
62
double
pixel_scale
,
FlexibleModelFittingParameterManager
& manager,
std::shared_ptr<FlexibleModelFittingFrame>
frame)
const
;
63
64
void
createParameters
()
const
;
65
66
void
updateCheckImages
(
SourceGroupInterface
& group,
67
double
pixel_scale
,
FlexibleModelFittingParameterManager
& manager)
const
;
68
69
SeFloat
computeChiSquaredForFrame
(
std::shared_ptr
<
const
Image<SeFloat>
> image,
70
std::shared_ptr
<
const
Image<SeFloat>
> model,
std::shared_ptr
<
const
Image<SeFloat>
> weights,
int
& data_points)
const
;
71
SeFloat
computeChiSquared
(
SourceGroupInterface
& group,
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
77
std::string
m_least_squares_engine
;
78
unsigned
int
m_max_iterations
;
79
double
m_modified_chi_squared_scale
;
80
81
std::vector<std::shared_ptr<FlexibleModelFittingParameter>
>
m_parameters
;
82
std::vector<std::shared_ptr<FlexibleModelFittingFrame>
>
m_frames
;
83
std::vector<std::shared_ptr<FlexibleModelFittingPrior>
>
m_priors
;
84
};
85
86
}
87
88
89
90
#endif
/* _SEIMPLEMENTATION_PLUGIN_FLEXIBLEMODELFITTING_FLEXIBLEMODELFITTINGTASK_H_ */
std::string
STL class.
std::shared_ptr
STL class.
SourceXtractor::FlexibleModelFittingTask::~FlexibleModelFittingTask
virtual ~FlexibleModelFittingTask()
Definition:
FlexibleModelFittingTask.cpp:444
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:213
SourceXtractor::FlexibleModelFittingTask
Definition:
FlexibleModelFittingTask.h:40
FlexibleModelFittingPrior.h
GroupTask.h
SourceXtractor::FlexibleModelFittingTask::setDummyProperty
void setDummyProperty(SourceGroupInterface &group, FlexibleModelFittingParameterManager ¶meter_manager, Flags flags) const
Definition:
FlexibleModelFittingTask.cpp:351
SourceXtractor::Flags
Flags
Flagging of bad sources.
Definition:
SourceFlags.h:34
SourceXtractor::FlexibleModelFittingTask::computeChiSquared
SeFloat computeChiSquared(SourceGroupInterface &group, double pixel_scale, FlexibleModelFittingParameterManager &manager, int &total_data_points) const
Definition:
FlexibleModelFittingTask.cpp:414
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:112
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:135
SourceXtractor::FlexibleModelFittingTask::m_frames
std::vector< std::shared_ptr< FlexibleModelFittingFrame > > m_frames
Definition:
FlexibleModelFittingTask.h:82
pixel_scale
const double pixel_scale
Definition:
TestImage.cpp:75
SourceXtractor::FlexibleModelFittingTask::updateCheckImages
void updateCheckImages(SourceGroupInterface &group, double pixel_scale, FlexibleModelFittingParameterManager &manager) const
Definition:
FlexibleModelFittingTask.cpp:367
SourceXtractor::FlexibleModelFittingTask::m_parameters
std::vector< std::shared_ptr< FlexibleModelFittingParameter > > m_parameters
Definition:
FlexibleModelFittingTask.h:81
FlexibleModelFittingFrame.h
SourceXtractor::FlexibleModelFittingTask::m_priors
std::vector< std::shared_ptr< FlexibleModelFittingPrior > > m_priors
Definition:
FlexibleModelFittingTask.h:83
FlexibleModelFittingParameter.h
SourceXtractor::FlexibleModelFittingTask::m_least_squares_engine
std::string m_least_squares_engine
Definition:
FlexibleModelFittingTask.h:77
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:171
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)
Definition:
FlexibleModelFittingTask.cpp:103
ModelFitting::FrameModel
Definition:
FrameModel.h:125
SourceXtractor::FlexibleModelFittingTask::m_max_iterations
unsigned int m_max_iterations
Definition:
FlexibleModelFittingTask.h:78
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:398
SourceXtractor::FlexibleModelFittingTask::createImageCopy
std::shared_ptr< VectorImage< SeFloat > > createImageCopy(SourceGroupInterface &group, int frame_index) const
Definition:
FlexibleModelFittingTask.cpp:117
SourceXtractor::FlexibleModelFittingTask::m_modified_chi_squared_scale
double m_modified_chi_squared_scale
Definition:
FlexibleModelFittingTask.h:79
ImagePsf.h
Generated by
1.8.18