LSST Applications g063fba187b+cac8b7c890,g0f08755f38+6aee506743,g1653933729+a8ce1bb630,g168dd56ebc+a8ce1bb630,g1a2382251a+b4475c5878,g1dcb35cd9c+8f9bc1652e,g20f6ffc8e0+6aee506743,g217e2c1bcf+73dee94bd0,g28da252d5a+1f19c529b9,g2bbee38e9b+3f2625acfc,g2bc492864f+3f2625acfc,g3156d2b45e+6e55a43351,g32e5bea42b+1bb94961c2,g347aa1857d+3f2625acfc,g35bb328faa+a8ce1bb630,g3a166c0a6a+3f2625acfc,g3e281a1b8c+c5dd892a6c,g3e8969e208+a8ce1bb630,g414038480c+5927e1bc1e,g41af890bb2+8a9e676b2a,g7af13505b9+809c143d88,g80478fca09+6ef8b1810f,g82479be7b0+f568feb641,g858d7b2824+6aee506743,g89c8672015+f4add4ffd5,g9125e01d80+a8ce1bb630,ga5288a1d22+2903d499ea,gb58c049af0+d64f4d3760,gc28159a63d+3f2625acfc,gcab2d0539d+b12535109e,gcf0d15dbbd+46a3f46ba9,gda6a2b7d83+46a3f46ba9,gdaeeff99f8+1711a396fd,ge79ae78c31+3f2625acfc,gef2f8181fd+0a71e47438,gf0baf85859+c1f95f4921,gfa517265be+6aee506743,gfa999e8aa5+17cd334064,w.2024.51
LSST Data Management Base Package
|
#include <PhotometryModel.h>
Public Member Functions | |
PhotometryModel (LOG_LOGGER log, double errorPedestal=0) | |
virtual Eigen::Index | assignIndices (std::string const &whatToFit, Eigen::Index firstIndex)=0 |
Assign indices in the full matrix to the parameters being fit in the mappings, starting at firstIndex. | |
virtual void | offsetParams (Eigen::VectorXd const &delta)=0 |
Offset the parameters by the provided amounts (by -delta). | |
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 void | freezeErrorTransform ()=0 |
Once this routine has been called, the error transform is not modified by offsetParams(). | |
virtual void | getMappingIndices (CcdImage const &ccdImage, IndexVector &indices) const =0 |
Get how this set of parameters (of length Npar()) map into the "grand" fit. | |
virtual void | computeParameterDerivatives (MeasuredStar const &measuredStar, CcdImage const &ccdImage, Eigen::VectorXd &derivatives) const =0 |
Compute the parametric derivatives of this model. | |
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. | |
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. | |
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. | |
virtual | ~PhotometryModel ()=default |
Protected Member Functions | |
virtual PhotometryMappingBase * | findMapping (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. | |
double | errorPedestal |
Friends | |
std::ostream & | operator<< (std::ostream &s, PhotometryModel const &model) |
Definition at line 45 of file PhotometryModel.h.
|
inline |
log | Logger to send messages to, to keep names consistent when logging. |
errorPedestal | Pedestal on flux/magnitude error (percent of flux or delta magnitude). |
Definition at line 51 of file PhotometryModel.h.
|
virtualdefault |
|
pure virtual |
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. |
Implemented in lsst::jointcal::ConstrainedPhotometryModel, and lsst::jointcal::SimplePhotometryModel.
bool lsst::jointcal::PhotometryModel::checkPositiveOnBBox | ( | CcdImage const & | ccdImage | ) | const |
Check that the model is positive on the ccdImage bbox.
ccdImage | The ccdImage to test. |
Definition at line 49 of file PhotometryModel.cc.
|
pure virtual |
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. |
Implemented in lsst::jointcal::ConstrainedPhotometryModel, and lsst::jointcal::SimplePhotometryModel.
|
pure virtual |
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 virtual |
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.
|
protectedpure virtual |
Return a pointer to the mapping associated with this ccdImage.
Implemented in lsst::jointcal::ConstrainedPhotometryModel, and lsst::jointcal::SimplePhotometryModel.
|
pure virtual |
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.
Implemented in lsst::jointcal::ConstrainedPhotometryModel, and lsst::jointcal::SimplePhotometryModel.
|
inline |
Definition at line 197 of file PhotometryModel.h.
|
inline |
Get the mapping associated with ccdImage.
Definition at line 157 of file PhotometryModel.h.
|
pure virtual |
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. |
Implemented in lsst::jointcal::ConstrainedPhotometryModel, and lsst::jointcal::SimplePhotometryModel.
|
inline |
Return the number of parameters in the mapping of CcdImage.
Definition at line 154 of file PhotometryModel.h.
|
pure virtual |
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.
|
pure virtual |
Return the total number of parameters in this model.
Implemented in lsst::jointcal::ConstrainedPhotometryModel, and lsst::jointcal::SimplePhotometryModel.
|
pure virtual |
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.
|
pure virtual |
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 |
Implemented in lsst::jointcal::ConstrainedPhotometryModel, and lsst::jointcal::SimplePhotometryModel.
|
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::ConstrainedPhotometryModel, lsst::jointcal::ConstrainedFluxModel, lsst::jointcal::ConstrainedMagnitudeModel, lsst::jointcal::SimplePhotometryModel, lsst::jointcal::SimpleFluxModel, and lsst::jointcal::SimpleMagnitudeModel.
|
pure virtual |
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 virtual |
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 virtual |
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.
|
inline |
Add a fraction of the instrumental flux to the instrumental flux error, in quadrature.
Definition at line 200 of file PhotometryModel.h.
|
inline |
Add a small magnitude offset to the "instrumental magnitude" error, in quadrature.
Definition at line 209 of file PhotometryModel.h.
bool lsst::jointcal::PhotometryModel::validate | ( | CcdImageList const & | ccdImageList, |
int | ndof ) const |
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.
|
friend |
Definition at line 192 of file PhotometryModel.h.
|
protected |
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 227 of file PhotometryModel.h.