File SimpleAstrometryMapping.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 jointcal
class SimpleAstrometryMapping : public lsst::jointcal::AstrometryMapping

Subclassed by lsst::jointcal::SimplePolyMapping

Public Functions

SimpleAstrometryMapping(AstrometryTransform const &astrometryTransform, bool toBeFit = true)
SimpleAstrometryMapping(SimpleAstrometryMapping const&)

No copy or move: there is only ever one instance of a given mapping (i.e.. per ccd+visit)

SimpleAstrometryMapping(SimpleAstrometryMapping&&)
SimpleAstrometryMapping &operator=(SimpleAstrometryMapping const&)
SimpleAstrometryMapping &operator=(SimpleAstrometryMapping&&)
virtual void freezeErrorTransform()
std::size_t getNpar() const

Number of parameters in total.

void getMappingIndices(IndexVector &indices) const

Sets how this set of parameters (of length Npar()) map into the “grand” fit Expects that indices has enough space reserved.

void transformPosAndErrors(FatPoint const &where, FatPoint &outPoint) const

The same as above but without the parameter derivatives (used to evaluate chi^2)

void positionDerivative(Point const &where, Eigen::Matrix2d &derivative, double epsilon) const

The derivative w.r.t. position.

void offsetParams(Eigen::VectorXd const &delta)

Remember the error scale and freeze it.

Eigen::Index getIndex() const

position of the parameters within the grand fitting scheme

void setIndex(Eigen::Index i)
virtual void computeTransformAndDerivatives(FatPoint const &where, FatPoint &outPoint, Eigen::MatrixX2d &H) const

Actually applies the AstrometryMapping and evaluates the derivatives w.r.t the fitted parameters.

This is grouped into a single call because for most models, evaluating the derivatives w.r.T parameters is not much longer than just transforming

virtual AstrometryTransform const &getTransform() const

Access to the (fitted) transform.

bool getToBeFit() const

Get whether this mapping is fit as part of a Model.

void setToBeFit(bool value)

Set whether this Mapping is to be fit as part of a Model.

Protected Attributes

bool toBeFit
Eigen::Index index
std::shared_ptr<AstrometryTransform> transform
std::shared_ptr<AstrometryTransform> errorProp
std::unique_ptr<AstrometryTransformLinear> lin
class SimplePolyMapping : public lsst::jointcal::SimpleAstrometryMapping
#include <SimpleAstrometryMapping.h>

Mapping implementation for a polynomial transformation.

Public Functions

~SimplePolyMapping()
SimplePolyMapping(AstrometryTransformLinear const &CenterAndScale, AstrometryTransformPolynomial const &transform)

The transformation will be initialized to transform, so that the effective transformation reads transform*CenterAndScale

SimplePolyMapping(SimplePolyMapping const&)

No copy or move: there is only ever one instance of a given mapping (i.e.. per ccd+visit)

SimplePolyMapping(SimplePolyMapping&&)
SimplePolyMapping &operator=(SimplePolyMapping const&)
SimplePolyMapping &operator=(SimplePolyMapping&&)
void positionDerivative(Point const &where, Eigen::Matrix2d &derivative, double epsilon) const

The derivative w.r.t. position.

virtual void computeTransformAndDerivatives(FatPoint const &where, FatPoint &outPoint, Eigen::MatrixX2d &H) const

Calls the transforms and implements the centering and scaling of coordinates.

void transformPosAndErrors(FatPoint const &where, FatPoint &outPoint) const

Implements as well the centering and scaling of coordinates.

AstrometryTransform const &getTransform() const

Access to the (fitted) transform.

Private Members

AstrometryTransformLinear _centerAndScale
Eigen::Matrix2d preDer
AstrometryTransformPolynomial actualResult