LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Protected Attributes | List of all members
lsst::jointcal::ChipVisitPhotometryMapping Class Referenceabstract

A two-level photometric transform: one for the ccd and one for the visit. More...

#include <PhotometryMapping.h>

Inheritance diagram for lsst::jointcal::ChipVisitPhotometryMapping:
lsst::jointcal::PhotometryMappingBase lsst::jointcal::ChipVisitFluxMapping lsst::jointcal::ChipVisitMagnitudeMapping

Public Member Functions

 ChipVisitPhotometryMapping (std::shared_ptr< PhotometryMapping > chipMapping, std::shared_ptr< PhotometryMapping > visitMapping)
 
std::size_t getNpar () const override
 Number of total parameters in this mapping. More...
 
double transform (MeasuredStar const &measuredStar, double value) const override
 Return the on-sky transformed flux for measuredStar on ccdImage. More...
 
void freezeErrorTransform () override
 Once this routine has been called, the error transform is not modified by offsetParams(). More...
 
Eigen::VectorXd getParameters () override
 
void getMappingIndices (IndexVector &indices) const override
 Gets how this set of parameters (of length getNpar()) map into the "grand" fit. More...
 
void setWhatToFit (bool const fittingChips, bool const fittingVisits)
 Set whether to fit chips or visits. More...
 
void print (std::ostream &out) const override
 Print a string representation of the contents of this mapping, for debugging. More...
 
std::shared_ptr< PhotometryMappinggetChipMapping () const
 
std::shared_ptr< PhotometryMappinggetVisitMapping () const
 
std::size_t getNParChip () const
 
std::size_t getNParVisit () const
 
virtual double transformError (MeasuredStar const &measuredStar, double value, double valueErr) const =0
 Return the on-sky transformed flux uncertainty for measuredStar on ccdImage. More...
 
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. More...
 
void setFixed (bool _fixed)
 Make this mapping's parameters fixed (i.e. not varied during fitting). More...
 
bool isFixed ()
 
Eigen::Index getIndex ()
 Get the index of this mapping in the grand fit. More...
 
void setIndex (Eigen::Index i)
 Set the index of this mapping in the grand fit. More...
 

Protected Attributes

std::size_t _nParChip
 
std::size_t _nParVisit
 
std::shared_ptr< PhotometryMapping_chipMapping
 
std::shared_ptr< PhotometryMapping_visitMapping
 
Eigen::Index index
 
bool fixed
 

Detailed Description

A two-level photometric transform: one for the ccd and one for the visit.

Definition at line 218 of file PhotometryMapping.h.

Constructor & Destructor Documentation

◆ ChipVisitPhotometryMapping()

lsst::jointcal::ChipVisitPhotometryMapping::ChipVisitPhotometryMapping ( std::shared_ptr< PhotometryMapping chipMapping,
std::shared_ptr< PhotometryMapping visitMapping 
)
inline

Definition at line 220 of file PhotometryMapping.h.

223  _nParChip(0),
224  _nParVisit(0),
225  _chipMapping(std::move(chipMapping)),
226  _visitMapping(std::move(visitMapping)) {}
std::shared_ptr< PhotometryMapping > _visitMapping
std::shared_ptr< PhotometryMapping > _chipMapping
T move(T... args)

Member Function Documentation

◆ computeParameterDerivatives()

virtual void lsst::jointcal::PhotometryMappingBase::computeParameterDerivatives ( MeasuredStar const &  measuredStar,
double  value,
Eigen::Ref< Eigen::VectorXd >  derivatives 
) const
pure virtualinherited

Compute the derivatives with respect to the parameters (i.e.

the coefficients).

Parameters
[in]measuredStarThe measured star position to transform.
[in]valueThe instrument flux or magnitude to compute the derivative at.
[out]derivativesThe computed derivatives, in the same order as the deltas in offsetParams.

Implemented in lsst::jointcal::ChipVisitMagnitudeMapping, lsst::jointcal::ChipVisitFluxMapping, and lsst::jointcal::PhotometryMapping.

◆ freezeErrorTransform()

void lsst::jointcal::ChipVisitPhotometryMapping::freezeErrorTransform ( )
inlineoverridevirtual

Once this routine has been called, the error transform is not modified by offsetParams().

