lsst.afw
tickets.DM-23835-g31c64b24f1
|
Go to the documentation of this file.
24 #ifndef LSST_AFW_MATH_ChebyshevBoundedField_h_INCLUDED
25 #define LSST_AFW_MATH_ChebyshevBoundedField_h_INCLUDED
29 #include "lsst/pex/config.h"
42 LSST_CONTROL_FIELD(
orderX,
int,
"maximum Chebyshev function order in x");
44 LSST_CONTROL_FIELD(
orderY,
int,
"maximum Chebyshev function order in y");
47 "if true, only include terms where the sum of the x and y order "
48 "is less than or equal to max(orderX, orderY)");
116 ndarray::Array<double const, 2, 2>
const&
coefficients);
135 ndarray::Array<double const, 1>
const&
x,
136 ndarray::Array<double const, 1>
const&
y,
137 ndarray::Array<double const, 1>
const&
z,
153 ndarray::Array<double const, 1>
const&
x,
154 ndarray::Array<double const, 1>
const&
y,
155 ndarray::Array<double const, 1>
const&
z,
156 ndarray::Array<double const, 1>
const& w,
172 template <
typename T>
202 double mean()
const override;
226 ndarray::Array<double const, 2, 2> _coefficients;
234 #endif // !LSST_AFW_MATH_ChebyshevBoundedField_h_INCLUDED
ChebyshevBoundedFieldControl Control
Backwards-compatibility support for depersisting the old Calib (FluxMag0/FluxMag0Err) objects.
A control object used when fitting ChebyshevBoundedField to data (see ChebyshevBoundedField::fit)
int orderX
"maximum Chebyshev function order in x" ;
An abstract base class for 2-d functions defined on an integer bounding boxes.
ndarray::Array< double const, 2, 2 > coefficients
ChebyshevBoundedField & operator=(ChebyshevBoundedField const &)=delete
double integrate() const override
Compute the integral of this function over its bounding-box.
std::shared_ptr< ChebyshevBoundedField > truncate(Control const &ctrl) const
Return a new ChebyshevBoudedField with maximum orders set by the given control object.
~ChebyshevBoundedField() override
static std::shared_ptr< ChebyshevBoundedField > fit(lsst::geom::Box2I const &bbox, ndarray::Array< double const, 1 > const &x, ndarray::Array< double const, 1 > const &y, ndarray::Array< double const, 1 > const &z, Control const &ctrl)
Fit a Chebyshev approximation to non-gridded data with equal weights.
double mean() const override
Compute the mean of this function over its bounding-box.
std::string getPersistenceName() const override
Return the unique name used to persist this object and look up its factory.
std::shared_ptr< BoundedField > operator*(double const scale) const override
Return a scaled BoundedField.
ndarray::Array< double const, 2, 2 > getCoefficients() const
Return the coefficient matrix.
ChebyshevBoundedFieldControl()
A BoundedField based on 2-d Chebyshev polynomials of the first kind.
std::string getPythonModule() const override
Return the fully-qualified Python module that should be imported to guarantee that its factory is reg...
double evaluate(lsst::geom::Point2D const &position) const override
Evaluate the field at the given point.
std::shared_ptr< ChebyshevBoundedField > relocate(lsst::geom::Box2I const &bbox) const
Return a new ChebyshevBoundedField with domain set to the given bounding box.
int orderY
"maximum Chebyshev function order in y" ;
A base class for image defects.
bool triangular
"if true, only include terms where the sum of the x and y order " "is less than or equal to max(order...
virtual double evaluate(lsst::geom::Point2D const &position) const =0
Evaluate the field at the given point.
ChebyshevBoundedField(lsst::geom::Box2I const &bbox, ndarray::Array< double const, 2, 2 > const &coefficients)
Initialize the field from its bounding box an coefficients.
int computeSize() const
Return the number of nonzero coefficients in the Chebyshev function defined by this object.
bool isPersistable() const noexcept override
ChebyshevBoundedField is always persistable.
bool operator==(BoundedField const &rhs) const override
BoundedFields (of the same sublcass) are equal if their bounding boxes and parameters are equal.
A CRTP facade class for subclasses of Persistable.
def scale(algorithm, min, max=None, frame=None)
A class to represent a 2-dimensional array of pixels.
void write(OutputArchiveHandle &handle) const override
Write the object to one or more catalogs.
io::OutputArchiveHandle OutputArchiveHandle