Developer Documentation |
RAVL, Recognition And Vision Library |
FuncOrthPolynomialC
|
|
Orthogonal Polynomial function.
|
|
include | "Ravl/PatternRec/FuncOrthPolynomial.hh" |
Created: | 21/4/1998 |
Source file: | Ravl/PatternRec/Modeling/Basic/FuncOrthPolynomial.hh |
User Level: | Normal |
Library: | RavlPatternRec |
In Scope: | RavlN |
Comments:
It provides a class implementation functions of the form Y=f(X)
where each element of Y is an k'th polynomial of the elements of X.
For example, when a second order polynomial is selected and X and Y have
2 and 3 elements respectively and A is the matrix of model weights then:
Y[0] = A[0][0] + A[0][1]X[0] + A[0][2]X[0]^2 + A[0][3]X[1] + A[0][4]X[1]^2
Y[1] = A[1][0] + A[1][1]X[0] + A[1][2]X[0]^2 + A[1][3]X[1] + A[1][4]X[1]^2
Y[2] = A[2][0] + A[2][1]X[0] + A[2][2]X[0]^2 + A[2][3]X[1] + A[2][4]X[1]^2
Note that in this model there are no cross parameter terms regardless of
the model order selected, ie each term is only a power of an individual
element of X.
Parent Classes:
Methods:
- FuncOrthPolynomialC()
-
Default constructor.
Creates an invalid handle.
- FuncOrthPolynomialC(istream & strm)
-
Load from stream.
- FuncOrthPolynomialC(BinIStreamC & strm)
-
Load from binary stream.
- FuncOrthPolynomialC(int inSize,int outSize,UIntT order)
-
Construct an orthogonal polynomial of given 'order'.
- FuncOrthPolynomialC(FuncOrthPolynomialBodyC & bod)
-
Body constructor.
- FuncOrthPolynomialC(FuncOrthPolynomialBodyC * bod)
-
Body ptr constructor.
- FuncOrthPolynomialBodyC & Body()
-
Access body.
- const FuncOrthPolynomialBodyC & Body() const
-
Access body.
- FuncLinearCoeffBodyC & Body()
-
Access body.
- const FuncLinearCoeffBodyC & Body() const
-
Access body.
- bool SetTransform(const MatrixC & a)
-
Attempt to set transform matrix.
- VectorC MakeInput(const VectorC & X) const
-
Expand vector to linear coefficients.
- VectorC MakeJacobianInput(const VectorC & X,IntT i) const
-
Expand vector to linear coefficients.
- UIntT NumberCoeffs(UIntT inputSize) const
-
Calculate the number of coefficents for a given input size.
- FunctionBodyC & Body()
-
Access body.
- const FunctionBodyC & Body() const
-
Access body.
- VectorC Apply(const VectorC & data) const
-
Apply function to 'data'
- SampleC<VectorC> Apply(const SampleC<VectorC> & data)
-
Apply transform to whole dataset.
- VectorC operator ()(const VectorC & X) const
-
Evaluate Y=f(X)
- MatrixC Jacobian(const VectorC & X) const
-
Calculate Jacobian matrix at X
Performs numerical estimation of the Jacobian using differences. This
function has and should be overloaded for all cases where the Jacobian
can be calculated analytically.
- VectorMatrixC Evaluate(const VectorC & X)
-
Evalate the function and its jacobian at the same time.
This method defaults to calling 'Apply' and 'Jacobian' sperately.
- UIntT InputSize() const
-
Size of input vector
- UIntT OutputSize() const
-
Size of output vector
- UIntT InputSize(UIntT inSize)
-
Set the input size.
This is for use of designer classes, changing the input size of
an existing function has undefined effects.
- UIntT OutputSize(UIntT outSize)
-
Set the output size.
This is for use of designer classes, changing the output size of
an existing function has undefined effects.
- const FunctionBodyC & Body() const
-
Constant access to body of object.
- FunctionBodyC & Body()
-
Constant access to body of object.
- bool Save(ostream & out) const
-
Save to stream 'out'.
- bool Save(BinOStreamC & out) const
-
Save to binary stream 'out'.
- RCAbstractC Abstract()
-
Create an abstract handle.
- istream & operator >>(istream & strm,RCHandleVC<FunctionBodyC> & obj)
-
- BinIStreamC & operator >>(BinIStreamC & strm,RCHandleVC<FunctionBodyC> & obj)
-
- const RCHandleC<FunctionBodyC> & operator =(const RCHandleC<FunctionBodyC> & oth)
-
Assign handle.
- RCHandleC<FunctionBodyC> DeepCopy(UIntT levels = ((UIntT))) const
-
Do a deep copy of the object.
- bool operator ==(const RCHandleC<FunctionBodyC> & oth) const
-
Are handles to the same object ?
- bool operator !=(const RCHandleC<FunctionBodyC> & oth) const
-
Are handles to different objects ?
- UIntT Hash() const
-
Default hash function.
This hashes on the address of the body.
- bool IsValid() const
-
Test if this is a valid handle.
- void Invalidate()
-
Invalidate this handle.
Unattaches the body from the handle.
- bool IsHandleType(const DT &) const
-
Is handle of given type ?
- void CheckHandleType(const DT & dummy) const
-
Check handle type. Throw an expception if not.
- FunctionBodyC & Body()
-
Access body of object.
- const FunctionBodyC & Body() const
-
Constant access to body of object.
- UIntT References() const
-
Find the number of references to the body of this object.
- ostream & operator <<(ostream & strm,const RCHandleC<FunctionBodyC> & obj)
-
- istream & operator >>(istream & strm,RCHandleC<FunctionBodyC> & obj)
-
Maintainer:Robert Crida and Charles Galambos, Created: 21/4/1998, Documentation by CxxDoc: Tue Aug 13 09:59:30 2002
|