SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
ModelFitting::CompactModelBase< ImageType > Class Template Reference

#include <CompactModelBase.h>

Inheritance diagram for ModelFitting::CompactModelBase< ImageType >:
Collaboration diagram for ModelFitting::CompactModelBase< ImageType >:

Public Member Functions

 CompactModelBase (std::shared_ptr< BasicParameter > x_scale, std::shared_ptr< BasicParameter > y_scale, std::shared_ptr< BasicParameter > rotation, double width, double height, std::shared_ptr< BasicParameter > x, std::shared_ptr< BasicParameter > y, std::tuple< double, double, double, double > transform)
virtual ~CompactModelBase ()=default
Public Member Functions inherited from ModelFitting::ExtendedModel< ImageType >
 ExtendedModel (std::vector< std::unique_ptr< ModelComponent > > &&component_list, std::shared_ptr< BasicParameter > x_scale, std::shared_ptr< BasicParameter > y_scale, std::shared_ptr< BasicParameter > rotation_angle, double width, double height, std::shared_ptr< BasicParameter > x, std::shared_ptr< BasicParameter > y)
 ExtendedModel (ExtendedModel &&)=default
virtual ~ExtendedModel ()=default
virtual double getValue (double x, double y) const
virtual ImageType getRasterizedImage (double pixel_scale, std::size_t size_x, std::size_t size_y) const
double getWidth () const
double getHeight () const
Public Member Functions inherited from ModelFitting::PositionedModel
 PositionedModel (std::shared_ptr< BasicParameter > x, std::shared_ptr< BasicParameter > y)
 PositionedModel (PositionedModel &&other)
virtual ~PositionedModel ()=default
double getX () const
double getY () const

Protected Member Functions

Mat22 getCombinedTransform (double pixel_scale) const
template<typename ModelEvaluator>
float samplePixel (const ModelEvaluator &model_eval, int x, int y, unsigned int subsampling) const
template<typename ModelEvaluator>
float sampleStochastic (const ModelEvaluator &model_eval, int x, int y, unsigned int samples=100) const
template<typename ModelEvaluator>
float adaptiveSamplePixel (const ModelEvaluator &model_eval, int x, int y, unsigned int max_subsampling, float threshold=1.1) const
double getMaxRadiusSqr (std::size_t size_x, std::size_t size_y, const Mat22 &transform) const
void renormalize (ImageType &image, double flux) const

Protected Attributes

Mat22 m_jacobian
Mat22 m_inv_jacobian
Protected Attributes inherited from ModelFitting::ExtendedModel< ImageType >
std::vector< std::unique_ptr< ModelComponent > > m_component_list {}

Private Member Functions

double computeSqrDistanceLineToOrigin (double x1, double y1, double x2, double y2) const

Private Attributes

std::shared_ptr< BasicParameterm_x_scale
std::shared_ptr< BasicParameterm_y_scale
std::shared_ptr< BasicParameterm_rotation

Detailed Description

template<typename ImageType>
class ModelFitting::CompactModelBase< ImageType >

Definition at line 21 of file CompactModelBase.h.

Constructor & Destructor Documentation

◆ CompactModelBase()

◆ ~CompactModelBase()

template<typename ImageType>
virtual ModelFitting::CompactModelBase< ImageType >::~CompactModelBase ( )
virtualdefault

References pixel_scale, and std::transform().

Here is the call graph for this function:

Member Function Documentation

◆ adaptiveSamplePixel()

template<typename ImageType>
template<typename ModelEvaluator>
float ModelFitting::CompactModelBase< ImageType >::adaptiveSamplePixel ( const ModelEvaluator & model_eval,
int x,
int y,
unsigned int max_subsampling,
float threshold = 1.1 ) const
inlineprotected

◆ computeSqrDistanceLineToOrigin()

template<typename ImageType>
double ModelFitting::CompactModelBase< ImageType >::computeSqrDistanceLineToOrigin ( double x1,
double y1,
double x2,
double y2 ) const
private

Definition at line 102 of file CompactModelBase.icpp.

Referenced by getMaxRadiusSqr().

◆ getCombinedTransform()

◆ getMaxRadiusSqr()

template<typename ImageType>
double ModelFitting::CompactModelBase< ImageType >::getMaxRadiusSqr ( std::size_t size_x,
std::size_t size_y,
const Mat22 & transform ) const
protected

◆ renormalize()

◆ samplePixel()

template<typename ImageType>
template<typename ModelEvaluator>
float ModelFitting::CompactModelBase< ImageType >::samplePixel ( const ModelEvaluator & model_eval,
int x,
int y,
unsigned int subsampling ) const
inlineprotected

◆ sampleStochastic()

template<typename ImageType>
template<typename ModelEvaluator>
float ModelFitting::CompactModelBase< ImageType >::sampleStochastic ( const ModelEvaluator & model_eval,
int x,
int y,
unsigned int samples = 100 ) const
inlineprotected

Definition at line 66 of file CompactModelBase.icpp.

Member Data Documentation

◆ m_inv_jacobian

template<typename ImageType>
Mat22 ModelFitting::CompactModelBase< ImageType >::m_inv_jacobian
protected

Definition at line 49 of file CompactModelBase.h.

Referenced by getCombinedTransform().

◆ m_jacobian

◆ m_rotation

template<typename ImageType>
std::shared_ptr<BasicParameter> ModelFitting::CompactModelBase< ImageType >::m_rotation
private

Definition at line 56 of file CompactModelBase.h.

Referenced by getCombinedTransform().

◆ m_x_scale

template<typename ImageType>
std::shared_ptr<BasicParameter> ModelFitting::CompactModelBase< ImageType >::m_x_scale
private

Definition at line 54 of file CompactModelBase.h.

Referenced by getCombinedTransform().

◆ m_y_scale

template<typename ImageType>
std::shared_ptr<BasicParameter> ModelFitting::CompactModelBase< ImageType >::m_y_scale
private

Definition at line 55 of file CompactModelBase.h.

Referenced by getCombinedTransform().


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