lsst.gauss2d gbf99507273+afb4790f61
 
Loading...
Searching...
No Matches
lsst::gauss2d::EllipseData Class Referenceabstract

Interface for an object storing Ellipse data. More...

#include <ellipse.h>

Inheritance diagram for lsst::gauss2d::EllipseData:
lsst::gauss2d::Object lsst::gauss2d::Ellipse lsst::gauss2d::EllipseValues

Public Member Functions

virtual void convolve (const Ellipse &ell)
 Convolve this ellipse with another.
 
virtual double get_area () const
 Return the area of this ellipse, equal to pi*sigma_major*sigma_minor.
 
virtual double get_cov_xy () const
 Return the covariance, equal to sigma_x*sigma_y*rho.
 
virtual double get_hwhm_x () const
 Get the x-axis half-width at half-maximum.
 
virtual double get_hwhm_y () const
 Get the y-axis half-width at half-maximum.
 
virtual double get_radius_trace () const
 Return the trace radius, equal to sqrt(sigma_x^2 + sigma_y^2)
 
virtual double get_sigma_x () const =0
 Get sigma_x.
 
virtual double get_sigma_y () const =0
 Get sigma_y.
 
virtual double get_rho () const =0
 Get rho.
 
virtual double get_sigma_x_sq () const
 Get the square of sigma_x.
 
virtual double get_sigma_y_sq () const
 Get the square of sigma_y.
 
virtual double get_sigma_xy () const
 Return sigma_x*sigma_y.
 
virtual std::array< double, 3 > get_hxyr () const
 Get hwhm_x, hwhm_y, rho.
 
virtual std::array< double, 3 > get_xyr () const
 Get sigma_x, sigma_y, rho.
 
virtual void set (double sigma_x, double sigma_y, double rho)
 Set sigma_x, sigma_y, rho.
 
virtual void set (const Covariance &covar)
 Set values from a Covariance object.
 
virtual void set (const EllipseMajor &ellipse)
 Set values from an EllipseMajor object.
 
virtual void set_h (double hwhm_x, double hwhm_y, double rho)
 Set hwhm_x, hwhm_y, rho (half-width at half-max)
 
virtual void set_hwhm_x (double hwhm_x)
 Set the x-axis half-width at half-max (FWHM/2)
 
virtual void set_hwhm_y (double hwhm_y)
 Set the y-axis half-width at half-max (FWHM/2)
 
virtual void set_sigma_x (double sigma_x)=0
 Set the x-axis dispersion (sigma)
 
virtual void set_sigma_y (double sigma_y)=0
 Set the y-axis dispersion (sigma)
 
virtual void set_rho (double rho)=0
 Set the correlation parameter (rho)
 
virtual void set_hxyr (const std::array< double, 3 > &hxyr)
 Set hwhm_x, hwhm_y, rho from an array.
 
virtual void set_xyr (const std::array< double, 3 > &xyr)
 Set sigma_x, sigma_y, rho from an array.
 
virtual std::string repr (bool name_keywords=false, std::string_view namespace_separator=Object::CC_NAMESPACE_SEPARATOR) const override=0
 
virtual std::string str () const override=0
 Return a brief, human-readable string representation of this.
 
bool operator== (const EllipseData &other) const
 
bool operator!= (const EllipseData &other) const
 

Static Public Member Functions

static void check (double size_x, double size_y, double rho, std::string_view error_suffix="")
 Check whether Ellipse parameter values are valid, throwing if not.
 
static void check_size (double size, std::string_view error_suffix="")
 Check whether an x- or x-yaxis size value is valid.
 
static void check_rho (double rho, std::string_view error_suffix="")
 Check whether a rho value is valid.
 
- Static Public Member Functions inherited from lsst::gauss2d::Object
static std::string_view null_str (const std::string_view &namespace_separator)
 

Friends

std::ostreamoperator<< (std::ostream &out, const EllipseData &obj)
 

