SourceXtractorPlusPlus  0.16
Please provide a description of the project.
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:
[legend]
Collaboration diagram for SourceXtractor::FlexibleModelFittingIterativeTask:
[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 ()
 
virtual 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 setDummyProperty (SourceInterface &source, Flags flags) 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

◆ FlexibleModelFittingIterativeTask()

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.

◆ ~FlexibleModelFittingIterativeTask()

SourceXtractor::FlexibleModelFittingIterativeTask::~FlexibleModelFittingIterativeTask ( )
virtual

Definition at line 63 of file FlexibleModelFittingIterativeTask.cpp.

Member Function Documentation

◆ computeChiSquared()

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 641 of file FlexibleModelFittingIterativeTask.cpp.

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

Referenced by fitSourceComputeChiSquared().

Here is the call graph for this function:

◆ computeChiSquaredForFrame()

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 621 of file FlexibleModelFittingIterativeTask.cpp.

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

Referenced by computeChiSquared().

Here is the call graph for this function:

◆ computeProperties()

void SourceXtractor::FlexibleModelFittingIterativeTask::computeProperties ( SourceGroupInterface group) const
overridevirtual

◆ createDeblendImage()

std::shared_ptr< VectorImage< SeFloat > > SourceXtractor::FlexibleModelFittingIterativeTask::createDeblendImage ( SourceGroupInterface group,
SourceInterface source,
int  source_index,
std::shared_ptr< FlexibleModelFittingFrame frame,
FittingState state 
) const
private

Definition at line 280 of file FlexibleModelFittingIterativeTask.cpp.

References SourceXtractor::FlexibleModelFittingParameterManager::addParameter(), SourceXtractor::VectorImage< T >::create(), m_parameters, pixel_scale, SourceXtractor::FlexibleModelFittingIterativeTask::FittingState::source_states, x, and y.

Referenced by computeChiSquared(), and fitSourcePrepareModels().

Here is the call graph for this function:

◆ fitSource()

void SourceXtractor::FlexibleModelFittingIterativeTask::fitSource ( SourceGroupInterface group,
SourceInterface source,
int  index,
FittingState state 
) const
private

◆ fitSourceComputeChiSquared()

SeFloat SourceXtractor::FlexibleModelFittingIterativeTask::fitSourceComputeChiSquared ( FlexibleModelFittingParameterManager parameter_manager,
SourceGroupInterface group,
SourceInterface source,
int  index,
FittingState state 
) const
private

Definition at line 407 of file FlexibleModelFittingIterativeTask.cpp.

References computeChiSquared(), SourceXtractor::FlexibleModelFittingParameterManager::isParamAccessed(), m_parameters, and pixel_scale.

Referenced by fitSource().

Here is the call graph for this function:

◆ fitSourcePrepareModels()

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

Definition at line 361 of file FlexibleModelFittingIterativeTask.cpp.

References ModelFitting::createDataVsModelResiduals(), createDeblendImage(), m_deblend_factor, m_frames, m_modified_chi_squared_scale, std::move(), pixel_scale, ModelFitting::ResidualEstimator::registerBlockProvider(), x, and y.

Referenced by fitSource().

Here is the call graph for this function:

◆ fitSourcePrepareParameters()

int SourceXtractor::FlexibleModelFittingIterativeTask::fitSourcePrepareParameters ( FlexibleModelFittingParameterManager parameter_manager,
ModelFitting::EngineParameterManager engine_parameter_manager,
SourceInterface source,
int  index,
FittingState state 
) const
private

Definition at line 333 of file FlexibleModelFittingIterativeTask.cpp.

References SourceXtractor::FlexibleModelFittingParameterManager::addParameter(), SourceXtractor::FlexibleModelFittingParameterManager::clearAccessCheck(), m_parameters, and SourceXtractor::FlexibleModelFittingIterativeTask::FittingState::source_states.

Referenced by fitSource().

Here is the call graph for this function:

◆ fitSourceUpdateState()

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

◆ setDummyProperty()

void SourceXtractor::FlexibleModelFittingIterativeTask::setDummyProperty ( SourceInterface source,
Flags  flags 
) const
private

Definition at line 269 of file FlexibleModelFittingIterativeTask.cpp.

References m_meta_iterations, m_parameters, std::numeric_limits::quiet_NaN(), and SourceXtractor::SourceInterface::setProperty().

Referenced by fitSource().

Here is the call graph for this function:

◆ updateCheckImages()

void SourceXtractor::FlexibleModelFittingIterativeTask::updateCheckImages ( SourceGroupInterface group,
double  pixel_scale,
FittingState state 
) const
private

Member Data Documentation

◆ m_deblend_factor

double SourceXtractor::FlexibleModelFittingIterativeTask::m_deblend_factor
private

Definition at line 105 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSourcePrepareModels().

◆ m_frames

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

◆ m_least_squares_engine

std::string SourceXtractor::FlexibleModelFittingIterativeTask::m_least_squares_engine
private

Definition at line 100 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSource().

◆ m_max_fit_size

size_t SourceXtractor::FlexibleModelFittingIterativeTask::m_max_fit_size
private

Definition at line 107 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSource().

◆ m_max_iterations

unsigned int SourceXtractor::FlexibleModelFittingIterativeTask::m_max_iterations
private

Definition at line 101 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSource().

◆ m_meta_iteration_stop

double SourceXtractor::FlexibleModelFittingIterativeTask::m_meta_iteration_stop
private

Definition at line 106 of file FlexibleModelFittingIterativeTask.h.

Referenced by computeProperties().

◆ m_meta_iterations

int SourceXtractor::FlexibleModelFittingIterativeTask::m_meta_iterations
private

Definition at line 104 of file FlexibleModelFittingIterativeTask.h.

Referenced by computeProperties(), and setDummyProperty().

◆ m_modified_chi_squared_scale

double SourceXtractor::FlexibleModelFittingIterativeTask::m_modified_chi_squared_scale
private

Definition at line 102 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSourcePrepareModels().

◆ m_parameters

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

◆ m_priors

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

Definition at line 111 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSource().

◆ m_scale_factor

double SourceXtractor::FlexibleModelFittingIterativeTask::m_scale_factor
private

Definition at line 103 of file FlexibleModelFittingIterativeTask.h.

Referenced by fitSource().


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