eLynx SDK v3.0.1
C++ image processing API reference

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

#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)
virtual bool IsUseful () const
virtual std::pair< int32, int32 > GetXRange () const
virtual std::pair< int32, int32 > GetYRange () const
virtual F Evaluate (int32 iX, int32 iY) const
virtual void Evaluate (const int32 *iX, uint32 iSize, int32 iY, F *oValues) const

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

Definition at line 91 of file BSpline.h.


Member Typedef Documentation

template<typename F >
typedef F eLynx::Math::BSpline2< F >::type

Definition at line 94 of file BSpline.h.


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 
) [inline]

Class constructor

Parameters:
iX array of coordinates.
iY array of coordinates.
iW width.
iH height.
iData values at the given points.


Member Function Documentation

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

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 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:
iX point's X coordinate.
iY point'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:
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 >.


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

Generated on 14 Apr 2009 by doxygen 1.5.8