LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | Static Private Attributes | List of all members
lsst::afw::geom::ellipses::Axes Class Reference

An ellipse core for the semimajor/semiminor axis and position angle parametrization (a,b,theta). More...

#include <Axes.h>

Inheritance diagram for lsst::afw::geom::ellipses::Axes:
lsst::afw::geom::ellipses::BaseCore

Public Types

enum  ParameterEnum { A =0, B =1, THETA =2 }
 
typedef boost::shared_ptr< AxesPtr
 
typedef boost::shared_ptr
< Axes const > 
ConstPtr
 
- Public Types inherited from lsst::afw::geom::ellipses::BaseCore
typedef boost::shared_ptr
< BaseCore
Ptr
 
typedef boost::shared_ptr
< BaseCore const > 
ConstPtr
 
typedef Eigen::Vector3d ParameterVector
 Parameter vector type. More...
 
typedef Eigen::Matrix3d Jacobian
 Parameter Jacobian matrix type. More...
 

Public Member Functions

double const getA () const
 
void setA (double a)
 
double const getB () const
 
void setB (double b)
 
double const getTheta () const
 
void setTheta (double theta)
 
Ptr clone () const
 Deep copy the ellipse core. More...
 
virtual std::string getName () const
 Return a string that identifies this parametrization. More...
 
virtual void normalize ()
 Put the parameters into a "standard form", if possible, and throw InvalidEllipseParameters if they cannot be normalized. More...
 
virtual void readParameters (double const *iter)
 
virtual void writeParameters (double *iter) const
 
Axesoperator= (Axes const &other)
 Standard assignment. More...
 
Axesoperator= (BaseCore const &other)
 Converting assignment. More...
 
 Axes (double a=1.0, double b=1.0, double theta=0.0, bool normalize=false)
 Construct from parameter values. More...
 
 Axes (BaseCore::ParameterVector const &vector, bool normalize=false)
 Construct from a parameter vector. More...
 
 Axes (Axes const &other)
 Copy constructor. More...
 
 Axes (BaseCore const &other)
 Converting copy constructor. More...
 
 Axes (BaseCore::Transformer const &transformer)
 Converting copy constructor. More...
 
 Axes (BaseCore::Convolution const &convolution)
 Converting copy constructor. More...
 
- Public Member Functions inherited from lsst::afw::geom::ellipses::BaseCore
Ptr clone () const
 Deep-copy the Core. More...
 
void grow (double buffer)
 Increase the major and minor radii of the ellipse core by the given buffer. More...
 
void scale (double factor)
 Scale the size of the ellipse core by the given factor. More...
 
double getArea () const
 Return the area of the ellipse core. More...
 
double getDeterminantRadius () const
 Return the radius defined as the 4th root of the determinant of the quadrupole matrix. More...
 
double getTraceRadius () const
 Return the radius defined as the square root of one half the trace of the quadrupole matrix. More...
 
GridTransform const getGridTransform () const
 Return the transform that maps the ellipse to the unit circle. More...
 
Extent2D computeDimensions () const
 Return the size of the bounding box for the ellipse core. More...
 
ParameterVector const getParameterVector () const
 Return the core parameters as a vector. More...
 
void setParameterVector (ParameterVector const &vector)
 Set the core parameters from a vector. More...
 
bool operator== (BaseCore const &other) const
 Compare two ellipse cores for equality. More...
 
bool operator!= (BaseCore const &other) const
 Compare two ellipse cores for inequality. More...
 
BaseCoreoperator= (BaseCore const &other)
 Set the parameters of this ellipse core from another. More...
 
Jacobian dAssign (BaseCore const &other)
 Assign other to this and return the derivative of the conversion, d(this)/d(other). More...
 
template<typename Output >
Converter< Output > as () const
 Convert this to the core type specified as a template parameter. More...
 
virtual ~BaseCore ()
 
Transformer transform (LinearTransform const &transform)
 
Transformer const transform (LinearTransform const &transform) const
 
Convolution convolve (BaseCore const &other)
 
Convolution const convolve (BaseCore const &other) const
 

Protected Member Functions

virtual BaseCore::Ptr _clone () const
 
virtual void _assignToQuadrupole (double &ixx, double &iyy, double &ixy) const
 
virtual void _assignFromQuadrupole (double ixx, double iyy, double ixy)
 
virtual void _assignToAxes (double &a, double &b, double &theta) const
 
virtual void _assignFromAxes (double a, double b, double theta)
 
