Developer Documentation
Centre for Vision, Speech & Signal Processing
USER IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
NormalRBFuncBC::NormalRBFuncBC(const NormalRBFuncBC &)
NormalRBFuncBC::NormalRBFuncBC(UIntT)
NormalRBFuncBC::NormalRBFuncBC(const SArray1dC &,const VectorC &)
NormalRBFuncBC::NormalRBFuncBC(const Array1dC &,const VectorC &)
NormalRBFuncBC::NormalRBFuncBC(const VectorC &,const MatrixC &)
NormalRBFuncBC::NormalRBFuncBC(istream &)
NormalRBFuncBC::Copy(void) const
NormalRBFuncBC::Evaluate(const VectorC &) const
NormalRBFuncBC::Save(ostream &) const
NormalRBFuncBC::Save(FilenameC &) const
NormalRBFuncBC::Join(const NormalRBFuncC &)
NormalRBFuncBC::InitKmeans(const DListC &)
NormalRBFuncBC::InitRandom(const DListC &)
NormalRBFuncBC::NegLogLikelihood(const DListC &) const
NormalRBFuncBC::ExpectationMaximization(const DListC &)
NormalRBFuncBC::EM(const DListC &)
NormalRBFuncBC::ProbPcaEM(const DListC &,UIntT)
NormalRBFuncBC::Update(const DListC &,RealT,BooleanT)
NormalRBFuncBC::Size(void) const
NormalRBFuncBC::Dim(void) const
NormalRBFuncBC::Weights(void) const
NormalRBFuncBC::Weights(const VectorC &)
NormalRBFuncBC::Parameters(void) const
NormalRBFuncBC::Parameters(const SArray1dC &)
NormalRBFuncBC::getInvCov(void) const
NormalRBFuncBC::setInvCov(const SArray1dC &)
NormalRBFuncBC::getDet(void) const
NormalRBFuncBC::setDet(const SArray1dC &)
NormalRBFuncBC::Array(void) const
NormalRBFuncBC::Posterior(const VectorC &,UIntT)
NormalRBFuncBC::PosteriorProb(const VectorC &)
NormalRBFuncBC::PreCompute(void)
NormalRBFuncBC::Init(void) const
NormalRBFuncBC::Init(BooleanT)
NormalRBFuncBC::FullCovMatrix(void) const
NormalRBFuncBC::FullCovMatrix(BooleanT)
NormalRBFuncBC::Normalise(void)
NormalRBFuncBC::L2norm(const NormalRBFuncBC &) const
NormalRBFuncBC::Group(void) const
NormalRBFuncBC::Group(const SArray1dC &) const
NormalRBFuncBC::GroupOR(const SArray1dC &) const
NormalRBFuncBC::GroupEuclid(const SArray1dC &) const
NormalRBFuncBC::GroupMahal(const SArray1dC &) const
NormalRBFuncBC::GroupBattachar(const SArray1dC &) const
NormalRBFuncBC::GroupLabel(const DListC &,const VectorC &) const
NormalRBFuncBC::GroupLabel(const DListC &,const DListC &) const
NormalRBFuncBC::PredictedProb(const WindowT &) const
NormalRBFuncBC::PredictedProb(const WindowT &,IntT,IntT) const
NormalRBFuncBC::InsertComponent(const VectorC &,const MatrixC &,const RealT)
NormalRBFuncBC::operator<<(ostream &,const NormalRBFuncBC &)
NormalRBFuncBC::operator>>(istream &,NormalRBFuncBC &)
NormalRBFuncBC::initmodel(const DListC &)
NormalRBFuncBC::peaks(void) const
NormalRBFuncBC::stats(const SArray1dC &) const
NormalRBFuncBC::group(const MatrixC &) const
NormalRBFuncBC::gradient(const SArray1dC &) const
NumFuncBC::Copy(void) const
NumFuncBC::SetSizeX(UIntT)
NumFuncBC::SetSizeY(UIntT)
NumFuncBC::Apply(const VectorC &)
NumFuncBC::Evaluate(const VectorC &) const
NumFuncBC::Evaluate(const DListC &) const
NumFuncBC::operator()(const VectorC &) const
NumFuncBC::Jacobian(const VectorC &) const
NumFuncBC::GetInfo(void) const
NumFuncBC::GetName(void) const
NumFuncBC::SizeX(void) const
NumFuncBC::SizeY(void) const
NumFuncBC::Save(ostream &) const
DPProcessBodyC::Apply(const InT &)
DPProcessBodyC::ApplyArray(const SArray1dC &,SArray1dC &)
DPProcessBodyC::Save(ostream &) const
DPProcessBodyC::InputType(void) const
DPProcessBodyC::OutputType(void) const
DPProcessBaseBodyC::Save(ostream &) const
DPProcessBaseBodyC::InputType(void) const
DPProcessBaseBodyC::OutputType(void) const
DPProcessBaseBodyC::OpType(void) const
DPProcessBaseBodyC::IsStateless(void) const
DPEntityBodyC::Save(ostream &) const
DPEntityBodyC::Copy(void) const
BodyRefCounterVC::Copy(void) const
BodyRefCounterVC::operator==(const BodyRefCounterVC &) const
BodyRefCounterVC::operator!=(const BodyRefCounterVC &) const
BodyRefCounterVC::Save(ostream &) const
BodyRefCounterC::AddReference(void)
BodyRefCounterC::RemoveReference(void)
BodyRefCounterC::SetConst(void) const
BodyRefCounterC::SetConst(void)
BodyRefCounterC::IsConst(void) const
BodyRefCounterC::IsNotConst(void) const
BodyRefCounterC::ToBeDeleted(void) const
BodyRefCounterC::ToBeDeletedRemoveIgnoreNoRemove(void)
BodyRefCounterC::ToBeDeletedRemove(void)
BodyRefCounterC::BodyMightBeDeleted(void) const
BodyRefCounterC::IsCountZero(void) const
BodyRefCounterC::BRCPtrCanDeleteObject(void) const
BodyRefCounterC::Count(void) const
BodyRefCounterC::operator=(const BodyRefCounterC &)
BodyRefCounterC::IsValidObject(void) const
BodyRefCounterC::UserBitTest(IntT) const
BodyRefCounterC::UserBitSet(IntT,BooleanT)
BodyRefCounterC::UserBitZero(IntT)
BodyRefCounterC::ReportBRCError(char *)
BodyRefCounterC::Hash(void) const
BodyRefCounterC::SetUndeletable(void)
BodyRefCounterC::ReportInvalidObject(char *) const
RefCounterBaseC::Label(void) const
NormalRBFuncBC
 
