File BaseCore.h¶
-
namespace
lsst
Class for a simple mapping implementing a generic AstrometryTransform.
Remove all non-astronomical counts from the Chunk Exposure’s pixels.
Forward declarations for lsst::utils::Cache
For details on the Cache class, see the Cache.h file.
It uses a template rather than a pointer so that the derived classes can use the specifics of the transform. The class simplePolyMapping overloads a few routines.
A base class for image defects
Numeric constants used by the Integrate.h integrator routines.
Compute Image Statistics
- Note
Gauss-Kronrod-Patterson quadrature coefficients for use in quadpack routine qng. These coefficients were calculated with 101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov 1981.
- Note
The Statistics class itself can only handle lsst::afw::image::MaskedImage() types. The philosophy has been to handle other types by making them look like lsst::afw::image::MaskedImage() and reusing that code. Users should have no need to instantiate a Statistics object directly, but should use the overloaded makeStatistics() factory functions.
-
namespace
afw
-
namespace
geom
-
namespace
ellipses
-
class
BaseCore
- #include <BaseCore.h>
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.
Subclassed by lsst::afw::geom::ellipses::Axes, lsst::afw::geom::ellipses::Quadrupole, lsst::afw::geom::ellipses::Separable< Ellipticity_, Radius_ >
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().
-
BaseCore::Transformer
transform
(lsst::geom::LinearTransform const &transform)
-
BaseCore::Transformer const
transform
(lsst::geom::LinearTransform const &transform) const
Convolve two bivariate Gaussians defined by their 1-sigma ellipses.
-
BaseCore::Convolution
convolve
(BaseCore const &other)
-
BaseCore::Convolution const
convolve
(BaseCore const &other) const
Public Types
-
typedef Eigen::Vector3d
ParameterVector
Parameter vector type.
-
typedef Eigen::Matrix3d
Jacobian
Parameter Jacobian matrix type.
Public Functions
-
virtual std::string
getName
() const = 0 Return a string that identifies this parametrization.
-
virtual void
normalize
() = 0 Put the parameters into a “standard form”, and throw InvalidParameterError if they cannot be normalized.
-
void
grow
(double buffer) Increase the major and minor radii of the ellipse core by the given buffer.
-
void
scale
(double factor) Scale the size of the ellipse core by the given factor.
-
double
getArea
() const Return the area of the ellipse core.
-
double
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.
-
double
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.
-
BaseCore::GridTransform const
getGridTransform
() const 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.
-
lsst::geom::Extent2D
computeDimensions
() const Return the size of the bounding box for the ellipse core.
-
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.
-
void
setParameterVector
(ParameterVector const &vector) Set the core parameters from a vector.
-
bool
operator==
(BaseCore const &other) const Compare two ellipse cores for equality.
Ellipse cores are only equal if they have the same type.
-
bool
operator!=
(BaseCore const &other) const Compare two ellipse cores for inequality.
Ellipses are only equal if they have the same type.
-
BaseCore &
operator=
(BaseCore const &other) Set the parameters of this ellipse core from another.
This does not change the parametrization of the ellipse core.
-
Jacobian
dAssign
(BaseCore const &other) Assign other to this and return the derivative of the conversion, d(this)/d(other).
-
template<typename
Output
>
BaseCore::Converter<Output>as
() const Convert this to the core type specified as a template parameter.
-
virtual
~BaseCore
()
Public Static Functions
-
static std::shared_ptr<BaseCore>
make
(std::string const &name, ParameterVector const ¶meters)
-
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 Functions
-
BaseCore
()
-
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
Protected Static Functions
-
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
-
friend
lsst::afw::geom::ellipses::Parametric
-
template<typename
Output
>
structConverter
Public Functions
-
Converter
(BaseCore const &input_)
-
operator Output
() const
-
std::shared_ptr<Output>
copy
() const
Public Members
-
BaseCore const &
input
-
-
template<typename
T
>
structRegistrar
Public Functions
-
Registrar
()
-
-
BaseCore::Transformer
-
class
-
namespace
-
namespace