Class LanczosWarpingKernel

Inheritance Relationships

Base Type

Class Documentation

class LanczosWarpingKernel : public lsst::afw::math::SeparableKernel

Lanczos warping: accurate but slow and can introduce ringing artifacts.

This kernel is the product of two 1-dimensional Lanczos functions. The number of minima and maxima in the 1-dimensional Lanczos function is 2*order + 1. The kernel has one pixel per function minimum or maximum; but as applied to warping, the first or last pixel is always zero and can be omitted. Thus the kernel size is 2*order x 2*order.

For more information about warping kernels see makeWarpingKernel

Public Functions

LanczosWarpingKernel(int order)

Parameters
  • order: order of Lanczos function

LanczosWarpingKernel(const LanczosWarpingKernel&)
LanczosWarpingKernel(LanczosWarpingKernel&&)
LanczosWarpingKernel &operator=(const LanczosWarpingKernel&)
LanczosWarpingKernel &operator=(LanczosWarpingKernel&&)
~LanczosWarpingKernel()
std::shared_ptr<Kernel> clone() const

Return a pointer to a deep copy of this kernel

This kernel exists instead of a copy constructor so one can obtain a copy of an actual kernel instead of a useless copy of the base class.

Every kernel subclass must override this method.

Return

a pointer to a deep copy of the kernel

int getOrder() const

get the order of the kernel

Protected Functions

void setKernelParameter(unsigned int ind, double value) const

Set one kernel parameter

Classes that have kernel parameters must subclass this function.

This function is marked “const”, despite modifying unimportant internals, so that computeImage can be const.

Exceptions
  • lsst::pex::exceptions::InvalidParameterError: always (unless subclassed)