lsst.jointcal  16.0-18-gdf247dd
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
lsst::jointcal::ConstrainedPhotometryModel Class Referenceabstract

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 lsst::jointcal::ConstrainedFluxModel lsst::jointcal::ConstrainedMagnitudeModel

Public Member Functions

 ConstrainedPhotometryModel (CcdImageList const &ccdImageList, afw::geom::Box2D const &focalPlaneBBox, int visitOrder=7, double errorPedestal_=0)
 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 in the full matrix to the parameters being fit in the mappings, starting at firstIndex. More...
 
void offsetParams (Eigen::VectorXd const &delta) override
 Offset the parameters by the provided amounts (by -delta). 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...
 
int getTotalParameters () const override
 Return the total number of parameters in this model. More...
 
void computeParameterDerivatives (MeasuredStar const &measuredStar, CcdImage const &ccdImage, Eigen::VectorXd &derivatives) const override
 Compute the parametric derivatives of this model. More...
 
void dump (std::ostream &stream=std::cout) const override
 Dump the contents of the transfos, for debugging. More...
 
virtual void offsetFittedStar (FittedStar &fittedStar, double delta) const =0
 Offset the appropriate flux or magnitude (by -delta). More...
 
virtual double computeResidual (CcdImage const &ccdImage, MeasuredStar const &measuredStar) const =0
 Compute the residual between the model applied to a star and its associated fittedStar. More...
 
virtual double transform (CcdImage const &ccdImage, MeasuredStar const &measuredStar) const =0
 Return the on-sky transformed flux for measuredStar on ccdImage. More...
 
virtual double transformError (CcdImage const &ccdImage, MeasuredStar const &measuredStar) const =0
 Return the on-sky transformed flux uncertainty for measuredStar on ccdImage. More...
 
virtual double getRefError (RefStar const &refStar) const =0
 Return the refStar error appropriate for this model (e.g. fluxErr or magErr). More...
 
virtual double computeRefResidual (FittedStar const &fittedStar, RefStar const &refStar) const =0
 Return the fittedStar - refStar residual appropriate for this model (e.g. flux - flux or mag - mag). More...
 
virtual std::shared_ptr< afw::image::PhotoCalibtoPhotoCalib (CcdImage const &ccdImage) const =0
 Return the mapping of ccdImage represented as a PhotoCalib. 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...
 
double getErrorPedestal ()
 
double tweakFluxError (jointcal::MeasuredStar const &measuredStar) const
 Add a fraction of the instrumental flux to the instrumental flux error, in quadrature. More...
 
double tweakMagnitudeError (jointcal::MeasuredStar const &measuredStar) const
 Add a small magnitude offset to the "instrumental magnitude" error, in quadrature. More...
 

Protected Types

typedef std::unordered_map< CcdImageKey, std::unique_ptr< ChipVisitPhotometryMapping > > MapType
 
typedef std::map< VisitIdType, std::shared_ptr< PhotometryMapping > > VisitMapType
 
typedef std::map< CcdIdType, std::shared_ptr< PhotometryMapping > > ChipMapType
 

Protected Member Functions

PhotometryMappingBasefindMapping (CcdImage const &ccdImage) const override
 Return a pointer to the mapping associated with this ccdImage. More...
 
template<class ChipTransfo , class VisitTransfo , class ChipVisitMapping >
void initialize (CcdImageList const &ccdImageList, afw::geom::Box2D const &focalPlaneBBox, int visitOrder)
 Initialize the chip, visit, and chipVisit mappings by creating appropriate transfos and mappings. More...
 
virtual double initialChipCalibration (std::shared_ptr< afw::image::PhotoCalib const > photoCalib)=0
 Return the initial calibration to use from this photoCalib. More...
 

Protected Attributes

MapType _chipVisitMap
 
VisitMapType _visitMap
 
ChipMapType _chipMap
 
double errorPedestal
 

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.

Member Typedef Documentation

◆ ChipMapType

Definition at line 84 of file ConstrainedPhotometryModel.h.

◆ MapType

Definition at line 77 of file ConstrainedPhotometryModel.h.

◆ VisitMapType

Definition at line 81 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,
double  errorPedestal_ = 0 
)
inlineexplicit

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 35 of file ConstrainedPhotometryModel.h.

◆ 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 in the full matrix to the parameters being fit in the 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 24 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 104 of file ConstrainedPhotometryModel.cc.

◆ computeRefResidual()

virtual double lsst::jointcal::PhotometryModel::computeRefResidual ( FittedStar const &  fittedStar,
RefStar const &  refStar 
) const
pure virtualinherited

Return the fittedStar - refStar residual appropriate for this model (e.g. flux - flux or mag - mag).

Implemented in lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::SimpleMagnitudeModel, and lsst::jointcal::SimpleFluxModel.

◆ computeResidual()

virtual double lsst::jointcal::PhotometryModel::computeResidual ( CcdImage const &  ccdImage,
MeasuredStar const &  measuredStar 
) const
pure virtualinherited

Compute the residual between the model applied to a star and its associated fittedStar.

\[ residual = Model(measuredStar) - fittedStar \]

Parameters
ccdImageThe ccdImage where measuredStar resides.
measuredStarThe measured star position to compute the residual of.
Returns
The residual.

