LSST Applications g0f08755f38+c89d42e150,g1635faa6d4+b6cf076a36,g1653933729+a8ce1bb630,g1a0ca8cf93+4c08b13bf7,g28da252d5a+f33f8200ef,g29321ee8c0+0187be18b1,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+e740673f1a,g5fbc88fb19+17cd334064,g7642f7d749+c89d42e150,g781aacb6e4+a8ce1bb630,g80478fca09+f8b2ab54e1,g82479be7b0+e2bd23ab8b,g858d7b2824+c89d42e150,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+065360aec4,gacf8899fa4+9553554aa7,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gbd46683f8f+ac57cbb13d,gc28159a63d+9634bc57db,gcf0d15dbbd+e37acf7834,gda3e153d99+c89d42e150,gda6a2b7d83+e37acf7834,gdaeeff99f8+1711a396fd,ge2409df99d+cb1e6652d6,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+02b11634a5,w.2024.45
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lsst::jointcal::AstrometryModel Class Referenceabstract

Interface between AstrometryFit and the combinations of Mappings from pixels to some tangent plane (aka distortions). More...

#include <AstrometryModel.h>

Inheritance diagram for lsst::jointcal::AstrometryModel:
lsst::jointcal::ConstrainedAstrometryModel lsst::jointcal::SimpleAstrometryModel

Public Member Functions

 AstrometryModel (LOG_LOGGER log)
 
std::size_t getNpar (CcdImage const &ccdImage) const
 Return the number of parameters in the mapping of CcdImage.
 
virtual const AstrometryMappinggetMapping (CcdImage const &) const =0
 Mapping associated to a given CcdImage.
 
virtual Eigen::Index assignIndices (std::string const &whatToFit, Eigen::Index firstIndex)=0
 Assign indices to parameters involved in mappings, starting at firstIndex.
 
virtual void offsetParams (Eigen::VectorXd const &delta)=0
 Offset the parameters by the provided amounts (by -delta).
 
virtual const std::shared_ptr< AstrometryTransform const > getSkyToTangentPlane (CcdImage const &ccdImage) const =0
 The transformation used to project the positions of FittedStars.
 
virtual std::shared_ptr< afw::geom::SkyWcsmakeSkyWcs (CcdImage const &ccdImage) const =0
 Make a SkyWcs that contains this model.
 
virtual void freezeErrorTransform ()=0
 
virtual std::size_t getTotalParameters () const =0
 Return the total number of parameters in this model.
 
virtual void print (std::ostream &out) const =0
 Print a string representation of the contents of this mapping, for debugging.
 
virtual ~AstrometryModel ()=default
 
bool validate (CcdImageList const &ccdImageList, int ndof) const
 Return true if this is a "reasonable" model.
 

Protected Member Functions

virtual AstrometryMappingfindMapping (CcdImage const &ccdImage) const =0
 Return a pointer to the mapping associated with this ccdImage.
 

Protected Attributes

LOG_LOGGER _log
 lsst.logging instance, to be created by a subclass so that messages have consistent name.
 

Detailed Description

Interface between AstrometryFit and the combinations of Mappings from pixels to some tangent plane (aka distortions).

Parameters
logLogger to send messages to, to keep names consistent when logging.

Definition at line 51 of file AstrometryModel.h.

Constructor & Destructor Documentation

◆ AstrometryModel()

lsst::jointcal::AstrometryModel::AstrometryModel ( LOG_LOGGER log)
inline

Definition at line 53 of file AstrometryModel.h.

53: _log(std::move(log)) {}
LOG_LOGGER _log
lsst.logging instance, to be created by a subclass so that messages have consistent name.
T move(T... args)

◆ ~AstrometryModel()

virtual lsst::jointcal::AstrometryModel::~AstrometryModel ( )
virtualdefault

Member Function Documentation

◆ assignIndices()

virtual Eigen::Index lsst::jointcal::AstrometryModel::assignIndices ( std::string const & whatToFit,
Eigen::Index firstIndex )
pure virtual

Assign indices to parameters involved in mappings, starting at firstIndex.

Returns the highest assigned index.

Implemented in lsst::jointcal::ConstrainedAstrometryModel, and lsst::jointcal::SimpleAstrometryModel.

◆ findMapping()

virtual AstrometryMapping * lsst::jointcal::AstrometryModel::findMapping ( CcdImage const & ccdImage) const
protectedpure virtual

