LSSTApplications
20.0.0
LSSTDataManagementBasePackage
|
Go to the documentation of this file.
25 #ifndef LSST_JOINTCAL_PHOTOMETRY_TRANSFORM_H
26 #define LSST_JOINTCAL_PHOTOMETRY_TRANSFORM_H
55 virtual double transform(
double x,
double y,
double value)
const = 0;
61 virtual double transformError(
double x,
double y,
double value,
double valueErr)
const = 0;
101 Eigen::Ref<Eigen::VectorXd> derivatives)
const = 0;
116 out <<
"PhotometryTransformSpatiallyInvariant: " <<
std::setprecision(10) << _value;
123 void offsetParams(Eigen::VectorXd
const &delta)
override { _value -= delta[0]; };
127 Eigen::VectorXd parameters(1);
128 parameters[0] = _value;
161 return std::make_shared<FluxTransformSpatiallyInvariant>(
getValue());
166 Eigen::Ref<Eigen::VectorXd> derivatives)
const override {
168 derivatives[0] = value;
193 return std::make_shared<MagnitudeTransformSpatiallyInvariant>(
getValue());
198 Eigen::Ref<Eigen::VectorXd> derivatives)
const override {
244 double transformError(
double x,
double y,
double value,
double valueErr)
const override {
return 0; }
247 void print(
std::ostream &out)
const override { out <<
"PhotometryTransformChebyshev: " << _coefficients; }
253 void offsetParams(Eigen::VectorXd
const &delta)
override;
256 ndarray::Array<double, 2, 2>
getCoefficients()
const {
return ndarray::copy(_coefficients); }
291 ndarray::Array<double, 2, 2> _coefficients;
292 ndarray::Size _order;
293 ndarray::Size _nParameters;
296 double oneIntegral(
double x,
double y)
const;
311 double transform(
double x,
double y,
double value)
const override {
317 Eigen::Ref<Eigen::VectorXd> derivatives)
const override {
319 derivatives *= value;
340 double transform(
double x,
double y,
double value)
const override {
346 Eigen::Ref<Eigen::VectorXd> derivatives)
const override {
360 #endif // LSST_JOINTCAL_PHOTOMETRY_TRANSFORM_H
T setprecision(T... args)
ndarray::Array< double const, 2, 2 > coefficients
A base class for image defects.
A floating-point coordinate rectangle geometry.