Implemented in lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::SimpleMagnitudeModel, and lsst::jointcal::SimpleFluxModel.

◆ 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 132 of file ConstrainedPhotometryModel.cc.

◆ findMapping()

PhotometryMappingBase * lsst::jointcal::ConstrainedPhotometryModel::findMapping ( CcdImage const &  ccdImage) const
overrideprotectedvirtual

Return a pointer to the mapping associated with this ccdImage.

Implements lsst::jointcal::PhotometryModel.

Definition at line 144 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 78 of file ConstrainedPhotometryModel.cc.

◆ getErrorPedestal()

double lsst::jointcal::PhotometryModel::getErrorPedestal ( )
inlineinherited

Definition at line 142 of file PhotometryModel.h.

◆ getMapping()

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

Get the mapping associated with ccdImage.

Definition at line 127 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 87 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 124 of file PhotometryModel.h.

◆ getRefError()

virtual double lsst::jointcal::PhotometryModel::getRefError ( RefStar const &  refStar) const
pure virtualinherited

Return the refStar error appropriate for this model (e.g. fluxErr or magErr).

Implemented in lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::SimpleMagnitudeModel, and lsst::jointcal::SimpleFluxModel.

◆ getTotalParameters()

int lsst::jointcal::ConstrainedPhotometryModel::getTotalParameters ( ) const
overridevirtual

Return the total number of parameters in this model.

Implements lsst::jointcal::PhotometryModel.

Definition at line 93 of file ConstrainedPhotometryModel.cc.

◆ initialChipCalibration()

virtual double lsst::jointcal::ConstrainedPhotometryModel::initialChipCalibration ( std::shared_ptr< afw::image::PhotoCalib const >  photoCalib)
protectedpure virtual

Return the initial calibration to use from this photoCalib.

Implemented in lsst::jointcal::ConstrainedMagnitudeModel, and lsst::jointcal::ConstrainedFluxModel.

◆ initialize()

template<class ChipTransfo , class VisitTransfo , class ChipVisitMapping >
template void lsst::jointcal::ConstrainedPhotometryModel::initialize< MagnitudeTransfoSpatiallyInvariant, MagnitudeTransfoChebyshev, ChipVisitMagnitudeMapping > ( CcdImageList const &  ccdImageList,
afw::geom::Box2D const &  focalPlaneBBox,
int  visitOrder 
)
protected

Initialize the chip, visit, and chipVisit mappings by creating appropriate transfos and mappings.

Definition at line 153 of file ConstrainedPhotometryModel.cc.

◆ offsetFittedStar()

virtual void lsst::jointcal::PhotometryModel::offsetFittedStar ( FittedStar fittedStar,
double  delta 
) const
pure virtualinherited

Offset the appropriate flux or magnitude (by -delta).

Parameters
fittedStarThe star to update.
deltaThe amount to update by.

Implemented in lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::SimpleMagnitudeModel, and lsst::jointcal::SimpleFluxModel.

◆ offsetParams()

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

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

Implements lsst::jointcal::PhotometryModel.

Definition at line 61 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()

virtual std::shared_ptr<afw::image::PhotoCalib> lsst::jointcal::PhotometryModel::toPhotoCalib ( CcdImage const &  ccdImage) const
pure virtualinherited

◆ transform()

virtual double lsst::jointcal::PhotometryModel::transform ( CcdImage const &  ccdImage,
MeasuredStar const &  measuredStar 
) const
pure virtualinherited

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

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

Implemented in lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::SimpleMagnitudeModel, and lsst::jointcal::SimpleFluxModel.

◆ transformError()

virtual double lsst::jointcal::PhotometryModel::transformError ( CcdImage const &  ccdImage,
MeasuredStar const &  measuredStar 
) const
pure virtualinherited

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 transform.
Returns
The on-sky flux transformed from instFlux at measuredStar's position.

Implemented in lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::SimpleMagnitudeModel, and lsst::jointcal::SimpleFluxModel.

◆ tweakFluxError()

double lsst::jointcal::PhotometryModel::tweakFluxError ( jointcal::MeasuredStar const &  measuredStar) const
inlineinherited

Add a fraction of the instrumental flux to the instrumental flux error, in quadrature.

Definition at line 145 of file PhotometryModel.h.

◆ tweakMagnitudeError()

double lsst::jointcal::PhotometryModel::tweakMagnitudeError ( jointcal::MeasuredStar const &  measuredStar) const
inlineinherited

Add a small magnitude offset to the "instrumental magnitude" error, in quadrature.

Definition at line 154 of file PhotometryModel.h.

Member Data Documentation

◆ _chipMap

ChipMapType lsst::jointcal::ConstrainedPhotometryModel::_chipMap
protected

Definition at line 85 of file ConstrainedPhotometryModel.h.

◆ _chipVisitMap

MapType lsst::jointcal::ConstrainedPhotometryModel::_chipVisitMap
protected

Definition at line 78 of file ConstrainedPhotometryModel.h.

◆ _visitMap

VisitMapType lsst::jointcal::ConstrainedPhotometryModel::_visitMap
protected

Definition at line 82 of file ConstrainedPhotometryModel.h.

◆ errorPedestal

double lsst::jointcal::PhotometryModel::errorPedestal
protectedinherited

Definition at line 167 of file PhotometryModel.h.


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