Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

DelaunayPairFinder Class Template Reference

#include <OpenMS/ANALYSIS/MAPMATCHING/DelaunayPairFinder.h>

Inheritance diagram for DelaunayPairFinder:

BasePairFinder< ConsensusMapT > FactoryProduct DefaultParamHandler

List of all members.


Detailed Description

template<typename ConsensusMapT = FeatureMap< Feature >, typename ElementMapT = FeatureMap< >>
class OpenMS::DelaunayPairFinder< ConsensusMapT, ElementMapT >

This class implements an element pair finding algorithm.

This class implements a point pair finding algorithm. It offers a method to determine element pairs in two element maps, given two point maps and a transformation defined for the second element map (if no transformation is given, the pairs are found in the two original maps). The pair finder also offers a method to compute consensus elements given two element maps. This algorithm is similar to the pair finding method as mentioned above, but it implies that the scene map is already dewarped.

To speed up the search for element pairs an consensus elements, the DelaunayPairFinder uses the CGAL delaunay triangulation for the nearest neighbour search.

The first template parameter is the type of the consensus map and the second parameter is the type of the element maps.

Note:
The RT and the MZ dimension are not equivalent, because two elements that differ in RT by 1s (or minute) are more similar than two points that differ in MZ by 1Th. To be able to use the euclidean distance in the nearest neighbour search, we have to transform the elements MZ position m into a new MZ position m'= m / (diff_intercept_RT/diff_intercept_MZ). E.g. given diff_intercept_RT=1 and diff_intercept_MZ=0.1 results in 1s difference in RT is similar to 0.1Th difference in MZ.
DelaunayPairFinder Parameters are explained on a separate page.

Public Types

enum  Maps { MODEL = 0, SCENE = 1 }
typedef BasePairFinder
< ConsensusMapT > 
Base
typedef Base::QualityType QualityType
 Quality.
typedef Base::PositionType PositionType
 Traits type.
typedef Base::IntensityType IntensityType
typedef Base::PointType PointType
 Type of elements considered here.
typedef Base::PointMapType PointMapType
 Container for input elements.
typedef Base::ElementPairType ElementPairType
 Type of element pairs.
typedef CGAL::Point_set_2
< GeometricTraits,
CGAL::Triangulation_data_structure_2
< CGAL::Triangulation_vertex_base_2
< GeometricTraits > > > 
Point_set_2
typedef Point_set_2::Vertex_handle Vertex_handle

Public Member Functions

 DelaunayPairFinder ()
 Constructor.
virtual ~DelaunayPairFinder ()
 Destructor.
double getDiffIntercept (UInt dim)
 Get diff intercept.
void setDiffIntercept (UInt dim, DoubleReal intercept)
 Set diff intercept.
float getMaxPairDistance (UInt dim)
 Get max_pair_distance_.
void setMaxPairDistance (UInt dim, Real max_pair_distance)
 Set max_pair_distance_.
float getPrecision (UInt dim)
 Get precision.
void setPrecision (UInt dim, Real precision)
 Set precision.
void findElementPairs ()
 The actual algorithm for finding element pairs.
template<typename ResultMapType>
void computeConsensusMap (const PointMapType &first_map, ResultMapType &second_map)

Static Public Member Functions

static BasePairFinder
< PointMapType > * 
create ()
 Returns an instance of this class.
static const String getProductName ()
 Returns the name of this module.

Protected Member Functions

virtual void updateMembers_ ()
 This method is used to update extra member variables at the end of the setParam() method.

Protected Attributes

double diff_intercept_ [2]
 A parameter for similarity_().
float max_pair_distance_ [2]
float precision_ [2]
 Only points that differ not more than precision_ can be assigned as a pair.

Classes

class  GeometricTraits
class  Point

Member Typedef Documentation

typedef BasePairFinder< ConsensusMapT > Base

typedef Base::QualityType QualityType

Quality.

Reimplemented from BasePairFinder< ConsensusMapT >.

typedef Base::PositionType PositionType

Traits type.

Position

Reimplemented from BasePairFinder< ConsensusMapT >.

typedef Base::IntensityType IntensityType

Reimplemented from BasePairFinder< ConsensusMapT >.

typedef Base::PointType PointType

Type of elements considered here.

Reimplemented from BasePairFinder< ConsensusMapT >.

typedef Base::PointMapType PointMapType

Container for input elements.

Reimplemented from BasePairFinder< ConsensusMapT >.

typedef Base::ElementPairType ElementPairType

Type of element pairs.

Reimplemented from BasePairFinder< ConsensusMapT >.

typedef CGAL::Point_set_2< GeometricTraits, CGAL::Triangulation_data_structure_2< CGAL::Triangulation_vertex_base_2< GeometricTraits > > > Point_set_2

typedef Point_set_2::Vertex_handle Vertex_handle


Member Enumeration Documentation

enum Maps

Symbolic names for indices of element maps etc. This should make things more understandable and maintainable.

Enumerator:
MODEL 
SCENE 

Reimplemented from BasePairFinder< ConsensusMapT >.


Constructor & Destructor Documentation

DelaunayPairFinder (  )  [inline]

Constructor.

virtual ~DelaunayPairFinder (  )  [inline, virtual]

Destructor.


Member Function Documentation

static BasePairFinder<PointMapType>* create (  )  [inline, static]

Returns an instance of this class.

static const String getProductName (  )  [inline, static]

Returns the name of this module.

double getDiffIntercept ( UInt  dim  )  [inline]

Get diff intercept.

void setDiffIntercept ( UInt  dim,
DoubleReal  intercept 
) [inline]

Set diff intercept.

float getMaxPairDistance ( UInt  dim  )  [inline]

Get max_pair_distance_.

void setMaxPairDistance ( UInt  dim,
Real  max_pair_distance 
) [inline]

Set max_pair_distance_.

float getPrecision ( UInt  dim  )  [inline]

Get precision.

void setPrecision ( UInt  dim,
Real  precision 
) [inline]

Set precision.

void findElementPairs (  )  [inline, virtual]

The actual algorithm for finding element pairs.

Implements BasePairFinder< ConsensusMapT >.

void computeConsensusMap ( const PointMapType first_map,
ResultMapType &  second_map 
) [inline]

The actual algorithm for finding consensus consensus elements. Elements in the first_map are aligned to elements in the second_map, so the second_map contains the resulting consensus elements.

virtual void updateMembers_ (  )  [inline, protected, virtual]

This method is used to update extra member variables at the end of the setParam() method.

Also call it at the end of the derived classes' copy constructor and assignment operator.

The default implementation is empty.

Reimplemented from DefaultParamHandler.


Member Data Documentation

double diff_intercept_[2] [protected]

A parameter for similarity_().

float max_pair_distance_[2] [protected]

To uniquely assign an element e1 of the scene map to another element e2 in the model map all elements in the scene map have to lie at least max_pair_distance_ far from e1 and all elements in the model map have to lie at least max_pair_distance_ far from e2.

float precision_[2] [protected]

Only points that differ not more than precision_ can be assigned as a pair.


The documentation for this class was generated from the following file:
Generated Tue Apr 1 15:36:41 2008 -- using doxygen 1.5.4 OpenMS / TOPP 1.1