lsst.jointcal  15.0-7-gab4c137+7
Public Member Functions | List of all members
lsst::jointcal::ConstrainedPhotometryModel Class Reference

Photometry model with constraints, \(M(x,y) = M_CCD(x,y)*M_visit(u,v)\). More...

#include <ConstrainedPhotometryModel.h>

Inheritance diagram for lsst::jointcal::ConstrainedPhotometryModel:
lsst::jointcal::PhotometryModel

Public Member Functions

 ConstrainedPhotometryModel (CcdImageList const &ccdImageList, afw::geom::Box2D const &focalPlaneBBox, int visitOrder=7)
 Construct a constrained photometry model. More...
 
 ConstrainedPhotometryModel (ConstrainedPhotometryModel const &)=delete
 No copy or move: there is only ever one instance of a given model (i.e. per ccd+visit) More...
 
 ConstrainedPhotometryModel (ConstrainedPhotometryModel &&)=delete
 
ConstrainedPhotometryModeloperator= (ConstrainedPhotometryModel const &)=delete
 
ConstrainedPhotometryModeloperator= (ConstrainedPhotometryModel &&)=delete
 
unsigned assignIndices (std::string const &whatToFit, unsigned firstIndex) override
 Assign indices to parameters involved in mappings, starting at firstIndex. More...
 
void offsetParams (Eigen::VectorXd const &delta) override
 Offset the parameters by the provided amounts. More...
 
double transform (CcdImage const &ccdImage, MeasuredStar const &measuredStar, double instFlux) const override
 Return the on-sky transformed flux for measuredStar on ccdImage. More...
 
double transformError (CcdImage const &ccdImage, MeasuredStar const &measuredStar, double instFluxErr) const override
 Return the on-sky transformed flux uncertainty for measuredStar on ccdImage. More...
 
void freezeErrorTransform () override
 Once this routine has been called, the error transform is not modified by offsetParams(). More...
 
void getMappingIndices (CcdImage const &ccdImage, std::vector< unsigned > &indices) const override
 Get how this set of parameters (of length Npar()) map into the "grand" fit. More...
 
void computeParameterDerivatives (MeasuredStar const &measuredStar, CcdImage const &ccdImage, Eigen::VectorXd &derivatives) const override
 Compute the parametric derivatives of this model. More...
 
std::shared_ptr< afw::image::PhotoCalibtoPhotoCalib (CcdImage const &ccdImage) const override
 Return the mapping of ccdImage represented as a PhotoCalib. More...
 
void dump (std::ostream &stream=std::cout) const override
 Dump the contents of the transfos, for debugging. More...
 
unsigned getNpar (CcdImage const &ccdImage) const
 Return the number of parameters in the mapping of CcdImage. More...
 
PhotometryMappingBase const & getMapping (CcdImage const &ccdImage) const
 Get the mapping associated with ccdImage. More...
 

Detailed Description

Photometry model with constraints, \(M(x,y) = M_CCD(x,y)*M_visit(u,v)\).

This model consists of the following components:

Because this model's parameters are degenerate under multiplication by a constant, \(M=(a*M_CCD)*(1/a*M_visit)\), we hold one CCD's zero point fixed to remove that degeneracy.

Definition at line 25 of file ConstrainedPhotometryModel.h.

Constructor & Destructor Documentation

◆ ConstrainedPhotometryModel() [1/3]

lsst::jointcal::ConstrainedPhotometryModel::ConstrainedPhotometryModel ( CcdImageList const &  ccdImageList,
afw::geom::Box2D const &  focalPlaneBBox,
int  visitOrder = 7 
)
explicit

Construct a constrained photometry model.

Parameters
ccdImageListThe list of CCDImages to construct the model for.
focalPlaneBBoxThe bounding box of the camera's focal plane, defining the domain of the visit polynomial.
[in]visitOrderThe order of the visit polynomial.

Definition at line 22 of file ConstrainedPhotometryModel.cc.

◆ ConstrainedPhotometryModel() [2/3]

lsst::jointcal::ConstrainedPhotometryModel::ConstrainedPhotometryModel ( ConstrainedPhotometryModel const &  )
delete

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

◆ ConstrainedPhotometryModel() [3/3]

lsst::jointcal::ConstrainedPhotometryModel::ConstrainedPhotometryModel ( ConstrainedPhotometryModel &&  )
delete

Member Function Documentation

◆ assignIndices()

unsigned lsst::jointcal::ConstrainedPhotometryModel::assignIndices ( std::string const &  whatToFit,
unsigned  firstIndex 
)
overridevirtual

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

Parameters
[in]whatToFitString containing parameters to fit.
[in]firstIndexIndex to start assigning at.
Returns
The highest assigned index.

Implements lsst::jointcal::PhotometryModel.

Definition at line 77 of file ConstrainedPhotometryModel.cc.

◆ computeParameterDerivatives()

