mimas::svd_correspondence< InputIter1, SimilarityMeasure > Class Template Reference
[Tracking of Features]

Correspondence by Singular Value Decomposition. More...

#include <svd_correspondence.h>

Inheritance diagram for mimas::svd_correspondence< InputIter1, SimilarityMeasure >:

Inheritance graph
[legend]
Collaboration diagram for mimas::svd_correspondence< InputIter1, SimilarityMeasure >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef boost::numeric::ublas::matrix<
double, boost::numeric::ublas::column_major > 
Matrix
typedef boost::numeric::ublas::identity_matrix<
double
IdentityMatrix

Public Member Functions

 svd_correspondence (SimilarityMeasure &aSimilarityMeasure, InputIter1 aBegin1, int aSize1)
 Constructor.
template<class InputIter2, class OutputIter1, class OutputIter2>
void match (InputIter2 begin2, int size2, OutputIter1 outputIndexed, OutputIter2 outputLost) throw (mimasexception)
 Match against new feature set.

Protected Attributes

SimilarityMeasure similarityMeasure
 Similarity measure.
InputIter1 begin1
 Iterator on indexed feature set.
int size1
 Size of indexed feature set.

Detailed Description

template<class InputIter1, class SimilarityMeasure>
class mimas::svd_correspondence< InputIter1, SimilarityMeasure >

Correspondence by Singular Value Decomposition.

This class implements the core algorithm described in Maurizio Pilu's article.

Given

the algorithm will guess about correspondences and yield a new map $m^\prime:I^\prime\mapsto F^\prime$, where $I^\prime\subset I$. If the algorithm detects ambiguity, it will drop some indices and $I^\prime$ will be a true subset of $I$.

InputIter1 must implement the concept of Input Iterator and it must be an iterator on a pair with an index as first and a feature as second element. Usually this will be something like

    map< Index, F >::const_iterator
where F denotes the feature class.

SimilarityMeasure must be a binary_function< F, F, double >, where F denotes the feature class.

Author:
Jan Wedekind (jan at wedesoft.de)
Date:
Thu May 20 15:53:37 UTC 2004

Definition at line 47 of file svd_correspondence.h.


Member Typedef Documentation

template<class InputIter1, class SimilarityMeasure>
typedef boost::numeric::ublas::matrix< double, boost::numeric::ublas::column_major > mimas::svd_correspondence< InputIter1, SimilarityMeasure >::Matrix

Definition at line 51 of file svd_correspondence.h.

template<class InputIter1, class SimilarityMeasure>
typedef boost::numeric::ublas::identity_matrix< double > mimas::svd_correspondence< InputIter1, SimilarityMeasure >::IdentityMatrix

Definition at line 52 of file svd_correspondence.h.


Constructor & Destructor Documentation

template<class InputIter1, class SimilarityMeasure>
mimas::svd_correspondence< InputIter1, SimilarityMeasure >::svd_correspondence ( SimilarityMeasure &  aSimilarityMeasure,
InputIter1  aBegin1,
int  aSize1 
) [inline]

Constructor.

The constructor will take the index-map and the similarity measure.

Parameters:
aSimilarityMeasure Similarity measure, giving values $\in[0,1]$.
aBegin1 Iterator on feature-map $m$.
aSize1 Number of elements in $m$.

Definition at line 59 of file svd_correspondence.h.


Member Function Documentation

template<class InputIter1, class SimilarityMeasure>
template<class InputIter2, class OutputIter1, class OutputIter2>
void mimas::svd_correspondence< InputIter1, SimilarityMeasure >::match ( InputIter2  begin2,
int  size2,
OutputIter1  outputIndexed,
OutputIter2  outputLost 
) throw (mimasexception)

Match against new feature set.

This method will take a feature set $F^\prime$ containing new features. The method will give the result by writing index-feature-pairs to output.

Parameters:
begin2 Input iterator on new feature set.
size2 Size of new feature set.
outputIndexed Output iterator to store indexed features in (usually an object of type map<>::iterator).
outputLost Output iterator to store lost features in.


Member Data Documentation

template<class InputIter1, class SimilarityMeasure>
SimilarityMeasure mimas::svd_correspondence< InputIter1, SimilarityMeasure >::similarityMeasure [protected]

Similarity measure.

An object of type binary_function<> giving similarity estimates as double values.

Definition at line 78 of file svd_correspondence.h.

template<class InputIter1, class SimilarityMeasure>
InputIter1 mimas::svd_correspondence< InputIter1, SimilarityMeasure >::begin1 [protected]

Iterator on indexed feature set.

Definition at line 80 of file svd_correspondence.h.

template<class InputIter1, class SimilarityMeasure>
int mimas::svd_correspondence< InputIter1, SimilarityMeasure >::size1 [protected]

Size of indexed feature set.

Definition at line 82 of file svd_correspondence.h.


The documentation for this class was generated from the following file:
[GNU/Linux] [Qt] [Mesa] [STL] [Lapack] [Boost] [Magick++] [Xalan-C and Xerces-C] [doxygen] [graphviz] [FFTW] [popt] [xine] [Gnuplot] [gnu-arch] [gcc] [gstreamer] [autoconf/automake/make] [freshmeat.net] [opensource.org] [sourceforge.net] [MMVL]
mimas 2.1 - Copyright Mon Oct 30 11:31:48 2006, Bala Amavasai, Stuart Meikle, Arul Selvan, Fabio Caparrelli, Jan Wedekind, Manuel Boissenin, ...