lsst.jointcal  16.0-6-gf89f2d9
ConstrainedPhotometryModel.h
Go to the documentation of this file.
1 // -*- LSST-C++ -*-
2 #ifndef LSST_JOINTCAL_CONSTRAINED_PHOTOMETRY_MODEL_H
3 #define LSST_JOINTCAL_CONSTRAINED_PHOTOMETRY_MODEL_H
4 
5 #include <map>
6 
10 
11 namespace lsst {
12 namespace jointcal {
13 
26 public:
35  explicit ConstrainedPhotometryModel(CcdImageList const &ccdImageList,
36  afw::geom::Box2D const &focalPlaneBBox, int visitOrder = 7);
37 
43 
45  unsigned assignIndices(std::string const &whatToFit, unsigned firstIndex) override;
46 
48  void offsetParams(Eigen::VectorXd const &delta) override;
49 
51  double transform(CcdImage const &ccdImage, MeasuredStar const &measuredStar,
52  double instFlux) const override;
53 
55  double transformError(CcdImage const &ccdImage, MeasuredStar const &measuredStar,
56  double instFluxErr) const override;
57 
59  void freezeErrorTransform() override;
60 
62  void getMappingIndices(CcdImage const &ccdImage, std::vector<unsigned> &indices) const override;
63 
65  int getTotalParameters() const override;
66 
68  void computeParameterDerivatives(MeasuredStar const &measuredStar, CcdImage const &ccdImage,
69  Eigen::VectorXd &derivatives) const override;
70 
72  std::shared_ptr<afw::image::PhotoCalib> toPhotoCalib(CcdImage const &ccdImage) const override;
73 
75  void dump(std::ostream &stream = std::cout) const override;
76 
77 private:
78  PhotometryMappingBase *findMapping(CcdImage const &ccdImage) const override;
79 
80  // Which components of the model are we fitting currently?
81  bool _fittingChips;
82  bool _fittingVisits;
83 
84  /* The per-ccdImage transforms, each of which is a composition of a chip and visit transform.
85  * Not all pairs of _visitMap[visit] and _chipMap[chip] are guaranteed to have an entry in
86  * _chipVisitMap (for example, one ccd in one visit might fail to produce a catalog).
87  */
89  MapType _chipVisitMap;
90 
91  // The per-visit transforms that go into _chipVisitMap.
93  VisitMapType _visitMap;
94  // The per-chip transforms that go into _chipVisitMap.
96  ChipMapType _chipMap;
97 };
98 
99 } // namespace jointcal
100 } // namespace lsst
101 
102 #endif // LSST_JOINTCAL_CONSTRAINED_PHOTOMETRY_MODEL_H
Relates transfo(s) to their position in the fitting matrix and allows interaction with the transfo(s)...
ConstrainedPhotometryModel(CcdImageList const &ccdImageList, afw::geom::Box2D const &focalPlaneBBox, int visitOrder=7)
Construct a constrained photometry model.
STL class.
double transform(CcdImage const &ccdImage, MeasuredStar const &measuredStar, double instFlux) const override
Return the on-sky transformed flux for measuredStar on ccdImage.
STL class.
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...
int getTotalParameters() const override
Return the total number of parameters in this model.
Class for a simple mapping implementing a generic Gtransfo.
objects measured on actual images.
Definition: MeasuredStar.h:19
void computeParameterDerivatives(MeasuredStar const &measuredStar, CcdImage const &ccdImage, Eigen::VectorXd &derivatives) const override
Compute the parametric derivatives of this model.
void dump(std::ostream &stream=std::cout) const override
Dump the contents of the transfos, for debugging.
void offsetParams(Eigen::VectorXd const &delta) override
Offset the parameters by the provided amounts.
Interface class for PhotometryFit.
Photometry model with constraints, .
double transformError(CcdImage const &ccdImage, MeasuredStar const &measuredStar, double instFluxErr) const override
Return the on-sky transformed flux uncertainty for measuredStar on ccdImage.
std::shared_ptr< afw::image::PhotoCalib > toPhotoCalib(CcdImage const &ccdImage) const override
Return the mapping of ccdImage represented as a PhotoCalib.
Handler of an actual image from a single CCD.
Definition: CcdImage.h:41
ConstrainedPhotometryModel & operator=(ConstrainedPhotometryModel const &)=delete
STL class.
void freezeErrorTransform() override
Once this routine has been called, the error transform is not modified by offsetParams().
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.