include "amma/Num/NormalRBFuncB.hh"
User Level:Default
Library:NumRBF
Example:testNumPerformance.cc
Section:Pattern Recognition.Radial Basis Functions
In Scope:std

Parent Classes:

Variables:
SArray1dC _params;
Parameters of distribution

VectorC _weights;
Mixing coefficients of distributions

SArray1dC _invCov;
We pre-compute inverse of covariance matrix

SArray1dC _det;
We pre-compute the determinant of cov

BooleanT init;
Flag which determines whether we should initialise model before running an algorithm

BooleanT fullCov;
Flag which determines whether full covariances should computed

RealT konst;
The constant used in pdf. it does not get set until dimensionality is known Internal routines

Methods:
NormalRBFuncBC(const NormalRBFuncBC & oth)
Copy Constructor

NormalRBFuncBC(UIntT mixes)
Construct from a set number of mixes

NormalRBFuncBC(const SArray1dC<VecMatC> & params,const VectorC & weights)
Constructor
paramsarray of distribution statistics. Each VecMatC contains the mean and covariance for the class corresponding to its index value in the array.

NormalRBFuncBC(const Array1dC<VecMatC> & params,const VectorC & weights)
Constructor
paramsarray of distribution statistics. Each VecMatC contains the mean and covariance for the class corresponding to its index value in the array.

NormalRBFuncBC(const VectorC & vec,const MatrixC & cov)
Constructs a single component mixture model. Obviously weight set to 1.0

NormalRBFuncBC(istream & in)
Constructs from stream and provides class name

BodyRefCounterVC & Copy() const
Makes a deep copy and is virtual

VectorC Evaluate(const VectorC & X) const
Evaluate Y=f(X). This function returns the class conditional

BooleanT Save(ostream & out) const
Writes object to stream, can be loaded using constructor

void Save(FilenameC & out) const
Writes object to stream, can be loaded using constructor

void Join(const NormalRBFuncC & rbf)
Joins two models together. It will also normalise the weights

BooleanT InitKmeans(const DListC<VectorC> & data)
Initialise the centres using the kmeans alg

BooleanT InitRandom(const DListC<VectorC> & data)
Initialise the centres from random points in the list

RealT NegLogLikelihood(const DListC<VectorC> & data) const
calculate the likelihood of the data

BooleanT ExpectationMaximization(const DListC<VectorC> & data)
Use the Expectation Maximization algorithm to estimate the paramters from the unlabelled data.