void lsst::jointcal::ConstrainedPhotometryModel::computeParameterDerivatives ( MeasuredStar const &  measuredStar,
CcdImage const &  ccdImage,
Eigen::VectorXd &  derivatives 
) const
overridevirtual

Compute the parametric derivatives of this model.

Parameters
[in]measuredStarThe measured star with the position and flux to compute at.
[in]ccdImageThe ccdImage containing the measured star, to find the correct mapping.
[out]derivativesThe computed derivatives. Must be pre-allocated to the correct size.

Implements lsst::jointcal::PhotometryModel.

Definition at line 135 of file ConstrainedPhotometryModel.cc.

◆ dump()

void lsst::jointcal::ConstrainedPhotometryModel::dump ( std::ostream stream = std::cout) const
overridevirtual

Dump the contents of the transfos, for debugging.

Implements lsst::jointcal::PhotometryModel.

Definition at line 201 of file ConstrainedPhotometryModel.cc.

◆ freezeErrorTransform()

void lsst::jointcal::ConstrainedPhotometryModel::freezeErrorTransform ( )
overridevirtual

Once this routine has been called, the error transform is not modified by offsetParams().

The routine can be called when the mappings are roughly in place. After the call, the transformations used to propagate errors are no longer affected when updating the mappings. This allows an exactly linear fit, which can be necessary for some model+data combinations.

Implements lsst::jointcal::PhotometryModel.

Definition at line 120 of file ConstrainedPhotometryModel.cc.

◆ getMapping()

PhotometryMappingBase const& lsst::jointcal::PhotometryModel::getMapping ( CcdImage const &  ccdImage) const
inlineinherited

Get the mapping associated with ccdImage.

Definition at line 103 of file PhotometryModel.h.

◆ getMappingIndices()

void lsst::jointcal::ConstrainedPhotometryModel::getMappingIndices ( CcdImage const &  ccdImage,
std::vector< unsigned > &  indices 
) const
overridevirtual

Get how this set of parameters (of length Npar()) map into the "grand" fit.

Parameters
[in]ccdImageThe ccdImage to look up.
[out]indicesThe indices of the mapping associated with ccdImage.

Implements lsst::jointcal::PhotometryModel.

Definition at line 129 of file ConstrainedPhotometryModel.cc.

◆ getNpar()

unsigned lsst::jointcal::PhotometryModel::getNpar ( CcdImage const &  ccdImage) const
inlineinherited

Return the number of parameters in the mapping of CcdImage.

Definition at line 100 of file PhotometryModel.h.

◆ offsetParams()

void lsst::jointcal::ConstrainedPhotometryModel::offsetParams ( Eigen::VectorXd const &  delta)
overridevirtual

Offset the parameters by the provided amounts.

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

Parameters
[in]deltavector of offsets to apply

Implements lsst::jointcal::PhotometryModel.

Definition at line 95 of file ConstrainedPhotometryModel.cc.

◆ operator=() [1/2]

ConstrainedPhotometryModel& lsst::jointcal::ConstrainedPhotometryModel::operator= ( ConstrainedPhotometryModel const &  )
delete

◆ operator=() [2/2]

ConstrainedPhotometryModel& lsst::jointcal::ConstrainedPhotometryModel::operator= ( ConstrainedPhotometryModel &&  )
delete

◆ toPhotoCalib()

std::shared_ptr< afw::image::PhotoCalib > lsst::jointcal::ConstrainedPhotometryModel::toPhotoCalib ( CcdImage const &  ccdImage) const
overridevirtual

Return the mapping of ccdImage represented as a PhotoCalib.

Implements lsst::jointcal::PhotometryModel.

Definition at line 163 of file ConstrainedPhotometryModel.cc.

◆ transform()

double lsst::jointcal::ConstrainedPhotometryModel::transform ( CcdImage const &  ccdImage,
MeasuredStar const &  measuredStar,
double  instFlux 
) const
overridevirtual

Return the on-sky transformed flux for measuredStar on ccdImage.

Parameters
[in]ccdImageThe ccdImage where measuredStar resides.
measuredStarThe measured star position to compute the transform at.
[in]instFluxThe instrument flux to transform.
Returns
The on-sky flux transformed from instFlux at measuredStar's position.

Implements lsst::jointcal::PhotometryModel.

Definition at line 108 of file ConstrainedPhotometryModel.cc.

◆ transformError()

double lsst::jointcal::ConstrainedPhotometryModel::transformError ( CcdImage const &  ccdImage,
MeasuredStar const &  measuredStar,
double  instFluxErr 
) const
overridevirtual

Return the on-sky transformed flux uncertainty for measuredStar on ccdImage.

Identical to transform() until freezeErrorTransform() is called.

Parameters
[in]ccdImageThe ccdImage where measuredStar resides.
measuredStarThe measured star position to compute the transform at.
[in]instFluxErrThe instrument flux error to transform.
Returns
The on-sky flux transformed from instFlux at measuredStar's position.

Implements lsst::jointcal::PhotometryModel.

Definition at line 114 of file ConstrainedPhotometryModel.cc.


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