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::PhotometryMapping Class Reference

A mapping containing a single photometryTransform. More...

#include <PhotometryMapping.h>

Inheritance diagram for lsst::jointcal::PhotometryMapping:
lsst::jointcal::PhotometryMappingBase

Public Member Functions

 PhotometryMapping (std::shared_ptr< PhotometryTransform > transform)
 Value transform takes ownership of transform, error transform aliases it. More...
 
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...
 
double transformError (MeasuredStar const &measuredStar, double value, double valueErr) const override
 Return the on-sky transformed flux uncertainty for measuredStar on ccdImage. More...
 
void freezeErrorTransform () override
 Once this routine has been called, the error transform is not modified by offsetParams(). More...
 
void computeParameterDerivatives (MeasuredStar const &measuredStar, double value, Eigen::Ref< Eigen::VectorXd > derivatives) const override
 Compute the derivatives with respect to the parameters (i.e. More...
 
void offsetParams (Eigen::VectorXd const &delta)
 Offset the transform parameters by delta. 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 print (std::ostream &out) const override
 Print a string representation of the contents of this mapping, for debugging. More...
 
std::shared_ptr< PhotometryTransformgetTransform () const
 
std::shared_ptr< PhotometryTransformgetTransformErrors () const
 
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

Eigen::Index index
 
bool fixed
 

Detailed Description

A mapping containing a single photometryTransform.

Definition at line 135 of file PhotometryMapping.h.

Constructor & Destructor Documentation

◆ PhotometryMapping()

lsst::jointcal::PhotometryMapping::PhotometryMapping ( std::shared_ptr< PhotometryTransform transform)
inlineexplicit

Value transform takes ownership of transform, error transform aliases it.

Call freezeErrorTransform() to unalias the error transform.

Definition at line 142 of file PhotometryMapping.h.

143  : PhotometryMappingBase(), _transform(std::move(transform)), _transformErrors(_transform) {}
double transform(MeasuredStar const &measuredStar, double value) const override
Return the on-sky transformed flux for measuredStar on ccdImage.
T move(T... args)

Member Function Documentation

◆ computeParameterDerivatives()

void lsst::jointcal::PhotometryMapping::computeParameterDerivatives ( MeasuredStar const &  measuredStar,
double  value,
Eigen::Ref< Eigen::VectorXd >  derivatives 
) const
inlineoverridevirtual

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.

Implements lsst::jointcal::PhotometryMappingBase.

Definition at line 170 of file PhotometryMapping.h.

171  {
172  if (fixed) {
173  return;
174  } else {
175  _transform->computeParameterDerivatives(measuredStar.x, measuredStar.y, value, derivatives);
176  }
177  }

◆ freezeErrorTransform()

void lsst::jointcal::PhotometryMapping::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 165 of file PhotometryMapping.h.

165  {
166  _transformErrors = std::shared_ptr<PhotometryTransform>(_transform->clone());
167  }

◆ 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::PhotometryMapping::getMappingIndices ( IndexVector indices) const
inlineoverridevirtual

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 191 of file PhotometryMapping.h.

191  {
192  if (indices.size() < getNpar()) indices.resize(getNpar());
193  for (std::size_t k = 0; k < getNpar(); ++k) {
194  indices[k] = index + k;
195  }
196  }
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::PhotometryMapping::getNpar ( ) const
inlineoverridevirtual

Number of total parameters in this mapping.

Implements lsst::jointcal::PhotometryMappingBase.

Definition at line 146 of file PhotometryMapping.h.

146  {
147  if (fixed) {
148  return 0;
149  } else {
150  return _transform->getNpar();
151  }
152  }

◆ getParameters()

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

Implements lsst::jointcal::PhotometryMappingBase.

Definition at line 188 of file PhotometryMapping.h.

188 { return _transform->getParameters(); }

◆ getTransform()

std::shared_ptr<PhotometryTransform> lsst::jointcal::PhotometryMapping::getTransform ( ) const
inline

Definition at line 204 of file PhotometryMapping.h.

204 { return _transform; }

◆ getTransformErrors()

std::shared_ptr<PhotometryTransform> lsst::jointcal::PhotometryMapping::getTransformErrors ( ) const
inline

Definition at line 206 of file PhotometryMapping.h.

206 { return _transformErrors; }

◆ isFixed()

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

Definition at line 101 of file PhotometryMapping.h.

101 { return fixed; }

◆ offsetParams()

void lsst::jointcal::PhotometryMapping::offsetParams ( Eigen::VectorXd const &  delta)
inline

Offset the transform parameters by delta.

Parameters
[in]deltavector to offset transform parameters. Same ordering as derivatives in computeParameterDerivatives();

Definition at line 185 of file PhotometryMapping.h.

185 { _transform->offsetParams(delta); }

◆ print()

void lsst::jointcal::PhotometryMapping::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 199 of file PhotometryMapping.h.

199  {
200  out << "index: " << index << " fixed: " << fixed << " ";
201  _transform->print(out);
202  }

◆ 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; }

◆ transform()

double lsst::jointcal::PhotometryMapping::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 155 of file PhotometryMapping.h.

155  {
156  return _transform->transform(measuredStar.x, measuredStar.y, value);
157  }

◆ transformError()

double lsst::jointcal::PhotometryMapping::transformError ( MeasuredStar const &  measuredStar,
double  value,
double  valueErr 
) const
inlineoverridevirtual

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.

Implements lsst::jointcal::PhotometryMappingBase.

Definition at line 160 of file PhotometryMapping.h.

160  {
161  return _transformErrors->transformError(measuredStar.x, measuredStar.y, value, valueErr);
162  }

Member Data Documentation

◆ 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 file: