File Interpolate.h

namespace lsst

Class for a simple mapping implementing a generic AstrometryTransform.

Remove all non-astronomical counts from the Chunk Exposure’s pixels.

Forward declarations for lsst::utils::Cache

For details on the Cache class, see the Cache.h file.

It uses a template rather than a pointer so that the derived classes can use the specifics of the transform. The class simplePolyMapping overloads a few routines.

A base class for image defects

Numeric constants used by the Integrate.h integrator routines.

Compute Image Statistics

Note

Gauss-Kronrod-Patterson quadrature coefficients for use in quadpack routine qng. These coefficients were calculated with 101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov 1981.

Note

The Statistics class itself can only handle lsst::afw::image::MaskedImage() types. The philosophy has been to handle other types by making them look like lsst::afw::image::MaskedImage() and reusing that code. Users should have no need to instantiate a Statistics object directly, but should use the overloaded makeStatistics() factory functions.

namespace afw
namespace math

Functions

std::shared_ptr<Interpolate> makeInterpolate(std::vector<double> const &x, std::vector<double> const &y, Interpolate::Style const style = Interpolate::AKIMA_SPLINE)

A factory function to make Interpolate objects

Parameters
  • x: the x-values of points

  • y: the values at x[]

  • style: desired interpolator

std::shared_ptr<Interpolate> makeInterpolate(ndarray::Array<double const, 1> const &x, ndarray::Array<double const, 1> const &y, Interpolate::Style const style = Interpolate::AKIMA_SPLINE)
Interpolate::Style stringToInterpStyle(std::string const &style)

Conversion function to switch a string to an Interpolate::Style.

Parameters
  • style: desired type of interpolation

Interpolate::Style lookupMaxInterpStyle(int const n)

Get the highest order Interpolation::Style available for ‘n’ points.

Parameters
  • n: Number of points

int lookupMinInterpPoints(Interpolate::Style const style)

Get the minimum number of points needed to use the requested interpolation style

Parameters
  • style: The style in question

class Interpolate

Public Types

enum Style

Values:

UNKNOWN = -1
CONSTANT = 0
LINEAR = 1
NATURAL_SPLINE = 2
CUBIC_SPLINE = 3
CUBIC_SPLINE_PERIODIC = 4
AKIMA_SPLINE = 5
AKIMA_SPLINE_PERIODIC = 6
NUM_STYLES

Public Functions

Interpolate(Interpolate const&)
Interpolate(Interpolate&&)
Interpolate &operator=(Interpolate const&)
Interpolate &operator=(Interpolate&&)
virtual ~Interpolate()
virtual double interpolate(double const x) const = 0
std::vector<double> interpolate(std::vector<double> const &x) const
ndarray::Array<double, 1> interpolate(ndarray::Array<double const, 1> const &x) const

Protected Functions

Interpolate(std::vector<double> const &x, std::vector<double> const &y, Interpolate::Style const style = UNKNOWN)

Parameters
  • x: the ordinates of points

  • y: the values at x[]

  • style: desired interpolator

Base class ctor

Interpolate(std::pair<std::vector<double>, std::vector<double>> const xy, Interpolate::Style const style = UNKNOWN)

Base class ctor. Note that we should use rvalue references when available as the vectors in xy will typically be movable (although the returned-value-optimisation might suffice for the cases we care about)

Parameters
  • xy: pair (x,y) where x are the ordinates of points and y are the values at x[]

  • style: desired interpolator

Protected Attributes

std::vector<double> const _x
std::vector<double> const _y
Interpolate::Style const _style

Friends

std::shared_ptr<Interpolate> makeInterpolate(std::vector<double> const &x, std::vector<double> const &y, Interpolate::Style const style)

A factory function to make Interpolate objects

Parameters
  • x: the x-values of points

  • y: the values at x[]

  • style: desired interpolator