BooleanT EM(const DListC<VectorC> & data)
perform one iterarion of EM alg on data

BooleanT ProbPcaEM(const DListC<VectorC> & data,UIntT dimen)
Use the Probabilistic PCA version of EM alg

BooleanT Update(const DListC<VectorC> & data,RealT alpha,BooleanT freqSen)
Perform on-line version of EM algorithm on data

UIntT Size() const
Return the number of components in mixture

UIntT Dim() const
Return the dimensionality of the model

VectorC Weights() const
Access to the mixing coefficients

void Weights(const VectorC & w)
Set the mixing coefficients

SArray1dC<VecMatC> Parameters() const
Access to distribution parameters held by object

void Parameters(const SArray1dC<VecMatC> & p)
Change parameters of object

SArray1dC<MatrixC> getInvCov() const
Access to pre-computed inverses

void setInvCov(const SArray1dC<MatrixC> & i)
Change pre-computed inverses

SArray1dC<RealT> getDet() const
Access to pre-computed determinants

void setDet(const SArray1dC<RealT> & d)
Change pre-computed determinants

Array1dC<VecMatC> Array() const
Array access to distribution parameters held by object

RealT Posterior(const VectorC & X,UIntT index)
Find the normalised posterior prob of vector X for mixture index

VectorC PosteriorProb(const VectorC & X)
Find the normalised posterior prob for elements of X

void PreCompute()
Precompute the determinant and inverse matrix

BooleanT Init() const
Returns status of initialisation flag

void Init(BooleanT flag)
Set initialisation flag

BooleanT FullCovMatrix() const
Get status of full covariance matrix flag

void FullCovMatrix(BooleanT mode)
Toggle whether full covariance matrices or diagonal matrices are computed

void Normalise()
This routine normalises the weights to equal 1

RealT L2norm(const NormalRBFuncBC & model) const
This algorithm computes the L2 norm between this and func (i.e. distance metric)

DListC<NormalRBFuncC> Group() const
Group the components

DListC<NormalRBFuncC> Group(const SArray1dC<VecMatC> & compStats) const
Group the components

DListC<NormalRBFuncC> GroupOR(const SArray1dC<VecMatC> & compStats) const
Group the components

DListC<NormalRBFuncC> GroupEuclid(const SArray1dC<VectorC> & groupsMean) const
Group the components

DListC<NormalRBFuncC> GroupMahal(const SArray1dC<VecMatC> & groupsParams) const
Group the components

DListC<NormalRBFuncC> GroupBattachar(const SArray1dC<VecMatC> & groupsParams) const
Group the components

NumLabelC GroupLabel(const DListC<NormalRBFuncC> & group,const VectorC & X) const
Labeling of the vector X using groups of NormalRBFunc

DListC<NumLabelC> GroupLabel(const DListC<NormalRBFuncC> & group,const DListC<VectorC> & L) const
Labeling of the list using groups of NormalRBFunc

RealT PredictedProb(const WindowT & win) const
Calculate the predicted probability in a given window for a diagonal model

RealT PredictedProb(const WindowT & win,IntT ncalls,IntT itmx) const
Calculate the predicted probability in a given window for a model with a full covariance matrix

void InsertComponent(const VectorC & mn,const MatrixC & cov,const RealT wt)
This routine inserts a component into the structure Friends -------

ostream & operator<<(ostream & s,const NormalRBFuncBC & out)
output stream operator

istream & operator>>(istream & s,NormalRBFuncBC & in)
input stream operator

void initmodel(const DListC<VectorC> & data)
initialise model e.t.c

MatrixC peaks() const
Groups using by analysing the peaks between centre

MatrixC stats(const SArray1dC<VecMatC> & compStats) const
Groups using component stats procedure

DListC<NormalRBFuncC> group(const MatrixC & merge) const
Turns merge matrix into group

IntT gradient(const SArray1dC<RealT> & histo) const
This routine determines whether two clusters centres should be merged

#include "amma/Num/NumFuncB.hh"
BodyRefCounterVC & Copy() const
Makes a deep copy and is virtual
As the copy constructor but is virtual so can be called from a base class reference.

void SetSizeX(UIntT X)
Sets size of input vector

void SetSizeY(UIntT Y)
Sets size of output vector

VectorC Apply(const VectorC & X)
Evaluate Y=f(X) as a process

VectorC Evaluate(const VectorC & X) const
Evaluate Y=f(X)
This is the main function that does all the work and must be overloaded in derived classes.