Return a pointer to the mapping associated with this ccdImage.

Implemented in lsst::jointcal::ConstrainedAstrometryModel, and lsst::jointcal::SimpleAstrometryModel.

◆ freezeErrorTransform()

virtual void lsst::jointcal::AstrometryModel::freezeErrorTransform ( )
pure virtual

◆ getMapping()

virtual const AstrometryMapping * lsst::jointcal::AstrometryModel::getMapping ( CcdImage const & ) const
pure virtual

◆ getNpar()

std::size_t lsst::jointcal::AstrometryModel::getNpar ( CcdImage const & ccdImage) const
inline

Return the number of parameters in the mapping of CcdImage.

Definition at line 56 of file AstrometryModel.h.

56{ return findMapping(ccdImage)->getNpar(); }
virtual std::size_t getNpar() const =0
Number of parameters in total.
virtual AstrometryMapping * findMapping(CcdImage const &ccdImage) const =0
Return a pointer to the mapping associated with this ccdImage.

◆ getSkyToTangentPlane()

virtual const std::shared_ptr< AstrometryTransform const > lsst::jointcal::AstrometryModel::getSkyToTangentPlane ( CcdImage const & ccdImage) const
pure virtual

The transformation used to project the positions of FittedStars.

This defines the coordinate system into which the Mapping of this Ccdimage maps the pixel coordinates.

Implemented in lsst::jointcal::ConstrainedAstrometryModel, and lsst::jointcal::SimpleAstrometryModel.

◆ getTotalParameters()

virtual std::size_t lsst::jointcal::AstrometryModel::getTotalParameters ( ) const
pure virtual

Return the total number of parameters in this model.

Implemented in lsst::jointcal::ConstrainedAstrometryModel, and lsst::jointcal::SimpleAstrometryModel.

◆ makeSkyWcs()

virtual std::shared_ptr< afw::geom::SkyWcs > lsst::jointcal::AstrometryModel::makeSkyWcs ( CcdImage const & ccdImage) const
pure virtual

Make a SkyWcs that contains this model.

Parameters
ccdImageThe exposure to create the SkyWcs for.
Returns
SkyWcs containing this model.

Implemented in lsst::jointcal::ConstrainedAstrometryModel, and lsst::jointcal::SimpleAstrometryModel.

◆ offsetParams()

virtual void lsst::jointcal::AstrometryModel::offsetParams ( Eigen::VectorXd const & delta)
pure virtual

Offset the parameters by the provided amounts (by -delta).

The shifts are applied according to the indices given in assignIndices.

Parameters
[in]deltavector of offsets to apply

Implemented in lsst::jointcal::ConstrainedAstrometryModel, and lsst::jointcal::SimpleAstrometryModel.

◆ print()

virtual void lsst::jointcal::AstrometryModel::print ( std::ostream & out) const
pure virtual

Print a string representation of the contents of this mapping, for debugging.

This string representation can be very verbose, as it contains all of the parameters of all of the transforms in this model.

Implemented in lsst::jointcal::ConstrainedAstrometryModel, and lsst::jointcal::SimpleAstrometryModel.

◆ validate()

bool lsst::jointcal::AstrometryModel::validate ( CcdImageList const & ccdImageList,
int ndof ) const

Return true if this is a "reasonable" model.

Parameters
ccdImageListThe ccdImages to test the model validity on.
ndofThe number of degrees of freedom in the fit, e.g. from Fitterbase.computeChi2().
Returns
True if the model is valid on all ccdImages.

Definition at line 30 of file AstrometryModel.cc.

30 {
31 bool check = true;
32 if (ndof < 0) {
33 check &= false;
34 LOGLS_ERROR(_log, "This model only has "
35 << ndof << " degrees of freedom, with " << getTotalParameters()
36 << " total parameters. Reduce the model complexity (e.g. polynomial order)"
37 " to better match the number of measured sources.");
38 }
39 return check;
40}
#define LOGLS_ERROR(logger, message)
Log a error-level message using an iostream-based interface.
Definition Log.h:679
virtual std::size_t getTotalParameters() const =0
Return the total number of parameters in this model.

Member Data Documentation

◆ _log

LOG_LOGGER lsst::jointcal::AstrometryModel::_log
protected

lsst.logging instance, to be created by a subclass so that messages have consistent name.

Definition at line 117 of file AstrometryModel.h.


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