PCL
|
PSF fit parameters. More...
#include <PSFFit.h>
Public Types | |
using | component = DPoint::component |
using | psf_fit_status = PSFFitStatus::value_type |
using | psf_function = PSFunction::value_type |
Public Member Functions | |
PSFData ()=default | |
PSFData (const PSFData &)=default | |
PSFData (PSFData &&)=default | |
DRect | Bounds (double k=1.0) const |
String | FunctionName () const |
double | FWHMx () const |
double | FWHMy () const |
DRect | FWTMBounds (double k=1.0) const |
double | FWTMx () const |
double | FWTMy () const |
bool | HasCelestialCoordinates () const |
operator bool () const | |
operator double () const | |
PSFData & | operator= (const PSFData &)=default |
PSFData & | operator= (PSFData &&)=default |
double | operator[] (int i) const noexcept |
String | StatusText () const |
void | ToImage (Image &) const |
double | Volume () const |
Static Public Member Functions | |
static double | FWHM (psf_function function, double sigma, double beta=2) |
static double | FWTM (psf_function function, double sigma, double beta=2) |
static double | Volume (psf_function function, double sigma_x, double sigma_y, double beta=2) |
Public Attributes | |
double | A = 0 |
Function amplitude (or estimated maximum) in pixel value units. | |
double | B = 0 |
Local background estimate in pixel value units. | |
DPoint | b0 = 0.0 |
Barycenter position (initial star detection position) in image coordinates. | |
double | beta = 0 |
Moffat beta or shape parameter (dimensionless). | |
DPoint | c0 = 0.0 |
Fitted centroid position in image coordinates. | |
bool | celestial = false |
True iff equatorial coordinates are available. | |
bool | circular = false |
Circular or elliptical PSF. | |
double | flux = 0 |
Total flux above the local background, measured over the rectangular fitting region. | |
psf_function | function = PSFunction::Invalid |
Point spread function type (PSFunction namespace). | |
double | mad = 0 |
DPoint | q0 = 0.0 |
Centroid equatorial coordinates, when celestial=true. | |
double | signal = 0 |
Total flux above the local background, measured over the elliptical PSF region. | |
unsigned | signalCount = 0 |
Number of pixels used for signal evaluation. | |
psf_fit_status | status = PSFFitStatus::NotFitted |
Status code (PSFFitStatus namespace). | |
double | sx = 0 |
Function width in pixels on the X axis, sx >= sy. | |
double | sy = 0 |
Function width in pixels on the Y axis, sx >= sy. | |
double | theta = 0 |
Rotation angle of the sx axis in degrees, in the [0,180) range. | |
using pcl::PSFData::psf_fit_status = PSFFitStatus::value_type |
using pcl::PSFData::psf_function = PSFunction::value_type |
|
default |
Default constructor.
|
default |
Copy constructor.
|
default |
Move constructor.
|
inline |
Returns the PSF bounding rectangle. The coordinates of the bounding rectangle r are calculated as follows:
r.x0 = c0.x - dx
r.y0 = c0.y - dy
r.x1 = c0.x + dx
r.y1 = c0.y + dy
where:
dx = k*FWHMx()/2
dy = k*FWHMy()/2
The optional argument k can be specified to account for an additional growing factor. This can be useful to represent measurement regions; e.g. in photometry applications.
Definition at line 328 of file PSFFit.h.
References c0, FWHMx(), FWHMy(), pcl::GenericPoint< T >::x, and pcl::GenericPoint< T >::y.
String pcl::PSFData::FunctionName | ( | ) | const |
Returns the name of the fitted PSF function. See the PSFunction namespace for supported functions.
|
inlinestatic |
Returns the full width at half maximum (FWHM) corresponding to a supported function with the specified parameters.
function | The type of point spread function. See the PSFunction namespace for supported functions. |
sigma | Estimated function width. |
beta | Moffat beta or VariableShape shape parameter. Must be > 0. |
The returned value is the FWHM in sigma units, or zero if an invalid or unsupported function type has been specified.
Definition at line 392 of file PSFFit.h.
References beta, pcl::Pow(), pcl::Pow2(), and pcl::Sqrt().
|
inline |
Returns the full width at half maximum (FWHM) on the X axis in pixels.
For an elliptic PSF, the X axis corresponds to the orientation of the major function axis as projected on the image.
For a circular PSF, FWHMx() and FWHMy() are equivalent.
Definition at line 257 of file PSFFit.h.
References beta, FWHM(), and sx.
Referenced by Bounds().
|
inline |
Returns the full width at half maximum (FWHM) on the Y axis in pixels.
For an elliptic PSF, the Y axis corresponds to the orientation of the minor function axis as projected on the image.
For a circular PSF, FWHMx() and FWHMy() are equivalent.
Definition at line 270 of file PSFFit.h.
References beta, FWHM(), and sy.
Referenced by Bounds().
|
inlinestatic |
Returns the full width at tenth maximum (FWTM) corresponding to a supported function with the specified parameters.
function | The type of point spread function. See the PSFunction namespace for supported functions. |
sigma | Estimated function width. |
beta | Moffat beta or VariableShape shape parameter. Must be > 0. |
The returned value is the FWTM in sigma units, or zero if an invalid or unsupported function type has been specified.
Definition at line 426 of file PSFFit.h.
References beta, pcl::Pow(), and pcl::Sqrt().
|
inline |
Returns the PSF bounding rectangle corresponding to the full width at tenth maximum (FWTM). The coordinates of the bounding rectangle r are calculated as follows:
r.x0 = c0.x - dx
r.y0 = c0.y - dy
r.x1 = c0.x + dx
r.y1 = c0.y + dy
where:
dx = k*FWTMx()/2
dy = k*FWTMy()/2
The optional argument k can be specified to account for an additional growing factor. This can be useful to represent measurement regions; e.g. in photometry applications.
Definition at line 354 of file PSFFit.h.
References c0, FWTMx(), FWTMy(), pcl::GenericPoint< T >::x, and pcl::GenericPoint< T >::y.
|
inline |
Returns the full width at tenth maximum (FWTM) on the X axis in pixels.
For an elliptic PSF, the X axis corresponds to the orientation of the major function axis as projected on the image.
For a circular PSF, FWTMx() and FWTMy() are equivalent.
Definition at line 283 of file PSFFit.h.
References beta, FWTM(), and sx.
Referenced by FWTMBounds().
|
inline |
Returns the full width at tenth maximum (FWTM) on the Y axis in pixels.
For an elliptic PSF, the Y axis corresponds to the orientation of the minor function axis as projected on the image.
For a circular PSF, FWTMx() and FWTMy() are equivalent.
Definition at line 296 of file PSFFit.h.
References beta, FWTM(), and sy.
Referenced by FWTMBounds().
|
inline |
|
inline |
|
inline |
Copy assignment operator. Returns a reference to this object.
Move assignment operator. Returns a reference to this object.
|
inlinenoexcept |
Returns a centroid coordinate. Returns the X centroid coordinate if the specified index i is zero, or the Y coordinate otherwise.
Definition at line 233 of file PSFFit.h.
References c0, pcl::GenericPoint< T >::x, and pcl::GenericPoint< T >::y.
String pcl::PSFData::StatusText | ( | ) | const |
Returns a string with a brief description of the current fitting status.
void pcl::PSFData::ToImage | ( | Image & | ) | const |
Returns an image representation (in 32-bit floating point format) of the fitted point spread function.
|
inline |
|
inlinestatic |
Returns the double integral of a supported elliptical function with the specified parameters.
function | The type of point spread function. See the PSFunction namespace for supported functions. |
sigma_x | Estimated function width on the X axis. |
sigma_y | Estimated function width on the Y axis. |
beta | Moffat beta or VariableShape shape parameter. Must be > 0. Must be > 1 for Moffat functions. |
The returned value is the volume of the PSF over the XY plane, or zero if an invalid or unsupported function type has been specified, or if the beta parameter is invalid for the type of PSF specified.
Definition at line 466 of file PSFFit.h.
References beta.
double pcl::PSFData::mad = 0 |