SourceXtractorPlusPlus  0.8
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
ModelFitting::CircularlySymmetricModelComponent< Profile > Class Template Reference

#include <CircularlySymmetricModelComponent.h>

Inheritance diagram for ModelFitting::CircularlySymmetricModelComponent< Profile >:
[legend]
Collaboration diagram for ModelFitting::CircularlySymmetricModelComponent< Profile >:
[legend]

Public Member Functions

template<typename... ProfileParameters>
 CircularlySymmetricModelComponent (std::unique_ptr< SharpRegionManager > sharp_manager, ProfileParameters &&...proj_parameters)
 
virtual ~CircularlySymmetricModelComponent ()
 
virtual double getValue (double x, double y)
 
virtual void updateRasterizationInfo (double scale, double r_max)
 
virtual std::vector< ModelSamplegetSharpSampling ()
 
virtual bool insideSharpRegion (double x, double y)
 
- Public Member Functions inherited from ModelFitting::ModelComponent
virtual ~ModelComponent ()=default
 

Private Attributes

std::unique_ptr
< SharpRegionManager
m_sharp_manager
 
Profile m_profile
 

Additional Inherited Members

- Public Types inherited from ModelFitting::ModelComponent
using ModelSample = std::tuple< double, double, double >
 

Detailed Description

template<typename Profile>
class ModelFitting::CircularlySymmetricModelComponent< Profile >

A model component that uses a 1D function - or profile - to build a circular and symmetric 2D model.

See Also
SersicProfile as an example of such a profile

Definition at line 39 of file CircularlySymmetricModelComponent.h.

Constructor & Destructor Documentation

template<typename Profile >
template<typename... ProfileParameters>
ModelFitting::CircularlySymmetricModelComponent< Profile >::CircularlySymmetricModelComponent ( std::unique_ptr< SharpRegionManager sharp_manager,
ProfileParameters &&...  proj_parameters 
)

Constructor

Parameters
sharp_managerThe model component delegates to this region manager the determination of the sharp area. Note that you may build two different components with the same profile but different strategies for the sharp region.
proj_parametersParameters that are forwarded to the profile

Definition at line 32 of file CircularlySymmetricModelComponent.icpp.

References std::move().

Here is the call graph for this function:

template<typename Profile >
ModelFitting::CircularlySymmetricModelComponent< Profile >::~CircularlySymmetricModelComponent ( )
virtualdefault

Member Function Documentation

template<typename Profile >
auto ModelFitting::CircularlySymmetricModelComponent< Profile >::getSharpSampling ( )
virtual

Returns the samples computed only for the sharp area, if any.

The returned value is the integrated value of the function for the area corresponding to the sample, not the value of the function. A pixel may be computed adding up the samples that fall within.

Implements ModelFitting::ModelComponent.

Definition at line 54 of file CircularlySymmetricModelComponent.icpp.

References std::cos(), std::sin(), std::tie(), x, and y.

Here is the call graph for this function:

template<typename Profile >
double ModelFitting::CircularlySymmetricModelComponent< Profile >::getValue ( double  x,
double  y 
)
virtual

Returns the value of the point value of the model at the given coordinates.

Implements ModelFitting::ModelComponent.

Definition at line 43 of file CircularlySymmetricModelComponent.icpp.

References std::sqrt().

Here is the call graph for this function:

template<typename Profile >
bool ModelFitting::CircularlySymmetricModelComponent< Profile >::insideSharpRegion ( double  x,
double  y 
)
virtual

Returns true if the coordinates fall inside the sharp region

Implements ModelFitting::ModelComponent.

Definition at line 75 of file CircularlySymmetricModelComponent.icpp.

References std::sqrt().

Here is the call graph for this function:

template<typename Profile >
void ModelFitting::CircularlySymmetricModelComponent< Profile >::updateRasterizationInfo ( double  scale,
double  r_max 
)
virtual
Parameters
scale
r_max

Implements ModelFitting::ModelComponent.

Definition at line 48 of file CircularlySymmetricModelComponent.icpp.

References std::ref().

Here is the call graph for this function:

Member Data Documentation

template<typename Profile >
Profile ModelFitting::CircularlySymmetricModelComponent< Profile >::m_profile
private

Definition at line 69 of file CircularlySymmetricModelComponent.h.

template<typename Profile >
std::unique_ptr<SharpRegionManager> ModelFitting::CircularlySymmetricModelComponent< Profile >::m_sharp_manager
private

Definition at line 68 of file CircularlySymmetricModelComponent.h.


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