virtual Jacobian _dAssignToQuadrupole (double &ixx, double &iyy, double &ixy) const
 
virtual Jacobian _dAssignFromQuadrupole (double ixx, double iyy, double ixy)
 
virtual Jacobian _dAssignToAxes (double &a, double &b, double &theta) const
 
virtual Jacobian _dAssignFromAxes (double a, double b, double theta)
 

Private Attributes

ParameterVector _vector
 

Static Private Attributes

static Registrar< Axesregistrar
 

Additional Inherited Members

- Static Public Member Functions inherited from lsst::afw::geom::ellipses::BaseCore
static Ptr make (std::string const &name)
 
static Ptr make (std::string const &name, ParameterVector const &parameters)
 
static Ptr make (std::string const &name, double v1, double v2, double v3)
 
static Ptr make (std::string const &name, BaseCore const &other)
 
static Ptr make (std::string const &name, Transformer const &other)
 
static Ptr make (std::string const &name, Convolution const &other)
 
- Static Protected Member Functions inherited from lsst::afw::geom::ellipses::BaseCore
static void registerSubclass (Ptr const &example)
 
static void _assignQuadrupoleToAxes (double ixx, double iyy, double ixy, double &a, double &b, double &theta)
 
static Jacobian _dAssignQuadrupoleToAxes (double ixx, double iyy, double ixy, double &a, double &b, double &theta)
 
static void _assignAxesToQuadrupole (double a, double b, double theta, double &ixx, double &iyy, double &ixy)
 
static Jacobian _dAssignAxesToQuadrupole (double a, double b, double theta, double &ixx, double &iyy, double &ixy)
 

Detailed Description

An ellipse core for the semimajor/semiminor axis and position angle parametrization (a,b,theta).

Definition at line 45 of file Axes.h.

Member Typedef Documentation

typedef boost::shared_ptr<Axes const> lsst::afw::geom::ellipses::Axes::ConstPtr

Definition at line 49 of file Axes.h.

typedef boost::shared_ptr<Axes> lsst::afw::geom::ellipses::Axes::Ptr

Definition at line 48 of file Axes.h.

Member Enumeration Documentation

Enumerator
A 
B 
THETA 

Definition at line 51 of file Axes.h.

Constructor & Destructor Documentation

lsst::afw::geom::ellipses::Axes::Axes ( double  a = 1.0,
double  b = 1.0,
double  theta = 0.0,
bool  normalize = false 
)
inlineexplicit

Construct from parameter values.

Definition at line 85 of file Axes.h.

85  :
86  _vector(a, b, theta) { if (normalize) this->normalize(); }
afw::table::Key< double > b
ParameterVector _vector
Definition: Axes.h:128
virtual void normalize()
Put the parameters into a &quot;standard form&quot;, if possible, and throw InvalidEllipseParameters if they ca...
lsst::afw::geom::ellipses::Axes::Axes ( BaseCore::ParameterVector const &  vector,
bool  normalize = false 
)
inlineexplicit

Construct from a parameter vector.

Definition at line 89 of file Axes.h.

89  :
90  _vector(vector) { if (normalize) this->normalize(); }
ParameterVector _vector
Definition: Axes.h:128
virtual void normalize()
Put the parameters into a &quot;standard form&quot;, if possible, and throw InvalidEllipseParameters if they ca...
lsst::afw::geom::ellipses::Axes::Axes ( Axes const &  other)
inline

Copy constructor.

Definition at line 93 of file Axes.h.

93 : _vector(other._vector) {}
ParameterVector _vector
Definition: Axes.h:128
lsst::afw::geom::ellipses::Axes::Axes ( BaseCore const &  other)
inline

Converting copy constructor.

Definition at line 96 of file Axes.h.

96 { *this = other; }
lsst::afw::geom::ellipses::Axes::Axes ( BaseCore::Transformer const &  transformer)
inline

Converting copy constructor.

Definition at line 100 of file Axes.h.

100  {
101  transformer.apply(*this);
102  }
lsst::afw::geom::ellipses::Axes::Axes ( BaseCore::Convolution const &  convolution)
inline

Converting copy constructor.

Definition at line 105 of file Axes.h.

105  {
106  convolution.apply(*this);
107  }

Member Function Documentation

