| OpenMS 2.5.0

Public Member Functions | Static Public Member Functions | List of all members
AverageLinkage Class Reference
Analysis » Clustering

AverageLinkage ClusterMethod. More...

`#include <OpenMS/COMPARISON/CLUSTERING/AverageLinkage.h>`

Inheritance diagram for AverageLinkage:

## Public Member Functions

| AverageLinkage ()
| default constructor More...
| AverageLinkage (const AverageLinkage &source)
| copy constructor More...
| ~AverageLinkage () override
| destructor More...
AverageLinkage & | operator= (const AverageLinkage &source)
| assignment operator More...
void | operator() (DistanceMatrix< float > &original_distance, std::vector< BinaryTreeNode > &cluster_tree, const float threshold=1) const override
| clusters the indices according to their respective element distances More...
Public Member Functions inherited from ClusterFunctor
| ClusterFunctor ()
| default constructor More...
| ClusterFunctor (const ClusterFunctor &source)
| copy constructor More...
virtual | ~ClusterFunctor ()
| destructor More...
ClusterFunctor & | operator= (const ClusterFunctor &source)
| assignment operator More...
Public Member Functions inherited from ProgressLogger
| ProgressLogger ()
| Constructor. More...
| ~ProgressLogger ()
| Destructor. More...
| ProgressLogger (const ProgressLogger &other)
| Copy constructor. More...
ProgressLogger & | operator= (const ProgressLogger &other)
| Assignment Operator. More...
void | setLogType (LogType type) const
| Sets the progress log that should be used. The default type is NONE! More...
LogType | getLogType () const
| Returns the type of progress log being used. More...
void | startProgress (SignedSize begin, SignedSize end, const String &label) const
| Initializes the progress display. More...
void | setProgress (SignedSize value) const
| Sets the current progress. More...
void | endProgress () const
| Ends the progress display. More...
void | nextProgress () const
| increment progress by 1 (according to range begin-end) More...

## Static Public Member Functions

static ClusterFunctor * | create ()
| creates a new instance of a AverageLinkage object More...
static const String | getProductName ()
| get the identifier for this object More...
Static Public Member Functions inherited from ClusterFunctor
static void | registerChildren ()
| registers all derived products More...

## Additional Inherited Members

Public Types inherited from ProgressLogger
enum | LogType { CMD, GUI, NONE }
| Possible log types. More...
Static Protected Member Functions inherited from ProgressLogger
static String | logTypeToFactoryName_ (LogType type)
| Return the name of the factory product used for this log type. More...
Protected Attributes inherited from ProgressLogger
LogType | type_
time_t | last_invoke_
ProgressLoggerImpl * | current_logger_
Static Protected Attributes inherited from ProgressLogger
static int | recursion_depth_

## Detailed Description

AverageLinkage ClusterMethod.

The details of the method can be found in: Backhaus, Erichson, Plinke, Weiber Multivariate Analysemethoden, Springer 2000 and Ellen M. Voorhees: Implementing agglomerative hierarchic clustering algorithms for use in document retrieval. Inf. Process. Manage. 22(6): 465-476 (1986)

See also
  ClusterFunctor

## Constructor & Destructor Documentation

## ◆ AverageLinkage() [1/2]

AverageLinkage | ( |  | ) |

default constructor

## ◆ AverageLinkage() [2/2]

AverageLinkage | ( | const AverageLinkage & | source | ) |

copy constructor

## ◆ ~AverageLinkage()

~AverageLinkage | ( |  | ) |

override

destructor

## Member Function Documentation

## ◆ create()

static ClusterFunctor* create | ( |  | ) |

static

creates a new instance of a AverageLinkage object

## ◆ getProductName()

static const String getProductName | ( |  | ) |

static

get the identifier for this object

## ◆ operator()()

void operator() | ( | DistanceMatrix< float > & | original_distance,
|  | std::vector< BinaryTreeNode > & | cluster_tree,
|  | const float | threshold = `1`
| ) |  | const

override virtual

clusters the indices according to their respective element distances

Parameters

  original_distance | DistanceMatrix<float> containing the distances of the elements to be clustered, will be changed during clustering process, make sure to have a copy or be able to redo
  cluster_tree | vector< BinaryTreeNode >, represents the clustering, each node contains the next merged clusters (not element indices) and their distance, strict order is kept: left_child < right_child
  threshold | float value, the minimal distance from which on cluster merging is considered unrealistic. By default set to 1, i.e. complete clustering until only one cluster remains

Exceptions

  ClusterFunctor::InsufficientInput | thrown if input is <2 The clustering method is average linkage, where the updated distances after merging two clusters are each the average distances between the elements of their clusters. After `threshold` is exceeded, `cluster_tree` is filled with dummy clusteringsteps (children: (0,1), distance: -1) to the root.

See also
  ClusterFunctor , BinaryTreeNode

Implements ClusterFunctor.

## ◆ operator=()

AverageLinkage& operator= | ( | const AverageLinkage & | source | ) |

assignment operator