eLynx SDK
v3.3.0 C++ image processing API reference |
2D spline interface. More...
#include <BSpline.h>
Public Types | |
typedef F | type |
Public Member Functions | |
template<typename T > | |
BSpline2 (const int32 *iX, const int32 *iY, uint32 iW, uint32 iH, const T *iData) | |
Class constructor. | |
virtual bool | IsUseful () const |
Verifies that spline can be used for interpolation. | |
virtual std::pair< int32, int32 > | GetXRange () const |
Returns the interpolation range in X direction in form of [X1, Xn) | |
virtual std::pair< int32, int32 > | GetYRange () const |
Returns the interpolation range in Y direction in form of [Y1, Yn) | |
virtual F | Evaluate (int32 iX, int32 iY) const |
Computes an interpolation at a given point. | |
virtual void | Evaluate (const int32 *iX, uint32 iSize, int32 iY, F *oValues) const |
Computes an interpolation at a given set of points. |
2D spline interface.
DEGREE specifies the order of the interpolation. F specifies the type of the interpolated values. For example, for all interger types T (short, int32, long) F is double. For Pixel<uint16> input type F should be Pixel<double>. Idealy, this should be done via template metaprogramming
eLynx::Math::BSpline2< F >::BSpline2 | ( | const int32 * | iX, |
const int32 * | iY, | ||
uint32 | iW, | ||
uint32 | iH, | ||
const T * | iData | ||
) |
Class constructor.
iX | array of coordinates. |
iY | array of coordinates. |
iW | width. |
iH | height. |
iData | values at the given points. |
virtual F eLynx::Math::BSpline2< F >::Evaluate | ( | int32 | iX, |
int32 | iY | ||
) | const [virtual] |
Computes an interpolation at a given point.
The point must fall into the ranges returned by GetXRange/GetYRange methods.
iX | point's X coordinate. |
iY | point's Y coordinate. |
Implements eLynx::Math::ISpline2D< F, 3 >.
virtual void eLynx::Math::BSpline2< F >::Evaluate | ( | const int32 * | iX, |
uint32 | iSize, | ||
int32 | iY, | ||
F * | oValues | ||
) | const [virtual] |
Computes an interpolation at a given set of points.
All points must fall into the ranges returned by GetXRange/GetYRange methods. The iX values must be sorted in the ascending order
iX | list of coordinates in X dimention. |
iSize | number of coordinates in a list. |
iY | coordinate in Y dimantion. |
oValues | interpolation values . |
Implements eLynx::Math::ISpline2D< F, 3 >.
virtual std::pair<int32,int32> eLynx::Math::BSpline2< F >::GetXRange | ( | ) | const [virtual] |
Returns the interpolation range in X direction in form of [X1, Xn)
Implements eLynx::Math::ISpline2D< F, 3 >.
virtual std::pair<int32,int32> eLynx::Math::BSpline2< F >::GetYRange | ( | ) | const [virtual] |
Returns the interpolation range in Y direction in form of [Y1, Yn)
Implements eLynx::Math::ISpline2D< F, 3 >.
virtual bool eLynx::Math::BSpline2< F >::IsUseful | ( | ) | const [virtual] |
Verifies that spline can be used for interpolation.
Implements eLynx::Math::ISpline2D< F, 3 >.