LSSTApplications
19.0.0-14-gb0260a2+72efe9b372,20.0.0+7927753e06,20.0.0+8829bf0056,20.0.0+995114c5d2,20.0.0+b6f4b2abd1,20.0.0+bddc4f4cbe,20.0.0-1-g253301a+8829bf0056,20.0.0-1-g2b7511a+0d71a2d77f,20.0.0-1-g5b95a8c+7461dd0434,20.0.0-12-g321c96ea+23efe4bbff,20.0.0-16-gfab17e72e+fdf35455f6,20.0.0-2-g0070d88+ba3ffc8f0b,20.0.0-2-g4dae9ad+ee58a624b3,20.0.0-2-g61b8584+5d3db074ba,20.0.0-2-gb780d76+d529cf1a41,20.0.0-2-ged6426c+226a441f5f,20.0.0-2-gf072044+8829bf0056,20.0.0-2-gf1f7952+ee58a624b3,20.0.0-20-geae50cf+e37fec0aee,20.0.0-25-g3dcad98+544a109665,20.0.0-25-g5eafb0f+ee58a624b3,20.0.0-27-g64178ef+f1f297b00a,20.0.0-3-g4cc78c6+e0676b0dc8,20.0.0-3-g8f21e14+4fd2c12c9a,20.0.0-3-gbd60e8c+187b78b4b8,20.0.0-3-gbecbe05+48431fa087,20.0.0-38-ge4adf513+a12e1f8e37,20.0.0-4-g97dc21a+544a109665,20.0.0-4-gb4befbc+087873070b,20.0.0-4-gf910f65+5d3db074ba,20.0.0-5-gdfe0fee+199202a608,20.0.0-5-gfbfe500+d529cf1a41,20.0.0-6-g64f541c+d529cf1a41,20.0.0-6-g9a5b7a1+a1cd37312e,20.0.0-68-ga3f3dda+5fca18c6a4,20.0.0-9-g4aef684+e18322736b,w.2020.45
LSSTDataManagementBasePackage
|
Go to the documentation of this file.
25 #ifndef LSST_JOINTCAL_PHOTOMETRY_MAPPING_H
26 #define LSST_JOINTCAL_PHOTOMETRY_MAPPING_H
97 Eigen::Ref<Eigen::VectorXd> derivatives)
const = 0;
150 return _transform->getNpar();
156 return _transform->transform(measuredStar.
x, measuredStar.
y, value);
161 return _transformErrors->transformError(measuredStar.
x, measuredStar.
y, value, valueErr);
171 Eigen::Ref<Eigen::VectorXd> derivatives)
const override {
175 _transform->computeParameterDerivatives(measuredStar.
x, measuredStar.
y, value, derivatives);
185 void offsetParams(Eigen::VectorXd
const &delta) { _transform->offsetParams(delta); }
188 Eigen::VectorXd
getParameters()
override {
return _transform->getParameters(); }
194 indices[k] =
index + k;
200 out <<
"index: " <<
index <<
" fixed: " <<
fixed <<
" ";
201 _transform->print(out);
233 double temp =
_chipMapping->getTransform()->transform(measuredStar.
x, measuredStar.
y, value);
246 Eigen::VectorXd joined(
getNpar());
263 void setWhatToFit(
bool const fittingChips,
bool const fittingVisits);
268 out <<
"chip mapping: ";
300 Eigen::Ref<Eigen::VectorXd> derivatives)
const override;
319 Eigen::Ref<Eigen::VectorXd> derivatives)
const override;
325 #endif // LSST_JOINTCAL_PHOTOMETRY_MAPPING_H
objects measured on actual images.
std::size_t getNpar() const override
Number of total parameters in this mapping.
ChipVisitPhotometryMapping(std::shared_ptr< PhotometryMapping > chipMapping, std::shared_ptr< PhotometryMapping > visitMapping)
virtual double transform(MeasuredStar const &measuredStar, double value) const =0
Return the on-sky transformed flux for measuredStar on ccdImage.
double transform(MeasuredStar const &measuredStar, double value) const override
Return the on-sky transformed flux for measuredStar on ccdImage.
virtual void print(std::ostream &out) const =0
Print a string representation of the contents of this mapping, for debugging.
virtual double transformError(MeasuredStar const &measuredStar, double value, double valueErr) const =0
Return the on-sky transformed flux uncertainty for measuredStar on ccdImage.
PhotometryMappingBase(PhotometryMappingBase const &)=delete
No copy or move: there is only ever one instance of a given mapping (i.e. per ccd+visit)
void freezeErrorTransform() override
Once this routine has been called, the error transform is not modified by offsetParams().
std::shared_ptr< PhotometryTransform > getTransform() const
void setWhatToFit(bool const fittingChips, bool const fittingVisits)
Set whether to fit chips or visits.
virtual ~PhotometryMappingBase()
void setIndex(Eigen::Index i)
Set the index of this mapping in the grand fit.
double transformError(MeasuredStar const &measuredStar, double value, double valueErr) const override
Return the on-sky transformed flux uncertainty for measuredStar on ccdImage.
A two-level photometric transform: one for the ccd and one for the visit.
void getMappingIndices(IndexVector &indices) const override
Gets how this set of parameters (of length getNpar()) map into the "grand" fit.
void setFixed(bool _fixed)
Make this mapping's parameters fixed (i.e. not varied during fitting).
void computeParameterDerivatives(MeasuredStar const &measuredStar, double value, Eigen::Ref< Eigen::VectorXd > derivatives) const override
Compute the derivatives with respect to the parameters (i.e.
virtual void freezeErrorTransform()=0
Once this routine has been called, the error transform is not modified by offsetParams().
virtual void computeParameterDerivatives(MeasuredStar const &measuredStar, double value, Eigen::Ref< Eigen::VectorXd > derivatives) const =0
Compute the derivatives with respect to the parameters (i.e.
virtual std::size_t getNpar() const =0
Number of total parameters in this mapping.
Relates transform(s) to their position in the fitting matrix and allows interaction with the transfor...
void print(std::ostream &out) const override
Print a string representation of the contents of this mapping, for debugging.
Eigen::Index getIndex()
Get the index of this mapping in the grand fit.
A mapping containing a single photometryTransform.
void print(std::ostream &out) const override
Print a string representation of the contents of this mapping, for debugging.
PhotometryMapping(std::shared_ptr< PhotometryTransform > transform)
Value transform takes ownership of transform, error transform aliases it.
void computeParameterDerivatives(MeasuredStar const &measuredStar, double value, Eigen::Ref< Eigen::VectorXd > derivatives) const override
Compute the derivatives with respect to the parameters (i.e.
std::shared_ptr< PhotometryMapping > getVisitMapping() const
double transform(MeasuredStar const &measuredStar, double value) const override
Return the on-sky transformed flux for measuredStar on ccdImage.
std::shared_ptr< PhotometryTransform > getTransformErrors() const
std::shared_ptr< PhotometryMapping > getChipMapping() const
PhotometryMappingBase & operator=(PhotometryMappingBase &&)=delete
void freezeErrorTransform() override
Once this routine has been called, the error transform is not modified by offsetParams().
std::shared_ptr< PhotometryMapping > _visitMapping
A base class for image defects.
std::size_t getNParChip() const
std::size_t getNParVisit() const
ChipVisitFluxMapping(std::shared_ptr< PhotometryMapping > chipMapping, std::shared_ptr< PhotometryMapping > visitMapping)
Implementation of the Photometric Calibration class.
PhotometryMappingBase(PhotometryMappingBase &&)=delete
std::shared_ptr< PhotometryMapping > _chipMapping
double transformError(MeasuredStar const &measuredStar, double value, double valueErr) const override
Return the on-sky transformed flux uncertainty for measuredStar on ccdImage.
void computeParameterDerivatives(MeasuredStar const &measuredStar, double value, Eigen::Ref< Eigen::VectorXd > derivatives) const override
Compute the derivatives with respect to the parameters (i.e.
void getMappingIndices(IndexVector &indices) const override
Gets how this set of parameters (of length getNpar()) map into the "grand" fit.
Eigen::VectorXd getParameters() override
std::size_t getNpar() const override
Number of total parameters in this mapping.
PhotometryMappingBase & operator=(PhotometryMappingBase const &)=delete
void offsetParams(Eigen::VectorXd const &delta)
Offset the transform parameters by delta.
virtual Eigen::VectorXd getParameters()=0
double transformError(MeasuredStar const &measuredStar, double value, double valueErr) const override
Return the on-sky transformed flux uncertainty for measuredStar on ccdImage.
Eigen::VectorXd getParameters() override
ChipVisitMagnitudeMapping(std::shared_ptr< PhotometryMapping > chipMapping, std::shared_ptr< PhotometryMapping > visitMapping)
virtual void getMappingIndices(IndexVector &indices) const =0
Gets how this set of parameters (of length getNpar()) map into the "grand" fit.