eLynx SDK
v3.3.0 C++ image processing API reference |
1D spline interface. More...
#include <BSpline.h>
Public Types | |
typedef F | type |
Public Member Functions | |
template<typename T > | |
BSpline1 (const int32 *iX, uint32 iWidth, const T *iData) | |
Class constructor. | |
virtual bool | IsUseful () const |
Verifies that spline can be used for interpolation. | |
virtual std::pair< int32, int32 > | GetRange () const |
Returns the interpolation range in form of [X1, Xn) | |
virtual F | Evaluate (int32 iX) const |
Computes an interpolation at a given point. |
1D 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::BSpline1< F >::BSpline1 | ( | const int32 * | iX, |
uint32 | iWidth, | ||
const T * | iData | ||
) |
Class constructor.
T specifies type of the input values iX is array of unique positions sorted in the ascending order.
iX | array of coordinates. |
iWidth | number of coordinates in an array. |
iData | values at the given points. |
virtual F eLynx::Math::BSpline1< F >::Evaluate | ( | int32 | iX ) | const [virtual] |
Computes an interpolation at a given point.
The point must fall into the range returned by GetRange method.
iX | point's coordinate. |
Implements eLynx::Math::ISpline1D< F, 3 >.
virtual std::pair<int32,int32> eLynx::Math::BSpline1< F >::GetRange | ( | ) | const [virtual] |
Returns the interpolation range in form of [X1, Xn)
Implements eLynx::Math::ISpline1D< F, 3 >.
virtual bool eLynx::Math::BSpline1< F >::IsUseful | ( | ) | const [virtual] |
Verifies that spline can be used for interpolation.
Implements eLynx::Math::ISpline1D< F, 3 >.