SourceXtractorPlusPlus  0.19
SourceXtractor++, the next generation SExtractor
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
SourceXtractor::FlexibleModelFittingIterativeTask Class Reference

#include <FlexibleModelFittingIterativeTask.h>

Inheritance diagram for SourceXtractor::FlexibleModelFittingIterativeTask:
Inheritance graph
[legend]
Collaboration diagram for SourceXtractor::FlexibleModelFittingIterativeTask:
Collaboration graph
[legend]

Classes

struct  FittingState
 
struct  SourceState
 

Public Member Functions

 FlexibleModelFittingIterativeTask (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, int meta_iterations=3, double deblend_factor=1.0, double meta_iteration_stop=0.0001, size_t max_fit_size=100)
 
virtual ~FlexibleModelFittingIterativeTask ()
 
void computeProperties (SourceGroupInterface &group) const override
 Computes one or more properties for the SourceGroup and/or the Sources it contains. More...
 
- Public Member Functions inherited from SourceXtractor::GroupTask
virtual ~GroupTask ()=default
 Destructor. More...
 
- Public Member Functions inherited from SourceXtractor::Task
virtual ~Task ()=default
 Destructor. More...
 

Private Member Functions

std::shared_ptr< VectorImage
< SeFloat > > 
createDeblendImage (SourceGroupInterface &group, SourceInterface &source, int source_index, std::shared_ptr< FlexibleModelFittingFrame > frame, FittingState &state) const
 
void fitSource (SourceGroupInterface &group, SourceInterface &source, int index, FittingState &state) const
 
void updateCheckImages (SourceGroupInterface &group, double pixel_scale, FittingState &state) const
 
SeFloat computeChiSquared (SourceGroupInterface &group, SourceInterface &source, int index, double pixel_scale, FlexibleModelFittingParameterManager &manager, int &total_data_points, FittingState &state) const
 
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
 
int fitSourcePrepareParameters (FlexibleModelFittingParameterManager &parameter_manager, ModelFitting::EngineParameterManager &engine_parameter_manager, SourceInterface &source, int index, FittingState &state) const
 
int fitSourcePrepareModels (FlexibleModelFittingParameterManager &parameter_manager, ModelFitting::ResidualEstimator &res_estimator, int &good_pixels, SourceGroupInterface &group, SourceInterface &source, int index, FittingState &state, double downscaling) const
 
SeFloat fitSourceComputeChiSquared (FlexibleModelFittingParameterManager &parameter_manager, SourceGroupInterface &group, SourceInterface &source, int index, FittingState &state) const
 
void fitSourceUpdateState (FlexibleModelFittingParameterManager &parameter_manager, SourceInterface &source, SeFloat avg_reduced_chi_squared, SeFloat duration, unsigned int iterations, unsigned int stop_reason, Flags flags, ModelFitting::LeastSquareSummary solution, int index, FittingState &state) const
 

Private Attributes

std::string m_least_squares_engine
 
unsigned int m_max_iterations
 
double m_modified_chi_squared_scale
 
double m_scale_factor
 
int m_meta_iterations
 
double m_deblend_factor
 
double m_meta_iteration_stop
 
size_t m_max_fit_size
 
std::vector< std::shared_ptr
< FlexibleModelFittingParameter > > 
m_parameters
 
std::vector< std::shared_ptr
< FlexibleModelFittingFrame > > 
m_frames
 
std::vector< std::shared_ptr
< FlexibleModelFittingPrior > > 
m_priors
 

Detailed Description

Definition at line 38 of file FlexibleModelFittingIterativeTask.h.

Constructor & Destructor Documentation

SourceXtractor::FlexibleModelFittingIterativeTask::FlexibleModelFittingIterativeTask ( 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,
int  meta_iterations = 3,
double  deblend_factor = 1.0,
double  meta_iteration_stop = 0.0001,
size_t  max_fit_size = 100 
)

Definition at line 47 of file FlexibleModelFittingIterativeTask.cpp.

SourceXtractor::FlexibleModelFittingIterativeTask::~FlexibleModelFittingIterativeTask ( )
virtual

Definition at line 63 of file FlexibleModelFittingIterativeTask.cpp.

Member Function Documentation

SeFloat SourceXtractor::FlexibleModelFittingIterativeTask::computeChiSquared ( SourceGroupInterface group,
SourceInterface source,
int  index,
double  pixel_scale,
FlexibleModelFittingParameterManager manager,
int &  total_data_points,
FittingState state 
) const
private

