File PhotometryFit.h

namespace lsst

Class for a simple mapping implementing a generic AstrometryTransform.

Remove all non-astronomical counts from the Chunk Exposure’s pixels.

Forward declarations for lsst::utils::Cache

For details on the Cache class, see the Cache.h file.

It uses a template rather than a pointer so that the derived classes can use the specifics of the transform. The class simplePolyMapping overloads a few routines.

A base class for image defects

Numeric constants used by the Integrate.h integrator routines.

Compute Image Statistics

Note

Gauss-Kronrod-Patterson quadrature coefficients for use in quadpack routine qng. These coefficients were calculated with 101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov 1981.

Note

The Statistics class itself can only handle lsst::afw::image::MaskedImage() types. The philosophy has been to handle other types by making them look like lsst::afw::image::MaskedImage() and reusing that code. Users should have no need to instantiate a Statistics object directly, but should use the overloaded makeStatistics() factory functions.

namespace jointcal
class PhotometryFit : public lsst::jointcal::FitterBase
#include <PhotometryFit.h>

Class that handles the photometric least squares problem.

Public Functions

PhotometryFit(std::shared_ptr<Associations> associations, std::shared_ptr<PhotometryModel> photometryModel)

Construct a photometry fitter.

Parameters
  • associations: The associations catalog to use in the fitter.

  • photometryModel: The model to build the fitter for.

PhotometryFit(PhotometryFit const&)

No copy or move: there is only ever one fitter of a given type.

PhotometryFit(PhotometryFit&&)
PhotometryFit &operator=(PhotometryFit const&)
PhotometryFit &operator=(PhotometryFit&&)
void assignIndices(std::string const &whatToFit)

Set parameters to fit and assign indices in the big matrix.

Parameters
  • [in] whatToFit: Valid strings : “Model”, “Fluxes”, which define which parameter sets are going to be fitted. whatToFit=”Model Fluxes” will set both parameter sets variable when computing derivatives. Provided it contains “Model”, whatToFit is passed over to the PhotometryModel, and can hence be used to control more finely which subsets of the photometric model are being fitted, if the the actual PhotometryModel implements such a possibility.

void offsetParams(Eigen::VectorXd const &delta)

Offset the parameters by the requested quantities. The used parameter layout is the one from the last call to assignIndices or minimize(). There is no easy way to check that the current setting of whatToFit and the provided Delta vector are compatible: we can only test the size.

Parameters
  • [in] delta: vector of offsets to apply

std::shared_ptr<PhotometryModel> getModel() const

Return the model being fit.

Protected Functions

void saveChi2MeasContributions(std::string const &filename) const

Save a CSV file containing residuals of measurement terms.

void saveChi2RefContributions(std::string const &filename) const

Save a CSV file containing residuals of reference terms.

Private Functions

void accumulateStatImageList(CcdImageList const &ccdImageList, Chi2Accumulator &accum) const

Compute the chi2 (per star or total, depending on which Chi2Accumulator is used) for measurements.

void accumulateStatRefStars(Chi2Accumulator &accum) const

Compute the chi2 (per star or total, depending on which Chi2Accumulator is used) for RefStars.

void getIndicesOfMeasuredStar(MeasuredStar const &measuredStar, IndexVector &indices) const

Set the indices of a measured star from the full matrix, for outlier removal.

void leastSquareDerivativesMeasurement(CcdImage const &ccdImage, TripletList &tripletList, Eigen::VectorXd &grad, MeasuredStarList const *measuredStarList = nullptr) const

Compute the derivatives of the measured stars and model for one CcdImage.

The last argument will process a sub-list for outlier removal.

void leastSquareDerivativesReference(FittedStarList const &fittedStarList, TripletList &tripletList, Eigen::VectorXd &grad) const

Compute the derivatives of the reference terms.

Private Members

bool _fittingModel
bool _fittingFluxes
std::shared_ptr<PhotometryModel> _photometryModel
std::size_t _nParModel
std::size_t _nParFluxes