DListC<VectorC> Evaluate(const DListC<VectorC> & listX) const
Evaluate Y=f(X) for a list of X
This is achieved by iterating through the list of X and using the Evaluate member function that takes a single X. For sophisticated applications where speed is important, this function can be overloaded to do batch processing.

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.

const StringC GetInfo() const
Derived class information

const StringC & GetName() const
Derived class type

UIntT SizeX() const
Size of input vectors

UIntT SizeY() const
Size of output vectors

BooleanT Save(ostream & out) const
Writes object to stream, can be loaded using constructor

#include "amma/DP/Process.hh"
VectorC Apply(const VectorC &)
Apply operation.

IntT ApplyArray(const SArray1dC<VectorC> & in,SArray1dC<VectorC> & out)
Apply operation to an array of elements.
returns the number of elements processed.

BooleanT Save(ostream & out) const
Save to ostream.

const type_info & InputType() const
Get input type.

const type_info & OutputType() const
Get input type.

BooleanT Save(ostream & out) const
Save to ostream.

const type_info & InputType() const
Get input type.

const type_info & OutputType() const
Get input type.

ProcTypeT OpType() const
Operation type lossy/lossless.

BooleanT IsStateless() const
Is operation stateless ?

#include "amma/DP/Entity.hh"
BooleanT Save(ostream & out) const
Save to ostream.

BodyRefCounterVC & Copy() const
Creat a copy of this object.

#include "amma/BRefCntV.hh"
BodyRefCounterVC & Copy() const
Creat a copy of this object.

BooleanT operator==(const BodyRefCounterVC & oth) const
Compair identitys.

BooleanT operator!=(const BodyRefCounterVC & oth) const
Compair identitys.

BooleanT Save(ostream & out) const
Save to ostream.

#include "amma/BRefCnt.hh"
void AddReference()
Another reference to the object has been created.

void RemoveReference()
One reference to the object was deleted.
Locking scheme -------------- The object is possible to lock (to make constant). The scheme assumes that the object is created, it can be locked, after that it can only be destroyed. The locked object cannot be unlocked. This locking scheme is very useful during debugging, using assert() function, when it is necassary to check that object is treated as constant and the constancy is not violated by any casting or passing through the copy constructor of shared objects.

void SetConst(void) const
This locks the object.
Often objects you wish to lock are already const.

void SetConst(void)
This locks the object.

BooleanT IsConst(void) const
Returns TRUE if the object is locked, ie. it is assumed to be constant.

BooleanT IsNotConst(void) const
Returns TRUE if the object is unlocked.
ie. there is no special information if the object is constant or not. Counter state information -------------------------

BooleanT ToBeDeleted() const
Returns TRUE if there is only one reference to the object and the whole object or its reference counting part can be deleted.

BooleanT ToBeDeletedRemoveIgnoreNoRemove()
Decrement refrence by 1 return true if this leaves no refrences to the object.

BooleanT ToBeDeletedRemove()
Decrement refrence by 1 return true if this leaves no refrences to the object. This also checks the NoRemove flag.

BooleanT BodyMightBeDeleted() const
Returns TRUE if the reference counted part of the object can be deleted, ie. flag NOREMOVE is false .

BooleanT IsCountZero() const
Are there any refrences left ?

BooleanT BRCPtrCanDeleteObject() const
Used by BRRCPtrC to establish if an object has ZERO refrences and can be deleted.

IntT Count() const
Returns the current state of the counter, ie. how many references to this object exist.

const BodyRefCounterC & operator=(const BodyRefCounterC & b)
It has not meaning to assign object 'b' to this object because it would destroy a history of the object which is counted. So this is a dummy function.

BooleanT IsValidObject() const
Test if object is valid.
When amma check is disabled this always returns true.

BooleanT UserBitTest(IntT x) const
Test user flag.

void UserBitSet(IntT x,BooleanT setit = TRUE)
Test user flag.

void UserBitZero(IntT x)
Set bit to zero.

void ReportBRCError(char * Msg)
Report error, used in BRCPtrC.

UIntT Hash() const
Hash on address of object.

void SetUndeletable()
Make object undeletable.
Usefull to prevent recursive deleting in graph structures. Only hackers need this function.

void ReportInvalidObject(char * Msg = 0) const
Tell user about validation failure.

#include "amma/RefCBase.hh"
LabelT Label() const
Returns the label of this reference counter.
The member function is useful mainly to recognize objects during debugging. The value of the label is uniquely defined pointer.


Programmer:Kieron Messer, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001