The routine can be called when the mappings are roughly in place. After the call, the transformations used to propagate errors are no longer affected when updating the mappings. This allows an exactly linear fit, which can be necessary for some model+data combinations.

Implements lsst::jointcal::PhotometryMappingBase.

Definition at line 239 of file PhotometryMapping.h.

239  {
240  _chipMapping->freezeErrorTransform();
241  _visitMapping->freezeErrorTransform();
242  }

◆ getChipMapping()

std::shared_ptr<PhotometryMapping> lsst::jointcal::ChipVisitPhotometryMapping::getChipMapping ( ) const
inline

Definition at line 274 of file PhotometryMapping.h.

274 { return _chipMapping; }

◆ getIndex()

Eigen::Index lsst::jointcal::PhotometryMappingBase::getIndex ( )
inlineinherited

Get the index of this mapping in the grand fit.

Definition at line 120 of file PhotometryMapping.h.

120 { return index; }

◆ getMappingIndices()

void lsst::jointcal::ChipVisitPhotometryMapping::getMappingIndices ( IndexVector indices) const
overridevirtual

Gets how this set of parameters (of length getNpar()) map into the "grand" fit.

Expects that indices has enough space reserved.

Implements lsst::jointcal::PhotometryMappingBase.

Definition at line 39 of file PhotometryMapping.cc.

39  {
40  if (indices.size() < getNpar()) indices.resize(getNpar());
41  // If we're fitting the chip mapping, fill those indices.
42  if (_nParChip > 0) {
43  _chipMapping->getMappingIndices(indices);
44  }
45  // If we're fitting the visit mapping, fill those indices.
46  if (_nParVisit > 0) {
47  // TODO DM-12169: there is probably a better way to feed a subpart of a std::vector
48  // (maybe a view or iterators?)
49  IndexVector tempIndices(_visitMapping->getNpar());
50  _visitMapping->getMappingIndices(tempIndices);
51  // We have to insert the visit indices starting after the chip indices.
52  for (std::size_t k = 0; k < _visitMapping->getNpar(); ++k) {
53  indices.at(k + _nParChip) = tempIndices.at(k);
54  }
55  }
56 }
T at(T... args)
std::size_t getNpar() const override
Number of total parameters in this mapping.
T resize(T... args)
T size(T... args)

◆ getNpar()

std::size_t lsst::jointcal::ChipVisitPhotometryMapping::getNpar ( ) const
inlineoverridevirtual

Number of total parameters in this mapping.

Implements lsst::jointcal::PhotometryMappingBase.

Definition at line 229 of file PhotometryMapping.h.

229 { return _nParChip + _nParVisit; }

◆ getNParChip()

std::size_t lsst::jointcal::ChipVisitPhotometryMapping::getNParChip ( ) const
inline

Definition at line 277 of file PhotometryMapping.h.

277 { return _nParChip; }

◆ getNParVisit()

std::size_t lsst::jointcal::ChipVisitPhotometryMapping::getNParVisit ( ) const
inline

Definition at line 278 of file PhotometryMapping.h.

278 { return _nParVisit; }

◆ getParameters()

Eigen::VectorXd lsst::jointcal::ChipVisitPhotometryMapping::getParameters ( )
inlineoverridevirtual

Implements lsst::jointcal::PhotometryMappingBase.

Definition at line 245 of file PhotometryMapping.h.

245  {
246  Eigen::VectorXd joined(getNpar());
247  joined << _chipMapping->getParameters(), _visitMapping->getParameters();
248  return joined;
249  }

◆ getVisitMapping()

std::shared_ptr<PhotometryMapping> lsst::jointcal::ChipVisitPhotometryMapping::getVisitMapping ( ) const
inline

Definition at line 275 of file PhotometryMapping.h.

275 { return _visitMapping; }

◆ isFixed()

bool lsst::jointcal::PhotometryMappingBase::isFixed ( )
inlineinherited

Definition at line 101 of file PhotometryMapping.h.

◆ print()

void lsst::jointcal::ChipVisitPhotometryMapping::print ( std::ostream out) const
inlineoverridevirtual

Print a string representation of the contents of this mapping, for debugging.

This string representation can be very verbose, as it contains all of the parameters of all of the transforms in this mapping.

Implements lsst::jointcal::PhotometryMappingBase.

Definition at line 266 of file PhotometryMapping.h.

