2 #ifndef LSST_JOINTCAL_FITTER_BASE_H
3 #define LSST_JOINTCAL_FITTER_BASE_H
30 explicit FitterBase(std::shared_ptr<Associations> associations)
87 virtual void offsetParams(Eigen::VectorXd
const &delta) = 0;
147 std::vector<unsigned> &indices)
const = 0;
166 TripletList &tripletList, Eigen::VectorXd &grad)
const = 0;
170 #endif // LSST_JOINTCAL_FITTER_BASE_H
virtual void accumulateStatRefStars(Chi2Accumulator &accum) const =0
Compute the chi2 (per star or total, depending on which Chi2Accumulator is used) for RefStars...
virtual void leastSquareDerivativesReference(FittedStarList const &fittedStarList, TripletList &tripletList, Eigen::VectorXd &grad) const =0
Compute the derivatives of the reference terms.
Simple structure to accumulate chi2 and ndof.
Base class for Chi2Statistic and Chi2List, to allow addEntry inside Fitter for either class...
virtual void accumulateStatImageList(CcdImageList const &ccdImageList, Chi2Accumulator &accum) const =0
Compute the chi2 (per star or total, depending on which Chi2Accumulator is used) for measurements...
virtual void getIndicesOfMeasuredStar(MeasuredStar const &measuredStar, std::vector< unsigned > &indices) const =0
Set the indices of a measured star from the full matrix, for outlier removal.
virtual void saveResultTuples(std::string const &tupleName) const =0
Save the full chi2 term per star that was used in the minimization, for debugging.
MinimizeResult minimize(std::string const &whatToFit, double nSigmaCut=0)
Does a 1 step minimization, assuming a linear model.
unsigned findOutliers(double nSigmaCut, MeasuredStarList &msOutliers, FittedStarList &fsOutliers) const
Find Measurements and references contributing more than a cut, computed as The outliers are NOT remo...
void removeMeasOutliers(MeasuredStarList &outliers)
Remove measuredStar outliers from the fit. No Refit done.
void leastSquareDerivatives(TripletList &tripletList, Eigen::VectorXd &grad) const
Evaluates the chI^2 derivatives (Jacobian and gradient) for the current whatToFit setting...
A list of MeasuredStar. They are usually filled in Associations::AddImage.
MinimizeResult
Return value of minimize()
FitterBase(std::shared_ptr< Associations > associations)
A list of FittedStar s. Such a list is typically constructed by Associations.
void removeRefOutliers(FittedStarList &outliers)
Remove refStar outliers from the fit. No Refit done.
objects measured on actual images.
std::shared_ptr< Associations > _associations
virtual void assignIndices(std::string const &whatToFit)=0
Set parameters to fit and assign indices in the big matrix.
Chi2Statistic computeChi2() const
Returns the chi2 for the current state.
FitterBase & operator=(FitterBase const &)=delete
std::list< std::shared_ptr< CcdImage > > CcdImageList
Handler of an actual image from a single CCD.
virtual void offsetParams(Eigen::VectorXd const &delta)=0
Offset the parameters by the requested quantities.
void outliersContributions(MeasuredStarList &msOutliers, FittedStarList &fsOutliers, TripletList &tripletList, Eigen::VectorXd &grad)
Contributions to derivatives from (presumably) outlier terms.
virtual void leastSquareDerivativesMeasurement(CcdImage const &ccdImage, TripletList &tripletList, Eigen::VectorXd &grad, MeasuredStarList const *measuredStarList=nullptr) const =0
Compute the derivatives of the measured stars and model for one CcdImage.