2 #if !defined(LSST_AFW_MATH_APPROXIMATE_H)
3 #define LSST_AFW_MATH_APPROXIMATE_H
32 template <
typename PixelT>
34 template <
typename PixelT,
typename U,
typename V>
76 void setOrderY(
int const orderY) { _orderY = orderY; }
80 void setWeighting(
bool const weighting) { _weighting = weighting; }
98 template <
typename PixelT>
103 ApproximateControl
const& ctrl);
108 template <
typename PixelT>
127 return doGetImage(
orderX, orderY);
131 return doGetMaskedImage(
orderX, orderY);
A class to manipulate images, masks, and variance as a single object.
Control how to make an approximation.
void setWeighting(bool const weighting)
Set whether inverse variance weighting will be used in calculation.
int getOrderX() const
Return the order of approximation to use in the x-direction.
void setStyle(Style const style)
Set the Style.
ApproximateControl(Style style, int orderX, int orderY=-1, bool weighting=true)
ctor
bool getWeighting() const
Return whether inverse variance weighting will be used in calculation.
void setOrderX(int const orderX)
Set the order of approximation to use in the x-direction.
void setOrderY(int const orderY)
Set the order of approximation to use in the y-direction.
Style getStyle() const
Return the Style.
Style
Choose the type of approximation to use.
@ CHEBYSHEV
Use a 2-D Chebyshev polynomial.
int getOrderY() const
Return the order of approximation to use in the y-direction.
Approximate values for a MaskedImage.
ApproximateControl const _ctrl
desired approximation algorithm
std::shared_ptr< image::MaskedImage< OutPixelT > > getMaskedImage(int orderX=-1, int orderY=-1) const
Return the approximate image as a MaskedImage.
Approximate & operator=(Approximate const &)=delete
virtual ~Approximate()=default
dtor
Approximate(Approximate &&)=delete
lsst::geom::Box2I const _bbox
Domain for approximation.
Approximate(Approximate const &)=delete
float OutPixelT
The pixel type of returned images.
std::vector< double > const _xVec
the x-values of points
std::shared_ptr< image::Image< OutPixelT > > getImage(int orderX=-1, int orderY=-1) const
Return the approximate image as a Image.
Approximate & operator=(Approximate &&)=delete
Approximate(std::vector< double > const &x, std::vector< double > const &y, lsst::geom::Box2I const &bbox, ApproximateControl const &ctrl)
Base class ctor.
std::vector< double > const _yVec
the y-values of points
Backwards-compatibility support for depersisting the old Calib (FluxMag0/FluxMag0Err) objects.
std::shared_ptr< Approximate< PixelT > > makeApproximate(std::vector< double > const &x, std::vector< double > const &y, image::MaskedImage< PixelT > const &im, lsst::geom::Box2I const &bbox, ApproximateControl const &ctrl)
Construct a new Approximate object, inferring the type from the type of the given MaskedImage.
A base class for image defects.