Additional Inherited Members

- Static Public Attributes inherited from lsst::gauss2d::Object
static constexpr std::string_view CC_NAMESPACE_SEPARATOR = "::"
 The C++ namespace separator.
 
static constexpr std::string_view NULL_STR_GENERAL = "None"
 
static constexpr std::string_view PY_NAMESPACE_SEPARATOR = "."
 

Detailed Description

Interface for an object storing Ellipse data.

This is an abstract class designed to store data for an Ellipse to retrieve. No additional restrictions are placed on implementations. Some default implementations are provided.

Member Function Documentation

◆ get_rho()

virtual double lsst::gauss2d::EllipseData::get_rho ( ) const
pure virtual

◆ get_sigma_x()

virtual double lsst::gauss2d::EllipseData::get_sigma_x ( ) const
pure virtual

Get sigma_x.

Implemented in lsst::gauss2d::Ellipse, and lsst::gauss2d::EllipseValues.

◆ get_sigma_y()

virtual double lsst::gauss2d::EllipseData::get_sigma_y ( ) const
pure virtual

Get sigma_y.

Implemented in lsst::gauss2d::Ellipse, and lsst::gauss2d::EllipseValues.

◆ get_xyr()

std::array< double, 3 > lsst::gauss2d::EllipseData::get_xyr ( ) const
virtual

Get sigma_x, sigma_y, rho.

Reimplemented in lsst::gauss2d::EllipseValues.

◆ repr()

virtual std::string lsst::gauss2d::EllipseData::repr ( bool name_keywords = false,
std::string_view namespace_separator = Object::CC_NAMESPACE_SEPARATOR ) const
overridepure virtual

Return a full, callable string representation of this.

Parameters
name_keywordsWhether to prefix arguments with "{name}=", where name is the arg name in the header (as with keyword arguments in Python).
namespace_separatorThe string to use to delimit namespaces, i.e. :: in C++ and . in Python.
Returns
A callable string representation of this, which should return an an identical object to this.
Note
The representation with name_keywords=false must be callable in C++. The representation with name_keywords=true should be callable in Python, if there are any bindings.

Implements lsst::gauss2d::Object.

Implemented in lsst::gauss2d::Ellipse, and lsst::gauss2d::EllipseValues.

◆ set()

void lsst::gauss2d::EllipseData::set ( double sigma_x,
double sigma_y,
double rho )
virtual

Set sigma_x, sigma_y, rho.

Reimplemented in lsst::gauss2d::EllipseValues.

◆ set_h()

void lsst::gauss2d::EllipseData::set_h ( double hwhm_x,
double hwhm_y,
double rho )
virtual

Set hwhm_x, hwhm_y, rho (half-width at half-max)

Reimplemented in lsst::gauss2d::EllipseValues.

◆ set_rho()

virtual void lsst::gauss2d::EllipseData::set_rho ( double rho)
pure virtual

Set the correlation parameter (rho)

Implemented in lsst::gauss2d::Ellipse, and lsst::gauss2d::EllipseValues.

◆ set_sigma_x()

virtual void lsst::gauss2d::EllipseData::set_sigma_x ( double sigma_x)
pure virtual

Set the x-axis dispersion (sigma)

Implemented in lsst::gauss2d::Ellipse, and lsst::gauss2d::EllipseValues.

◆ set_sigma_y()

virtual void lsst::gauss2d::EllipseData::set_sigma_y ( double sigma_y)
pure virtual

Set the y-axis dispersion (sigma)

Implemented in lsst::gauss2d::Ellipse, and lsst::gauss2d::EllipseValues.

◆ str()

virtual std::string lsst::gauss2d::EllipseData::str ( ) const
overridepure virtual

Return a brief, human-readable string representation of this.

Implements lsst::gauss2d::Object.

Implemented in lsst::gauss2d::Ellipse, and lsst::gauss2d::EllipseValues.


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