Definition at line 630 of file FlexibleModelFittingIterativeTask.cpp.

References computeChiSquaredForFrame(), createDeblendImage(), m_frames, x, and y.

Referenced by fitSourceComputeChiSquared().

Here is the call graph for this function:

SeFloat SourceXtractor::FlexibleModelFittingIterativeTask::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
private

Definition at line 610 of file FlexibleModelFittingIterativeTask.cpp.

References SourceXtractor::ImageAccessor< T >::getValue(), x, and y.

Referenced by computeChiSquared().

Here is the call graph for this function:

void SourceXtractor::FlexibleModelFittingIterativeTask::computeProperties ( SourceGroupInterface group) const
overridevirtual
std::shared_ptr< VectorImage< SeFloat > > SourceXtractor::FlexibleModelFittingIterativeTask::createDeblendImage ( SourceGroupInterface group,
SourceInterface source,
int  source_index,
std::shared_ptr< FlexibleModelFittingFrame frame,
FittingState state 
) const
private
void SourceXtractor::FlexibleModelFittingIterativeTask::fitSource ( SourceGroupInterface group,
SourceInterface source,
int  index,
FittingState state 
) const
private
SeFloat SourceXtractor::FlexibleModelFittingIterativeTask::fitSourceComputeChiSquared ( FlexibleModelFittingParameterManager parameter_manager,
SourceGroupInterface group,
SourceInterface source,
int  index,
FittingState state 
) const
private
int SourceXtractor::FlexibleModelFittingIterativeTask::fitSourcePrepareModels ( FlexibleModelFittingParameterManager parameter_manager,
ModelFitting::ResidualEstimator res_estimator,
int &  good_pixels,
SourceGroupInterface group,
SourceInterface source,
int  index,
FittingState state,
double  downscaling 
) const
private
int SourceXtractor::FlexibleModelFittingIterativeTask::fitSourcePrepareParameters ( FlexibleModelFittingParameterManager parameter_manager,
ModelFitting::EngineParameterManager engine_parameter_manager,
SourceInterface source,
int  index,
FittingState state 
) const
private
void SourceXtractor::FlexibleModelFittingIterativeTask::fitSourceUpdateState ( FlexibleModelFittingParameterManager parameter_manager,
SourceInterface source,
SeFloat  avg_reduced_chi_squared,
SeFloat  duration,
unsigned int  iterations,
unsigned int  stop_reason,
Flags  flags,
ModelFitting::LeastSquareSummary  solution,
int  index,
FittingState state 
) const
private
void SourceXtractor::FlexibleModelFittingIterativeTask::updateCheckImages ( SourceGroupInterface group,
double  pixel_scale,
FittingState state 
) const
private

Member Data Documentation

double SourceXtractor::FlexibleModelFittingIterativeTask::m_deblend_factor
private

Definition at line 104 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSourcePrepareModels().

std::vector<std::shared_ptr<FlexibleModelFittingFrame> > SourceXtractor::FlexibleModelFittingIterativeTask::m_frames
private
std::string SourceXtractor::FlexibleModelFittingIterativeTask::m_least_squares_engine
private

Definition at line 99 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSource().

size_t SourceXtractor::FlexibleModelFittingIterativeTask::m_max_fit_size
private

Definition at line 106 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSource().

unsigned int SourceXtractor::FlexibleModelFittingIterativeTask::m_max_iterations
private

Definition at line 100 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSource().

double SourceXtractor::FlexibleModelFittingIterativeTask::m_meta_iteration_stop
private

Definition at line 105 of file FlexibleModelFittingIterativeTask.h.

Referenced by computeProperties().

int SourceXtractor::FlexibleModelFittingIterativeTask::m_meta_iterations
private

Definition at line 103 of file FlexibleModelFittingIterativeTask.h.

Referenced by computeProperties().

double SourceXtractor::FlexibleModelFittingIterativeTask::m_modified_chi_squared_scale
private

Definition at line 101 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSourcePrepareModels().

std::vector<std::shared_ptr<FlexibleModelFittingParameter> > SourceXtractor::FlexibleModelFittingIterativeTask::m_parameters
private
std::vector<std::shared_ptr<FlexibleModelFittingPrior> > SourceXtractor::FlexibleModelFittingIterativeTask::m_priors
private

Definition at line 110 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSource().

double SourceXtractor::FlexibleModelFittingIterativeTask::m_scale_factor
private

Definition at line 102 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSource().


The documentation for this class was generated from the following files: