lsst.jointcal  master-gc5b79683b0+2
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 visitDegree = 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 &star, double instFlux) const override;
52 
54  void getMappingIndices(CcdImage const &ccdImage, std::vector<unsigned> &indices) const override;
55 
57  void computeParameterDerivatives(MeasuredStar const &measuredStar, CcdImage const &ccdImage,
58  Eigen::VectorXd &derivatives) const override;
59 
61  std::shared_ptr<afw::image::PhotoCalib> toPhotoCalib(CcdImage const &ccdImage) const override;
62 
64  void dump(std::ostream &stream = std::cout) const override;
65 
66 private:
67  PhotometryMappingBase *findMapping(CcdImage const &ccdImage) const override;
68 
69  typedef std::unordered_map<CcdImageKey, std::unique_ptr<ChipVisitPhotometryMapping>> MapType;
70  MapType _myMap;
71 
72  typedef std::map<VisitIdType, std::shared_ptr<PhotometryMapping>> VisitMapType;
73  VisitMapType _visitMap;
74  typedef std::map<CcdIdType, std::shared_ptr<PhotometryMapping>> ChipMapType;
75  ChipMapType _chipMap;
76 };
77 
78 } // namespace jointcal
79 } // namespace lsst
80 
81 #endif // LSST_JOINTCAL_CONSTRAINED_PHOTOMETRY_MODEL_H
Relates transfo(s) to their position in the fitting matrix and allows interaction with the transfo(s)...
unsigned assignIndices(std::string const &whatToFit, unsigned firstIndex) override
Assign indices to parameters involved in mappings, starting at firstIndex.
Class for a simple mapping implementing a generic Gtransfo.
Definition: Associations.h:24
objects measured on actual images.
Definition: MeasuredStar.h:18
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.
double transform(CcdImage const &ccdImage, MeasuredStar const &star, double instFlux) const override
Return the on-sky transformed flux for measuredStar on ccdImage.
Photometry model with constraints, .
std::list< std::shared_ptr< CcdImage > > CcdImageList
Definition: CcdImage.h:23
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:34
ConstrainedPhotometryModel(CcdImageList const &ccdImageList, afw::geom::Box2D const &focalPlaneBBox, int visitDegree=7)
Construct a constrained photometry model.
ConstrainedPhotometryModel & operator=(ConstrainedPhotometryModel const &)=delete
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.