LSST Applications g0f08755f38+9c285cab97,g1635faa6d4+bcae251498,g1653933729+a8ce1bb630,g1a0ca8cf93+bf6eb00ceb,g28da252d5a+0829b12dee,g29321ee8c0+18ecbd06b3,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+fde0dd39b6,g5fbc88fb19+17cd334064,g7642f7d749+9c285cab97,g781aacb6e4+a8ce1bb630,g80478fca09+55a9465950,g82479be7b0+ed77629bff,g858d7b2824+9c285cab97,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+2a84bb7594,gacf8899fa4+c69c5206e8,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gbd46683f8f+1c79523530,gc28159a63d+9634bc57db,gcf0d15dbbd+4b7d09cae4,gda3e153d99+9c285cab97,gda6a2b7d83+4b7d09cae4,gdaeeff99f8+1711a396fd,ge2409df99d+dfd3d5294a,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+02b11634a5,w.2024.46
LSST Data Management Base Package
|
Photometry model with constraints, \(M(x,y) = M_CCD(x,y)*M_visit(u,v)\). More...
#include <ConstrainedPhotometryModel.h>
Classes | |
struct | PrepPhotoCalib |
To hold the return of prepPhotoCalib. More... | |
Public Member Functions | |
ConstrainedPhotometryModel (CcdImageList const &ccdImageList, geom::Box2D const &focalPlaneBBox, LOG_LOGGER log, int visitOrder=7, double errorPedestal=0) | |
Construct a constrained photometry model. | |
ConstrainedPhotometryModel (ConstrainedPhotometryModel const &)=delete | |
No copy or move: there is only ever one instance of a given model (i.e. per ccd+visit) | |
ConstrainedPhotometryModel (ConstrainedPhotometryModel &&)=delete | |
ConstrainedPhotometryModel & | operator= (ConstrainedPhotometryModel const &)=delete |
ConstrainedPhotometryModel & | operator= (ConstrainedPhotometryModel &&)=delete |
Eigen::Index | assignIndices (std::string const &whatToFit, Eigen::Index firstIndex) override |
Assign indices in the full matrix to the parameters being fit in the mappings, starting at firstIndex. | |
void | offsetParams (Eigen::VectorXd const &delta) override |
Offset the parameters by the provided amounts (by -delta). | |
void | freezeErrorTransform () override |
Once this routine has been called, the error transform is not modified by offsetParams(). | |
void | getMappingIndices (CcdImage const &ccdImage, IndexVector &indices) const override |
Get how this set of parameters (of length Npar()) map into the "grand" fit. | |
std::size_t | getTotalParameters () const override |
Return the total number of parameters in this model. | |
void | computeParameterDerivatives (MeasuredStar const &measuredStar, CcdImage const &ccdImage, Eigen::VectorXd &derivatives) const override |
Compute the parametric derivatives of this model. | |
void | print (std::ostream &out) const override |
Print a string representation of the contents of this mapping, for debugging. | |
~ConstrainedPhotometryModel ()=default | |
virtual void | offsetFittedStar (FittedStar &fittedStar, double delta) const =0 |
Offset the appropriate flux or magnitude (by -delta). | |
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. | |
virtual double | transform (CcdImage const &ccdImage, MeasuredStar const &measuredStar) const =0 |
Return the on-sky transformed flux for measuredStar on ccdImage. | |
virtual double | transformError (CcdImage const &ccdImage, MeasuredStar const &measuredStar) const =0 |
Return the on-sky transformed flux uncertainty for measuredStar on ccdImage. | |
virtual double | getRefError (RefStar const &refStar) const =0 |
Return the refStar error appropriate for this model (e.g. fluxErr or magErr). | |
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). | |
virtual std::shared_ptr< afw::image::PhotoCalib > | toPhotoCalib (CcdImage const &ccdImage) const =0 |
Return the mapping of ccdImage represented as a PhotoCalib. | |
std::size_t | getNpar (CcdImage const &ccdImage) const |
Return the number of parameters in the mapping of CcdImage. | |
PhotometryMappingBase const & | getMapping (CcdImage const &ccdImage) const |
Get the mapping associated with ccdImage. | |
bool | validate (CcdImageList const &ccdImageList, int ndof) const |
Return true if this is a "reasonable" model. | |
bool | checkPositiveOnBBox (CcdImage const &ccdImage) const |
Check that the model is positive on the ccdImage bbox. | |
double | getErrorPedestal () const |
double | tweakFluxError (jointcal::MeasuredStar const &measuredStar) const |
Add a fraction of the instrumental flux to the instrumental flux error, in quadrature. | |
double | tweakMagnitudeError (jointcal::MeasuredStar const &measuredStar) const |
Add a small magnitude offset to the "instrumental magnitude" error, in quadrature. | |
Protected Types | |
using | MapType = std::unordered_map<CcdImageKey, std::unique_ptr<ChipVisitPhotometryMapping>> |
using | VisitMapType = std::map<VisitIdType, std::shared_ptr<PhotometryMapping>> |
using | ChipMapType = std::map<CcdIdType, std::shared_ptr<PhotometryMapping>> |
Protected Member Functions | |
PhotometryMappingBase * | findMapping (CcdImage const &ccdImage) const override |
Return a pointer to the mapping associated with this ccdImage. | |
template<class ChipTransform , class VisitTransform , class ChipVisitMapping > | |
void | initialize (CcdImageList const &ccdImageList, geom::Box2D const &focalPlaneBBox, int visitOrder) |
Initialize the chip, visit, and chipVisit mappings by creating appropriate transforms and mappings. | |
virtual double | initialChipCalibration (std::shared_ptr< afw::image::PhotoCalib const > photoCalib)=0 |
Return the initial calibration to use from this photoCalib. | |
PrepPhotoCalib | prepPhotoCalib (CcdImage const &ccdImage) const |
Helper for preparing toPhotoCalib() | |
Protected Attributes | |
MapType | _chipVisitMap |
VisitMapType | _visitMap |
ChipMapType | _chipMap |
LOG_LOGGER | _log |
lsst.logging instance, to be created by a subclass so that messages have consistent name. | |
double | errorPedestal |
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 49 of file ConstrainedPhotometryModel.h.
|
protected |
Definition at line 111 of file ConstrainedPhotometryModel.h.
|
protected |
Definition at line 104 of file ConstrainedPhotometryModel.h.
|
protected |
Definition at line 108 of file ConstrainedPhotometryModel.h.
|
inlineexplicit |
Construct a constrained photometry model.
ccdImageList | The list of CCDImages to construct the model for. | |
focalPlaneBBox | The bounding box of the camera's focal plane, defining the domain of the visit polynomial. | |
[in] | log | An lsst::log::Log instance to log messages to. |
[in] | visitOrder | The order of the visit polynomial. |
[in] | errorPedestal | A pedestal in flux or magnitude to apply to all MeasuredStar flux errors. |
Definition at line 61 of file ConstrainedPhotometryModel.h.
|
delete |
No copy or move: there is only ever one instance of a given model (i.e. per ccd+visit)
|
delete |
|
default |
|
overridevirtual |
Assign indices in the full matrix to the parameters being fit in the mappings, starting at firstIndex.
[in] | whatToFit | String containing parameters to fit. |
[in] | firstIndex | Index to start assigning at. |
Implements lsst::jointcal::PhotometryModel.
Definition at line 45 of file ConstrainedPhotometryModel.cc.
|
inherited |
Check that the model is positive on the ccdImage bbox.
ccdImage | The ccdImage to test. |
Definition at line 49 of file PhotometryModel.cc.
|
overridevirtual |
Compute the parametric derivatives of this model.
[in] | measuredStar | The measured star with the position and flux to compute at. |
[in] | ccdImage | The ccdImage containing the measured star, to find the correct mapping. |
[out] | derivatives | The computed derivatives. Must be pre-allocated to the correct size. |
Implements lsst::jointcal::PhotometryModel.
Definition at line 125 of file ConstrainedPhotometryModel.cc.
|
pure virtualinherited |
Return the fittedStar - refStar residual appropriate for this model (e.g. flux - flux or mag - mag).
Implemented in lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::SimpleFluxModel, and lsst::jointcal::SimpleMagnitudeModel.
|
pure virtualinherited |
Compute the residual between the model applied to a star and its associated fittedStar.
\[ residual = Model(measuredStar) - fittedStar \]
ccdImage | The ccdImage where measuredStar resides. |
measuredStar | The measured star position to compute the residual of. |
Implemented in lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::SimpleFluxModel, and lsst::jointcal::SimpleMagnitudeModel.
|
overrideprotectedvirtual |
Return a pointer to the mapping associated with this ccdImage.
Implements lsst::jointcal::PhotometryModel.
Definition at line 168 of file ConstrainedPhotometryModel.cc.
|
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 100 of file ConstrainedPhotometryModel.cc.
|
inlineinherited |
Definition at line 197 of file PhotometryModel.h.
|
inlineinherited |
Get the mapping associated with ccdImage.
Definition at line 157 of file PhotometryModel.h.
|
overridevirtual |
Get how this set of parameters (of length Npar()) map into the "grand" fit.
[in] | ccdImage | The ccdImage to look up. |
[out] | indices | The indices of the mapping associated with ccdImage. |
Implements lsst::jointcal::PhotometryModel.
Definition at line 109 of file ConstrainedPhotometryModel.cc.
|
inlineinherited |
Return the number of parameters in the mapping of CcdImage.
Definition at line 154 of file PhotometryModel.h.
|
pure virtualinherited |
Return the refStar error appropriate for this model (e.g. fluxErr or magErr).
Implemented in lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::SimpleFluxModel, and lsst::jointcal::SimpleMagnitudeModel.
|
overridevirtual |
Return the total number of parameters in this model.
Implements lsst::jointcal::PhotometryModel.
Definition at line 114 of file ConstrainedPhotometryModel.cc.
|
protectedpure virtual |
Return the initial calibration to use from this photoCalib.
Implemented in lsst::jointcal::ConstrainedFluxModel, and lsst::jointcal::ConstrainedMagnitudeModel.
|
protected |
Initialize the chip, visit, and chipVisit mappings by creating appropriate transforms and mappings.
Definition at line 177 of file ConstrainedPhotometryModel.cc.
|
pure virtualinherited |
Offset the appropriate flux or magnitude (by -delta).
fittedStar | The star to update. |
delta | The amount to update by. |
Implemented in lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::SimpleFluxModel, and lsst::jointcal::SimpleMagnitudeModel.
|
overridevirtual |
Offset the parameters by the provided amounts (by -delta).
The shifts are applied according to the indices given in assignIndices.
[in] | delta | vector of offsets to apply |
Implements lsst::jointcal::PhotometryModel.
Definition at line 83 of file ConstrainedPhotometryModel.cc.
|
delete |
|
delete |
|
protected |
Helper for preparing toPhotoCalib()
Definition at line 228 of file ConstrainedPhotometryModel.cc.
|
overridevirtual |
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.
Implements lsst::jointcal::PhotometryModel.
Definition at line 154 of file ConstrainedPhotometryModel.cc.
|
pure virtualinherited |
Return the mapping of ccdImage represented as a PhotoCalib.
Implemented in lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::SimpleFluxModel, and lsst::jointcal::SimpleMagnitudeModel.
|
pure virtualinherited |
Return the on-sky transformed flux for measuredStar on ccdImage.
[in] | ccdImage | The ccdImage where measuredStar resides. |
measuredStar | The measured star position to transform. |
Implemented in lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::SimpleFluxModel, and lsst::jointcal::SimpleMagnitudeModel.
|
pure virtualinherited |
Return the on-sky transformed flux uncertainty for measuredStar on ccdImage.
Identical to transform() until freezeErrorTransform() is called.
[in] | ccdImage | The ccdImage where measuredStar resides. |
measuredStar | The measured star position to transform. |
Implemented in lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::SimpleFluxModel, and lsst::jointcal::SimpleMagnitudeModel.
|
inlineinherited |
Add a fraction of the instrumental flux to the instrumental flux error, in quadrature.
Definition at line 200 of file PhotometryModel.h.
|
inlineinherited |
Add a small magnitude offset to the "instrumental magnitude" error, in quadrature.
Definition at line 209 of file PhotometryModel.h.
|
inherited |
Return true if this is a "reasonable" model.
A valid photometry model is positive within each sensor's bounding box.
ccdImageList | The ccdImages to test the model validity on. |
ndof | The number of degrees of freedom in the fit, e.g. from Fitterbase.computeChi2(). |
Definition at line 33 of file PhotometryModel.cc.
|
protected |
Definition at line 112 of file ConstrainedPhotometryModel.h.
|
protected |
Definition at line 105 of file ConstrainedPhotometryModel.h.
|
protectedinherited |
lsst.logging instance, to be created by a subclass so that messages have consistent name.
Definition at line 224 of file PhotometryModel.h.
|
protected |
Definition at line 109 of file ConstrainedPhotometryModel.h.
|
protectedinherited |
Definition at line 227 of file PhotometryModel.h.