266  {
267  out << "index: " << index << std::endl;
268  out << "chip mapping: ";
269  _chipMapping->print(out);
270  out << std::endl << "visit mapping: ";
271  _visitMapping->print(out);
272  }
T endl(T... args)

◆ setFixed()

void lsst::jointcal::PhotometryMappingBase::setFixed ( bool  _fixed)
inlineinherited

Make this mapping's parameters fixed (i.e. not varied during fitting).

Definition at line 100 of file PhotometryMapping.h.

100 { fixed = _fixed; }

◆ setIndex()

void lsst::jointcal::PhotometryMappingBase::setIndex ( Eigen::Index  i)
inlineinherited

Set the index of this mapping in the grand fit.

Definition at line 123 of file PhotometryMapping.h.

123 { index = i; }

◆ setWhatToFit()

void lsst::jointcal::ChipVisitPhotometryMapping::setWhatToFit ( bool const  fittingChips,
bool const  fittingVisits 
)

Set whether to fit chips or visits.

This must be called before anything that depends on knowing the number of parameters in the fit, such as offsetParams(), getParameters(), or computeParameterDerivatives().

Parameters
fittingChipsFit the chip transform.
fittingVisitsFit the visit transform.

Definition at line 58 of file PhotometryMapping.cc.

58  {
59  if (fittingChips) {
60  _nParChip = _chipMapping->getNpar();
61  } else {
62  _nParChip = 0;
63  }
64  if (fittingVisits) {
65  _nParVisit = _visitMapping->getNpar();
66  } else {
67  _nParVisit = 0;
68  }
69 }

◆ transform()

double lsst::jointcal::ChipVisitPhotometryMapping::transform ( MeasuredStar const &  measuredStar,
double  value 
) const
inlineoverridevirtual

Return the on-sky transformed flux for measuredStar on ccdImage.

Parameters
[in]measuredStarThe measured star position to transform.
[in]valueThe instrument flux or magnitude to transform.
Returns
The on-sky value () transformed from value at measuredStar's position.

Implements lsst::jointcal::PhotometryMappingBase.

Definition at line 232 of file PhotometryMapping.h.

232  {
233  double temp = _chipMapping->getTransform()->transform(measuredStar.x, measuredStar.y, value);
234  return _visitMapping->getTransform()->transform(measuredStar.getXFocal(), measuredStar.getYFocal(),
235  temp);
236  }

◆ transformError()

virtual double lsst::jointcal::PhotometryMappingBase::transformError ( MeasuredStar const &  measuredStar,
double  value,
double  valueErr 
) const
pure virtualinherited

Return the on-sky transformed flux uncertainty for measuredStar on ccdImage.

Matches the underlying PhotometryTransform's transformError() until freezeErrorTransform() is called.

Parameters
[in]measuredStarThe measured star position to transform.
[in]valueThe flux or magnitude to transform.
[in]valueErrThe flux or magnitude uncertainty to transform.
Returns
The on-sky value transformed from value at measuredStar's position.

Implemented in lsst::jointcal::ChipVisitMagnitudeMapping, lsst::jointcal::ChipVisitFluxMapping, and lsst::jointcal::PhotometryMapping.

Member Data Documentation

◆ _chipMapping

std::shared_ptr<PhotometryMapping> lsst::jointcal::ChipVisitPhotometryMapping::_chipMapping
protected

Definition at line 285 of file PhotometryMapping.h.

◆ _nParChip

std::size_t lsst::jointcal::ChipVisitPhotometryMapping::_nParChip
protected

Definition at line 282 of file PhotometryMapping.h.

◆ _nParVisit

std::size_t lsst::jointcal::ChipVisitPhotometryMapping::_nParVisit
protected

Definition at line 282 of file PhotometryMapping.h.

◆ _visitMapping

std::shared_ptr<PhotometryMapping> lsst::jointcal::ChipVisitPhotometryMapping::_visitMapping
protected

Definition at line 286 of file PhotometryMapping.h.

◆ fixed

bool lsst::jointcal::PhotometryMappingBase::fixed
protectedinherited

Definition at line 129 of file PhotometryMapping.h.

◆ index

Eigen::Index lsst::jointcal::PhotometryMappingBase::index
protectedinherited

Definition at line 127 of file PhotometryMapping.h.


The documentation for this class was generated from the following files: