eLynx SDK v3.3.0
C++ image processing API reference
Public Types | Public Member Functions

eLynx::Math::BSpline2< F > Class Template Reference

2D spline interface. More...

#include <BSpline.h>

Inheritance diagram for eLynx::Math::BSpline2< F >:
eLynx::Math::ISpline2D< F, 3 >

List of all members.

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.

Detailed Description

template<typename F>
class eLynx::Math::BSpline2< F >

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


Constructor & Destructor Documentation

template<typename F >
template<typename T >
eLynx::Math::BSpline2< F >::BSpline2 ( const int32 *  iX,
const int32 *  iY,
uint32  iW,
uint32  iH,
const T *  iData 
)

Class constructor.

Parameters:
iXarray of coordinates.
iYarray of coordinates.
iWwidth.
iHheight.
iDatavalues at the given points.

Member Function Documentation

template<typename F >
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.

Parameters:
iXpoint's X coordinate.
iYpoint's Y coordinate.
Returns:
the interpolation value.

Implements eLynx::Math::ISpline2D< F, 3 >.

template<typename F >
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

Parameters:
iXlist of coordinates in X dimention.
iSizenumber of coordinates in a list.
iYcoordinate in Y dimantion.
oValuesinterpolation values .

Implements eLynx::Math::ISpline2D< F, 3 >.

template<typename F >
virtual std::pair<int32,int32> eLynx::Math::BSpline2< F >::GetXRange (  ) const [virtual]

Returns the interpolation range in X direction in form of [X1, Xn)

Returns:
interpolation range.

Implements eLynx::Math::ISpline2D< F, 3 >.

template<typename F >
virtual std::pair<int32,int32> eLynx::Math::BSpline2< F >::GetYRange (  ) const [virtual]

Returns the interpolation range in Y direction in form of [Y1, Yn)

Returns:
interpolation range.

Implements eLynx::Math::ISpline2D< F, 3 >.

template<typename F >
virtual bool eLynx::Math::BSpline2< F >::IsUseful (  ) const [virtual]

Verifies that spline can be used for interpolation.

Returns:
true if spline was initialize properly.

Implements eLynx::Math::ISpline2D< F, 3 >.


The documentation for this class was generated from the following file:

Generated on Thu Dec 9 2010 by doxygen 1.7.2