39     Eigen::Index ipar = firstIndex;
 
   40     for (
auto const &i : 
_myMap) {
 
   41         auto mapping = i.second.get();
 
   42         mapping->setIndex(ipar);
 
   43         ipar += mapping->getNpar();
 
   50         auto mapping = i.second.get();
 
   51         mapping->offsetParams(delta.segment(mapping->getIndex(), mapping->getNpar()));
 
   57         i.second->freezeErrorTransform();
 
   64     if (indices.
size() < mapping->getNpar()) indices.
resize(mapping->getNpar());
 
   65     indices[0] = mapping->getIndex();
 
   71         total += i.second->getNpar();
 
   78                                                         Eigen::VectorXd &derivatives)
 const {
 
   80     mapping->computeParameterDerivatives(measuredStar, measuredStar.
getInstFlux(), derivatives);
 
   85         out << i.first << 
": ";
 
   95                           "SimplePhotometryModel cannot find CcdImage " + ccdImage.
getName());
 
   96     return i->second.get();
 
  101     for (
auto const &ccdImage : ccdImageList) {
 
  104         auto transform = std::make_shared<FluxTransformSpatiallyInvariant>(
photoCalib->getCalibrationMean());
 
  116     return mapping->transform(star, star.
getInstFlux());
 
  122     return mapping->transformError(star, star.
getInstFlux(), tempErr);
 
  128     return std::make_unique<afw::image::PhotoCalib>(calibration, oldPhotoCalib->getCalibrationErr());
 
  138     for (
auto const &ccdImage : ccdImageList) {
 
  142         auto transform = std::make_shared<MagnitudeTransformSpatiallyInvariant>(
calib);
 
  155     return mapping->transform(star, star.
getInstMag());
 
  161     return mapping->transformError(star, star.
getInstMag(), tempErr);
 
  169     return std::make_unique<afw::image::PhotoCalib>(calibration, oldPhotoCalib->getCalibrationErr());
 
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
 
LSST DM logging module built on log4cxx.
 
#define LOG_GET(logger)
Returns a Log object associated with logger.
 
#define LOGLS_INFO(logger, message)
Log a info-level message using an iostream-based interface.
 
Handler of an actual image from a single CCD.
 
std::shared_ptr< afw::image::PhotoCalib > getPhotoCalib() const
Return the exposure's photometric calibration.
 
std::string getName() const
Return the _name that identifies this ccdImage.
 
CcdImageKey getHashKey() const
 
Sources measured on images.
 
double getInstFlux() const
 
double getInstMag() const
 
std::shared_ptr< FittedStar > getFittedStar() const
 
Relates transform(s) to their position in the fitting matrix and allows interaction with the transfor...
 
virtual Eigen::VectorXd getParameters()=0
 
LOG_LOGGER _log
lsst.logging instance, to be created by a subclass so that messages have consistent name.
 
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.
 
void print(std::ostream &out) const override
Print a string representation of the contents of this mapping, for debugging.
 
double transformError(CcdImage const &ccdImage, MeasuredStar const &measuredStar) const override
Return the on-sky transformed flux uncertainty for measuredStar on ccdImage.
 
double transform(CcdImage const &ccdImage, MeasuredStar const &measuredStar) const override
Return the on-sky transformed flux for measuredStar on ccdImage.
 
SimpleFluxModel(CcdImageList const &ccdImageList, double errorPedestal=0)
 
double computeResidual(CcdImage const &ccdImage, MeasuredStar const &measuredStar) const override
Compute the residual between the model applied to a star and its associated fittedStar.
 
std::shared_ptr< afw::image::PhotoCalib > toPhotoCalib(CcdImage const &ccdImage) const override
Return the mapping of ccdImage represented as a PhotoCalib.
 
double computeResidual(CcdImage const &ccdImage, MeasuredStar const &measuredStar) const override
Compute the residual between the model applied to a star and its associated fittedStar.
 
std::shared_ptr< afw::image::PhotoCalib > toPhotoCalib(CcdImage const &ccdImage) const override
Return the mapping of ccdImage represented as a PhotoCalib.
 
double transform(CcdImage const &ccdImage, MeasuredStar const &measuredStar) const override
Return the on-sky transformed flux for measuredStar on ccdImage.
 
SimpleMagnitudeModel(CcdImageList const &ccdImageList, double errorPedestal=0)
 
double transformError(CcdImage const &ccdImage, MeasuredStar const &measuredStar) const override
Return the on-sky transformed flux uncertainty for measuredStar on ccdImage.
 
void print(std::ostream &out) const override
Print a string representation of the contents of this mapping, for debugging.
 
Photometric response model which has a single photometric factor per CcdImage.
 
void computeParameterDerivatives(MeasuredStar const &measuredStar, CcdImage const &ccdImage, Eigen::VectorXd &derivatives) const override
Compute the parametric derivatives of this model.
 
std::size_t getTotalParameters() const override
Return the total number of parameters in this model.
 
PhotometryMappingBase * findMapping(CcdImage const &ccdImage) const override
Return the mapping associated with this ccdImage.
 
void getMappingIndices(CcdImage const &ccdImage, IndexVector &indices) const override
Get how this set of parameters (of length Npar()) map into the "grand" fit.
 
void offsetParams(Eigen::VectorXd const &delta) override
Offset the parameters by the provided amounts (by -delta).
 
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 freezeErrorTransform() override
Once this routine has been called, the error transform is not modified by offsetParams().
 
virtual void print(std::ostream &out) const override
Print a string representation of the contents of this mapping, for debugging.
 
Reports invalid arguments.
 
double ABMagnitudeToNanojansky(double magnitude)
Convert an AB magnitude to a flux in nanojansky.
 
double nanojanskyToABMagnitude(double flux)
Convert a flux in nanojansky to AB magnitude.
 
A base class for image defects.