#include <OpenMS/ANALYSIS/MAPMATCHING/DelaunayPairFinder.h>
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.
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 |
typedef BasePairFinder< ConsensusMapT > Base |
typedef Base::QualityType QualityType |
typedef Base::PositionType PositionType |
typedef Base::IntensityType IntensityType |
Reimplemented from BasePairFinder< ConsensusMapT >.
typedef Base::PointType PointType |
typedef Base::PointMapType PointMapType |
typedef Base::ElementPairType ElementPairType |
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 |
enum Maps |
Symbolic names for indices of element maps etc. This should make things more understandable and maintainable.
Reimplemented from BasePairFinder< ConsensusMapT >.
DelaunayPairFinder | ( | ) | [inline] |
Constructor.
virtual ~DelaunayPairFinder | ( | ) | [inline, virtual] |
Destructor.
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_.
float getPrecision | ( | UInt | dim | ) | [inline] |
Get precision.
void findElementPairs | ( | ) | [inline, virtual] |
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.
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.
Generated Tue Apr 1 15:36:41 2008 -- using doxygen 1.5.4 | OpenMS / TOPP 1.1 |