LSSTApplications
17.0+11,17.0+34,17.0+56,17.0+57,17.0+59,17.0+7,17.0-1-g377950a+33,17.0.1-1-g114240f+2,17.0.1-1-g4d4fbc4+28,17.0.1-1-g55520dc+49,17.0.1-1-g5f4ed7e+52,17.0.1-1-g6dd7d69+17,17.0.1-1-g8de6c91+11,17.0.1-1-gb9095d2+7,17.0.1-1-ge9fec5e+5,17.0.1-1-gf4e0155+55,17.0.1-1-gfc65f5f+50,17.0.1-1-gfc6fb1f+20,17.0.1-10-g87f9f3f+1,17.0.1-11-ge9de802+16,17.0.1-16-ga14f7d5c+4,17.0.1-17-gc79d625+1,17.0.1-17-gdae4c4a+8,17.0.1-2-g26618f5+29,17.0.1-2-g54f2ebc+9,17.0.1-2-gf403422+1,17.0.1-20-g2ca2f74+6,17.0.1-23-gf3eadeb7+1,17.0.1-3-g7e86b59+39,17.0.1-3-gb5ca14a,17.0.1-3-gd08d533+40,17.0.1-30-g596af8797,17.0.1-4-g59d126d+4,17.0.1-4-gc69c472+5,17.0.1-6-g5afd9b9+4,17.0.1-7-g35889ee+1,17.0.1-7-gc7c8782+18,17.0.1-9-gc4bbfb2+3,w.2019.22
LSSTDataManagementBasePackage
|
A base class for parametrizations of the "core" of an ellipse - the ellipticity and size. More...
#include <BaseCore.h>
Classes | |
struct | Converter |
class | Convolution |
A temporary-only expression object for ellipse core convolution. More... | |
class | GridTransform |
A temporary-only expression object representing an lsst::geom::LinearTransform that maps the ellipse core to a unit circle. More... | |
struct | Registrar |
class | Transformer |
A temporary-only expression object for ellipse core transformations. More... | |
Public Types | |
typedef Eigen::Vector3d | ParameterVector |
Parameter vector type. More... | |
typedef Eigen::Matrix3d | Jacobian |
Parameter Jacobian matrix type. More... | |
Public Member Functions | |
virtual std::string | getName () const =0 |
Return a string that identifies this parametrization. More... | |
std::shared_ptr< BaseCore > | clone () const |
Deep-copy the Core. More... | |
virtual void | normalize ()=0 |
Put the parameters into a "standard form", and throw InvalidParameterError if they cannot be normalized. 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... | |
lsst::geom::Extent2D | computeDimensions () const |
Return the size of the bounding box for the ellipse core. More... | |
virtual void | readParameters (double const *iter)=0 |
virtual void | writeParameters (double *iter) const =0 |
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... | |
BaseCore & | operator= (BaseCore const &other) |
Set the parameters of this ellipse core from another. More... | |
BaseCore & | operator= (BaseCore &&other) |
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 ()=default |
Coordinate transforms | |
These member functions transform the ellipse by the given lsst::geom::LinearTransform. The transform can be done in-place by calling inPlace() on the returned expression object, or returned as a new shared_ptr by calling copy(). | |
Transformer | transform (lsst::geom::LinearTransform const &transform) |
Transformer const | transform (lsst::geom::LinearTransform const &transform) const |
Convolve two bivariate Gaussians defined by their 1-sigma ellipses. | |
Convolution | convolve (BaseCore const &other) |
Convolution const | convolve (BaseCore const &other) const |
Static Public Member Functions | |
static std::shared_ptr< BaseCore > | make (std::string const &name) |
static std::shared_ptr< BaseCore > | make (std::string const &name, ParameterVector const ¶meters) |
static std::shared_ptr< BaseCore > | make (std::string const &name, double v1, double v2, double v3) |
static std::shared_ptr< BaseCore > | make (std::string const &name, BaseCore const &other) |
static std::shared_ptr< BaseCore > | make (std::string const &name, Transformer const &other) |
static std::shared_ptr< BaseCore > | make (std::string const &name, Convolution const &other) |
Protected Member Functions | |
BaseCore ()=default | |
BaseCore (BaseCore const &)=default | |
BaseCore (BaseCore &&)=default | |
virtual std::shared_ptr< BaseCore > | _clone () const =0 |
virtual void | _assignToQuadrupole (double &ixx, double &iyy, double &ixy) const =0 |
virtual void | _assignFromQuadrupole (double ixx, double iyy, double ixy)=0 |
virtual void | _assignToAxes (double &a, double &b, double &theta) const =0 |
virtual void | _assignFromAxes (double a, double b, double theta)=0 |
virtual Jacobian | _dAssignToQuadrupole (double &ixx, double &iyy, double &ixy) const =0 |
virtual Jacobian | _dAssignFromQuadrupole (double ixx, double iyy, double ixy)=0 |
virtual Jacobian | _dAssignToAxes (double &a, double &b, double &theta) const =0 |
virtual Jacobian | _dAssignFromAxes (double a, double b, double theta)=0 |
Static Protected Member Functions | |
static void | registerSubclass (std::shared_ptr< BaseCore > 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) |
Friends | |
class | Parametric |
A base class for parametrizations of the "core" of an ellipse - the ellipticity and size.
A subclass of BaseCore provides a particular interpretation of the three pointing point values that define an ellipse's size and ellipticity (including position angle). All core subclasses are implicitly convertible and can be assigned to from any other core.
Definition at line 55 of file BaseCore.h.
typedef Eigen::Matrix3d lsst::afw::geom::ellipses::BaseCore::Jacobian |
Parameter Jacobian matrix type.
Definition at line 64 of file BaseCore.h.
typedef Eigen::Vector3d lsst::afw::geom::ellipses::BaseCore::ParameterVector |
Parameter vector type.
Definition at line 61 of file BaseCore.h.
|
virtualdefault |
|
protecteddefault |
|
protecteddefault |
|
protecteddefault |
|
staticprotected |
Definition at line 219 of file BaseCore.cc.
|
protectedpure virtual |
|
protectedpure virtual |
|
staticprotected |
Definition at line 184 of file BaseCore.cc.
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
staticprotected |
Definition at line 232 of file BaseCore.cc.
|
protectedpure virtual |
|
protectedpure virtual |
|
staticprotected |
Definition at line 194 of file BaseCore.cc.
|
protectedpure virtual |
|
protectedpure virtual |
|
inline |
Convert this to the core type specified as a template parameter.
Definition at line 240 of file BaseCore.h.
|
inline |
Deep-copy the Core.
Definition at line 82 of file BaseCore.h.
lsst::geom::Extent2D lsst::afw::geom::ellipses::BaseCore::computeDimensions | ( | ) | const |
Return the size of the bounding box for the ellipse core.
Definition at line 130 of file BaseCore.cc.
|
inline |
Definition at line 93 of file Convolution.h.
|
inline |
Definition at line 97 of file Convolution.h.
BaseCore::Jacobian lsst::afw::geom::ellipses::BaseCore::dAssign | ( | BaseCore const & | other | ) |
Assign other to this and return the derivative of the conversion, d(this)/d(other).
Definition at line 169 of file BaseCore.cc.
double lsst::afw::geom::ellipses::BaseCore::getArea | ( | ) | const |
Return the area of the ellipse core.
Definition at line 112 of file BaseCore.cc.
double lsst::afw::geom::ellipses::BaseCore::getDeterminantRadius | ( | ) | const |
Return the radius defined as the 4th root of the determinant of the quadrupole matrix.
The determinant radius is equal to the standard radius for a circle, and its square times pi is the area of the ellipse.
Definition at line 118 of file BaseCore.cc.
|
inline |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::LinearTransform and also supports differentiation.
Definition at line 116 of file GridTransform.h.
|
pure virtual |
Return a string that identifies this parametrization.
Implemented in lsst::afw::geom::ellipses::Separable< Ellipticity_, Radius_ >, lsst::afw::geom::ellipses::Quadrupole, and lsst::afw::geom::ellipses::Axes.
BaseCore::ParameterVector const lsst::afw::geom::ellipses::BaseCore::getParameterVector | ( | ) | const |
Return the core parameters as a vector.
Definition at line 144 of file BaseCore.cc.
double lsst::afw::geom::ellipses::BaseCore::getTraceRadius | ( | ) | const |
Return the radius defined as the square root of one half the trace of the quadrupole matrix.
The trace radius is equal to the standard radius for a circle.
Definition at line 124 of file BaseCore.cc.
void lsst::afw::geom::ellipses::BaseCore::grow | ( | double | buffer | ) |
Increase the major and minor radii of the ellipse core by the given buffer.
Definition at line 96 of file BaseCore.cc.
|
static |
Definition at line 56 of file BaseCore.cc.
|
static |
Definition at line 62 of file BaseCore.cc.
|
static |
Definition at line 68 of file BaseCore.cc.
|
static |
Definition at line 74 of file BaseCore.cc.
|
static |
Definition at line 80 of file BaseCore.cc.
|
static |
Definition at line 86 of file BaseCore.cc.
|
pure virtual |
Put the parameters into a "standard form", and throw InvalidParameterError if they cannot be normalized.
Implemented in lsst::afw::geom::ellipses::Separable< Ellipticity_, Radius_ >, lsst::afw::geom::ellipses::Quadrupole, and lsst::afw::geom::ellipses::Axes.
|
inline |
Compare two ellipse cores for inequality.
Ellipses are only equal if they have the same type.
Definition at line 167 of file BaseCore.h.
Set the parameters of this ellipse core from another.
This does not change the parametrization of the ellipse core.
Definition at line 156 of file BaseCore.cc.
Definition at line 167 of file BaseCore.cc.
bool lsst::afw::geom::ellipses::BaseCore::operator== | ( | BaseCore const & | other | ) | const |
Compare two ellipse cores for equality.
Ellipse cores are only equal if they have the same type.
Definition at line 152 of file BaseCore.cc.
|
pure virtual |
|
staticprotected |
Definition at line 92 of file BaseCore.cc.
void lsst::afw::geom::ellipses::BaseCore::scale | ( | double | factor | ) |
Scale the size of the ellipse core by the given factor.
Definition at line 104 of file BaseCore.cc.
void lsst::afw::geom::ellipses::BaseCore::setParameterVector | ( | ParameterVector const & | vector | ) |
Set the core parameters from a vector.
Definition at line 150 of file BaseCore.cc.
|
inline |
Definition at line 116 of file Transformer.h.
|
inline |
Definition at line 120 of file Transformer.h.
|
pure virtual |
|
friend |
Definition at line 189 of file BaseCore.h.