lsst.jointcal  16.0-5-g82b7855
PhotometryModel.h
Go to the documentation of this file.
1 // -*- LSST-C++ -*-
2 #ifndef LSST_JOINTCAL_PHOTOMETRY_MODEL_H
3 #define LSST_JOINTCAL_PHOTOMETRY_MODEL_H
4 
6 
10 #include <string>
11 #include <vector>
12 
13 namespace lsst {
14 namespace jointcal {
15 
16 class CcdImage;
17 class Point;
18 class MeasuredStar;
19 
22 public:
31  virtual unsigned assignIndices(std::string const &whatToFit, unsigned firstIndex) = 0;
32 
40  virtual void offsetParams(Eigen::VectorXd const &delta) = 0;
41 
51  virtual double transform(CcdImage const &ccdImage, MeasuredStar const &measuredStar,
52  double instFlux) const = 0;
53 
64  virtual double transformError(CcdImage const &ccdImage, MeasuredStar const &measuredStar,
65  double instFluxErr) const = 0;
66 
74  virtual void freezeErrorTransform() = 0;
75 
82  virtual void getMappingIndices(CcdImage const &ccdImage, std::vector<unsigned> &indices) const = 0;
83 
91  virtual void computeParameterDerivatives(MeasuredStar const &measuredStar, CcdImage const &ccdImage,
92  Eigen::VectorXd &derivatives) const = 0;
93 
97  virtual std::shared_ptr<afw::image::PhotoCalib> toPhotoCalib(CcdImage const &ccdImage) const = 0;
98 
100  unsigned getNpar(CcdImage const &ccdImage) const { return findMapping(ccdImage)->getNpar(); }
101 
103  PhotometryMappingBase const &getMapping(CcdImage const &ccdImage) const {
104  return *(findMapping(ccdImage));
105  }
106 
108  virtual int getTotalParameters() const = 0;
109 
111  virtual void dump(std::ostream &stream = std::cout) const = 0;
112 
114  model.dump(s);
115  return s;
116  }
117 
118 protected:
120  virtual PhotometryMappingBase *findMapping(CcdImage const &ccdImage) const = 0;
121 };
122 } // namespace jointcal
123 } // namespace lsst
124 
125 #endif // LSST_JOINTCAL_PHOTOMETRY_MODEL_H
virtual unsigned assignIndices(std::string const &whatToFit, unsigned firstIndex)=0
Assign indices in the full matrix to the parameters being fit in the mappings, starting at firstIndex...
Relates transfo(s) to their position in the fitting matrix and allows interaction with the transfo(s)...
virtual int getTotalParameters() const =0
Return the total number of parameters in this model.
virtual std::shared_ptr< afw::image::PhotoCalib > toPhotoCalib(CcdImage const &ccdImage) const =0
Return the mapping of ccdImage represented as a PhotoCalib.
unsigned 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 void dump(std::ostream &stream=std::cout) const =0
Dump the contents of the transfos, for debugging.
STL class.
friend std::ostream & operator<<(std::ostream &s, PhotometryModel const &model)
virtual double transform(CcdImage const &ccdImage, MeasuredStar const &measuredStar, double instFlux) const =0
Return the on-sky transformed flux for measuredStar on ccdImage.
Class for a simple mapping implementing a generic Gtransfo.
virtual void freezeErrorTransform()=0
Once this routine has been called, the error transform is not modified by offsetParams().
virtual void offsetParams(Eigen::VectorXd const &delta)=0
Offset the parameters by the provided amounts.
virtual void computeParameterDerivatives(MeasuredStar const &measuredStar, CcdImage const &ccdImage, Eigen::VectorXd &derivatives) const =0
Compute the parametric derivatives of this model.
objects measured on actual images.
Definition: MeasuredStar.h:19
virtual PhotometryMappingBase * findMapping(CcdImage const &ccdImage) const =0
Return a pointer to the mapping associated with this ccdImage.
Interface class for PhotometryFit.
virtual void getMappingIndices(CcdImage const &ccdImage, std::vector< unsigned > &indices) const =0
Get how this set of parameters (of length Npar()) map into the "grand" fit.
Handler of an actual image from a single CCD.
Definition: CcdImage.h:41
STL class.
virtual double transformError(CcdImage const &ccdImage, MeasuredStar const &measuredStar, double instFluxErr) const =0
Return the on-sky transformed flux uncertainty for measuredStar on ccdImage.
virtual unsigned getNpar() const =0
Number of total parameters in this mapping.