OpenMS
SingleLinkage Class Reference

SingleLinkage ClusterMethod. More...

#include <OpenMS/ML/CLUSTERING/SingleLinkage.h>

Inheritance diagram for SingleLinkage:
[legend]
Collaboration diagram for SingleLinkage:
[legend]

Public Member Functions

 SingleLinkage ()
 default constructor More...
 
 SingleLinkage (const SingleLinkage &source)
 copy constructor More...
 
 ~SingleLinkage () override
 destructor More...
 
SingleLinkageoperator= (const SingleLinkage &source)
 assignment operator More...
 
void operator() (DistanceMatrix< float > &original_distance, std::vector< BinaryTreeNode > &cluster_tree, const float threshold=1) const override
 
- Public Member Functions inherited from ClusterFunctor
 ClusterFunctor ()
 default constructor More...
 
 ClusterFunctor (const ClusterFunctor &source)
 copy constructor More...
 
virtual ~ClusterFunctor ()
 destructor More...
 
ClusterFunctoroperator= (const ClusterFunctor &source)
 assignment operator More...
 
- Public Member Functions inherited from ProgressLogger
 ProgressLogger ()
 Constructor. More...
 
virtual ~ProgressLogger ()
 Destructor. More...
 
 ProgressLogger (const ProgressLogger &other)
 Copy constructor. More...
 
ProgressLoggeroperator= (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 setLogger (ProgressLoggerImpl *logger)
 Sets the logger to be used for progress logging. 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 (UInt64 bytes_processed=0) const
 
void nextProgress () const
 increment progress by 1 (according to range begin-end) More...
 

Additional Inherited Members

- Public Types inherited from ProgressLogger
enum  LogType { CMD , GUI , NONE }
 Possible log types. More...
 
- Protected Attributes inherited from ProgressLogger
LogType type_
 
time_t last_invoke_
 
ProgressLoggerImplcurrent_logger_
 
- Static Protected Attributes inherited from ProgressLogger
static int recursion_depth_
 

Detailed Description

SingleLinkage ClusterMethod.

The details of the method can be found in: SLINK: An optimally efficient algorithm for the single-link cluster method, The Computer Journal 1973 16(1):30-34; doi:10.1093/comjnl/16.1.30

See also
ClusterFunctor() base class.

Constructor & Destructor Documentation

◆ SingleLinkage() [1/2]

default constructor

◆ SingleLinkage() [2/2]

SingleLinkage ( const SingleLinkage source)

copy constructor

◆ ~SingleLinkage()

~SingleLinkage ( )
override

destructor

Member Function Documentation

◆ operator()()

void operator() ( DistanceMatrix< float > &  original_distance,
std::vector< BinaryTreeNode > &  cluster_tree,
const float  threshold = 1 
) const
overridevirtual
@brief clusters the indices according to their respective element distances
Parameters
original_distanceDistanceMatrix<float> containing the distances of the elements to be clustered
cluster_treevector< BinaryTreeNode >, represents the clustering, each node contains the next two clusters merged and their distance, strict order is kept: left_child < right_child
thresholdfloat value to meet Base class interface, will not be used because algorithm used is considerably fast and does not work by growing distances
Exceptions
ClusterFunctor::InsufficientInputthrown if input is <2 The clustering method is single linkage, where the updated distances after merging two clusters are each the minimal distance between the elements of their clusters.
See also
ClusterFunctor , BinaryTreeNode

Implements ClusterFunctor.

◆ operator=()

SingleLinkage& operator= ( const SingleLinkage source)

assignment operator