SourceXtractorPlusPlus  0.13
Please provide a description of the project.
Public Member Functions | Private Attributes | List of all members
ModelFitting::OldSharp Class Reference

#include <OldSharp.h>

Inheritance diagram for ModelFitting::OldSharp:
[legend]
Collaboration diagram for ModelFitting::OldSharp:
[legend]

Public Member Functions

 OldSharp (double r_sharp_pix=4., double log_incr=1.122, double first_r=1E-4)
 
virtual ~OldSharp ()
 
void updateRasterizationInfo (double scale, double, Profile) override
 
bool insideSharpRegion (double r) override
 
std::pair< double, int > nextRadiusAndAngleNo (double prev_r) override
 
- Public Member Functions inherited from ModelFitting::SharpRegionManager
virtual ~SharpRegionManager ()=default
 

Private Attributes

double m_r_sharp_pix
 
double m_r_sharp {0.}
 
double m_log_incr
 
double m_first_r
 

Additional Inherited Members

- Public Types inherited from ModelFitting::SharpRegionManager
using Profile = std::function< double(double)>
 

Detailed Description

Legacy implementation of the sharp region manager, matching the logic from SExtractor 2.

The number of samples at a given distance is always 72, and the sharp region is decided at construction: the first sampling distance is first_r, and each step is incremented multiplying by by log_incr. The sharp region is determined by the distance r_sharp_pix, and taking into account the pixel scale: scale * r_sharp_pix

Definition at line 39 of file OldSharp.h.

Constructor & Destructor Documentation

◆ OldSharp()

ModelFitting::OldSharp::OldSharp ( double  r_sharp_pix = 4.,
double  log_incr = 1.122,
double  first_r = 1E-4 
)

Constructor

Parameters
r_sharp_pixSharp region
log_incrIncrement multiplicative step
first_rFirst radius

Definition at line 27 of file OldSharp.cpp.

◆ ~OldSharp()

ModelFitting::OldSharp::~OldSharp ( )
virtualdefault

Member Function Documentation

◆ insideSharpRegion()

bool ModelFitting::OldSharp::insideSharpRegion ( double  r)
overridevirtual
Parameters
rDistance to the origin of the function
Returns
True if the distance falls within the sharp region

Implements ModelFitting::SharpRegionManager.

Definition at line 37 of file OldSharp.cpp.

References m_r_sharp.

◆ nextRadiusAndAngleNo()

std::pair< double, int > ModelFitting::OldSharp::nextRadiusAndAngleNo ( double  prev_r)
overridevirtual

Computes the next sampling distance, and how many points around the circumference must be sampled at this distance.

Parameters
prev_rPrevious sampling distance. 0 for the first call.
Returns
A pair, where the first element is the distance from the center (radius), and the second is the number of sample points are to be taken: if, for instance, it were 4, then four samples must be taken at angles 0, pi/4, pi and pi*3/4

Implements ModelFitting::SharpRegionManager.

Definition at line 41 of file OldSharp.cpp.

References m_first_r, m_log_incr, and std::make_pair().

Here is the call graph for this function:

◆ updateRasterizationInfo()

void ModelFitting::OldSharp::updateRasterizationInfo ( double  scale,
double  ,
Profile   
)
overridevirtual
Note
Only the scale parameter is used

Implements ModelFitting::SharpRegionManager.

Definition at line 33 of file OldSharp.cpp.

References m_r_sharp, and m_r_sharp_pix.

Member Data Documentation

◆ m_first_r

double ModelFitting::OldSharp::m_first_r
private

Definition at line 71 of file OldSharp.h.

Referenced by nextRadiusAndAngleNo().

◆ m_log_incr

double ModelFitting::OldSharp::m_log_incr
private

Definition at line 70 of file OldSharp.h.

Referenced by nextRadiusAndAngleNo().

◆ m_r_sharp

double ModelFitting::OldSharp::m_r_sharp {0.}
private

Definition at line 69 of file OldSharp.h.

Referenced by insideSharpRegion(), and updateRasterizationInfo().

◆ m_r_sharp_pix

double ModelFitting::OldSharp::m_r_sharp_pix
private

Definition at line 68 of file OldSharp.h.

Referenced by updateRasterizationInfo().


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