File ChipVisitAstrometryMapping.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 ChipVisitAstrometryMapping : public lsst::jointcal::AstrometryMapping
#include <ChipVisitAstrometryMapping.h>

The mapping with two transforms in a row.

Public Functions

ChipVisitAstrometryMapping(std::shared_ptr<SimpleAstrometryMapping> chipMapping, std::shared_ptr<SimpleAstrometryMapping> visitMapping)
ChipVisitAstrometryMapping(ChipVisitAstrometryMapping const&)

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

ChipVisitAstrometryMapping(ChipVisitAstrometryMapping&&)
ChipVisitAstrometryMapping &operator=(ChipVisitAstrometryMapping const&)
ChipVisitAstrometryMapping &operator=(ChipVisitAstrometryMapping&&)
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 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

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

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

void offsetParams(Eigen::VectorXd const &delta)

Remember the error scale and freeze it.

Note

this routine is not used when fitting (the Model manages the mappings separately), but can be useful for debugging

AstrometryTransform const &getTransform1() const

access to transforms

AstrometryTransform const &getTransform2() const

access to transforms

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

Currently not implemented.

void freezeErrorTransform()

Currently not implemented.

Private Functions

void setWhatToFit(const bool fittingT1, const bool fittingT2)

Private Members

std::shared_ptr<SimpleAstrometryMapping> _m1
std::shared_ptr<SimpleAstrometryMapping> _m2
Eigen::Index _nPar1
Eigen::Index _nPar2
std::unique_ptr<tmpVars> tmp

Friends

friend lsst::jointcal::ConstrainedAstrometryModel
struct tmpVars

Public Members

Eigen::MatrixX2d h1
Eigen::MatrixX2d h2
Eigen::Matrix2d dt2dx