24 #ifndef LSST_AFW_MATH_ChebyshevBoundedField_h_INCLUDED 
   25 #define LSST_AFW_MATH_ChebyshevBoundedField_h_INCLUDED 
   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;  
 
ndarray::Array< double const, 2, 2 > coefficients
 
A class to represent a 2-dimensional array of pixels.
 
An abstract base class for 2-d functions defined on an integer bounding boxes.
 
virtual double evaluate(lsst::geom::Point2D const &position) const =0
Evaluate the field at the given point.
 
A control object used when fitting ChebyshevBoundedField to data (see ChebyshevBoundedField::fit)
 
int computeSize() const
Return the number of nonzero coefficients in the Chebyshev function defined by this object.
 
bool triangular
"if true, only include terms where the sum of the x and y order " "is less than or equal to max(order...
 
int orderY
"maximum Chebyshev function order in y" ;
 
ChebyshevBoundedFieldControl()
 
int orderX
"maximum Chebyshev function order in x" ;
 
A BoundedField based on 2-d Chebyshev polynomials of the first kind.
 
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.
 
std::shared_ptr< ChebyshevBoundedField > relocate(lsst::geom::Box2I const &bbox) const
Return a new ChebyshevBoundedField with domain set to the given bounding box.
 
bool operator==(BoundedField const &rhs) const override
BoundedFields (of the same sublcass) are equal if their bounding boxes and parameters are equal.
 
bool isPersistable() const noexcept override
ChebyshevBoundedField is always persistable.
 
std::shared_ptr< BoundedField > operator*(double const scale) const override
Return a scaled BoundedField.
 
ChebyshevBoundedField(ChebyshevBoundedField &&)
 
ChebyshevBoundedField & operator=(ChebyshevBoundedField &&)=delete
 
ChebyshevBoundedFieldControl Control
 
void write(OutputArchiveHandle &handle) const override
Write the object to one or more catalogs.
 
std::string getPythonModule() const override
Return the fully-qualified Python module that should be imported to guarantee that its factory is reg...
 
double mean() const override
Compute the mean of this function over its bounding-box.
 
~ChebyshevBoundedField() override
 
ndarray::Array< double const, 2, 2 > getCoefficients() const
Return the coefficient matrix.
 
std::shared_ptr< ChebyshevBoundedField > truncate(Control const &ctrl) const
Return a new ChebyshevBoudedField with maximum orders set by the given control object.
 
ChebyshevBoundedField(ChebyshevBoundedField const &)
 
std::string getPersistenceName() const override
Return the unique name used to persist this object and look up its factory.
 
ChebyshevBoundedField(lsst::geom::Box2I const &bbox, ndarray::Array< double const, 2, 2 > const &coefficients)
Initialize the field from its bounding box an coefficients.
 
double integrate() const override
Compute the integral of this function over its bounding-box.
 
ChebyshevBoundedField & operator=(ChebyshevBoundedField const &)=delete
 
virtual double evaluate(lsst::geom::Point2D const &position) const=0
Evaluate the field at the given point.
 
A CRTP facade class for subclasses of Persistable.
 
io::OutputArchiveHandle OutputArchiveHandle
 
An integer coordinate rectangle.
 
#define LSST_CONTROL_FIELD(NAME, TYPE, DOC)
A preprocessor macro used to define fields in C++ "control object" structs.
 
def scale(algorithm, min, max=None, frame=None)
 
Backwards-compatibility support for depersisting the old Calib (FluxMag0/FluxMag0Err) objects.
 
A base class for image defects.