|
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 >.