virtual void lsst::afw::geom::ellipses::Axes::_assignFromAxes ( double  a,
double  b,
double  theta 
)
protectedvirtual
virtual void lsst::afw::geom::ellipses::Axes::_assignFromQuadrupole ( double  ixx,
double  iyy,
double  ixy 
)
protectedvirtual
virtual void lsst::afw::geom::ellipses::Axes::_assignToAxes ( double &  a,
double &  b,
double &  theta 
) const
protectedvirtual
virtual void lsst::afw::geom::ellipses::Axes::_assignToQuadrupole ( double &  ixx,
double &  iyy,
double &  ixy 
) const
protectedvirtual
virtual BaseCore::Ptr lsst::afw::geom::ellipses::Axes::_clone ( ) const
inlineprotectedvirtual

Implements lsst::afw::geom::ellipses::BaseCore.

Definition at line 111 of file Axes.h.

111 { return boost::make_shared<Axes>(*this); }
virtual Jacobian lsst::afw::geom::ellipses::Axes::_dAssignFromAxes ( double  a,
double  b,
double  theta 
)
protectedvirtual
virtual Jacobian lsst::afw::geom::ellipses::Axes::_dAssignFromQuadrupole ( double  ixx,
double  iyy,
double  ixy 
)
protectedvirtual
virtual Jacobian lsst::afw::geom::ellipses::Axes::_dAssignToAxes ( double &  a,
double &  b,
double &  theta 
) const
protectedvirtual
virtual Jacobian lsst::afw::geom::ellipses::Axes::_dAssignToQuadrupole ( double &  ixx,
double &  iyy,
double &  ixy 
) const
protectedvirtual
Ptr lsst::afw::geom::ellipses::Axes::clone ( ) const
inline

Deep copy the ellipse core.

Definition at line 63 of file Axes.h.

63 { return boost::static_pointer_cast<Axes>(_clone()); }
Axes(double a=1.0, double b=1.0, double theta=0.0, bool normalize=false)
Construct from parameter values.
Definition: Axes.h:85
virtual BaseCore::Ptr _clone() const
Definition: Axes.h:111
double const lsst::afw::geom::ellipses::Axes::getA ( ) const
inline

Definition at line 53 of file Axes.h.

53 { return _vector[A]; }
ParameterVector _vector
Definition: Axes.h:128
double const lsst::afw::geom::ellipses::Axes::getB ( ) const
inline

Definition at line 56 of file Axes.h.

56 { return _vector[B]; }
ParameterVector _vector
Definition: Axes.h:128
virtual std::string lsst::afw::geom::ellipses::Axes::getName ( ) const
virtual

Return a string that identifies this parametrization.

Implements lsst::afw::geom::ellipses::BaseCore.

double const lsst::afw::geom::ellipses::Axes::getTheta ( ) const
inline

Definition at line 59 of file Axes.h.

virtual void lsst::afw::geom::ellipses::Axes::normalize ( )
virtual

Put the parameters into a "standard form", if possible, and throw InvalidEllipseParameters if they cannot be normalized.

Implements lsst::afw::geom::ellipses::BaseCore.

Axes& lsst::afw::geom::ellipses::Axes::operator= ( Axes const &  other)
inline

Standard assignment.

Definition at line 79 of file Axes.h.

79 { _vector = other._vector; return *this; }
ParameterVector _vector
Definition: Axes.h:128
Axes& lsst::afw::geom::ellipses::Axes::operator= ( BaseCore const &  other)
inline

Converting assignment.

Definition at line 82 of file Axes.h.

82 { BaseCore::operator=(other); return *this; }
BaseCore & operator=(BaseCore const &other)
Set the parameters of this ellipse core from another.
virtual void lsst::afw::geom::ellipses::Axes::readParameters ( double const *  iter)
virtual
void lsst::afw::geom::ellipses::Axes::setA ( double  a)
inline

Definition at line 54 of file Axes.h.

void lsst::afw::geom::ellipses::Axes::setB ( double  b)
inline

Definition at line 57 of file Axes.h.

57 { _vector[B] = b; }
afw::table::Key< double > b
ParameterVector _vector
Definition: Axes.h:128
void lsst::afw::geom::ellipses::Axes::setTheta ( double  theta)
inline

Definition at line 60 of file Axes.h.

virtual void lsst::afw::geom::ellipses::Axes::writeParameters ( double *  iter) const
virtual

Member Data Documentation

ParameterVector lsst::afw::geom::ellipses::Axes::_vector
private

Definition at line 128 of file Axes.h.

Registrar<Axes> lsst::afw::geom::ellipses::Axes::registrar
staticprivate

Definition at line 126 of file Axes.h.


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