Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Private Attributes | List of all members
ClusterHierarchical Class Reference

Hierarchical clustering with generic clustering functions. More...

#include <OpenMS/COMPARISON/CLUSTERING/ClusterHierarchical.h>

Public Member Functions

 ClusterHierarchical ()
 default constructor More...
 
 ClusterHierarchical (const ClusterHierarchical &source)
 copy constructor More...
 
virtual ~ClusterHierarchical ()
 destructor More...
 
template<typename Data , typename SimilarityComparator >
void cluster (std::vector< Data > &data, const SimilarityComparator &comparator, const ClusterFunctor &clusterer, std::vector< BinaryTreeNode > &cluster_tree, DistanceMatrix< float > &original_distance)
 Clustering function. More...
 
void cluster (std::vector< PeakSpectrum > &data, const BinnedSpectrumCompareFunctor &comparator, double sz, UInt sp, const ClusterFunctor &clusterer, std::vector< BinaryTreeNode > &cluster_tree, DistanceMatrix< float > &original_distance)
 clustering function for binned PeakSpectrum More...
 
double getThreshold ()
 get the threshold More...
 
void setThreshold (double x)
 

Private Attributes

double threshold_
 the threshold given to the ClusterFunctor More...
 

Detailed Description

Hierarchical clustering with generic clustering functions.

ClusterHierarchical clusters objects with corresponding distancemethod and clusteringmethod.

Constructor & Destructor Documentation

◆ ClusterHierarchical() [1/2]

ClusterHierarchical ( )
inline

default constructor

◆ ClusterHierarchical() [2/2]

ClusterHierarchical ( const ClusterHierarchical source)
inline

copy constructor

◆ ~ClusterHierarchical()

virtual ~ClusterHierarchical ( )
inlinevirtual

destructor

Member Function Documentation

◆ cluster()

void cluster ( std::vector< Data > &  data,
const SimilarityComparator &  comparator,
const ClusterFunctor clusterer,
std::vector< BinaryTreeNode > &  cluster_tree,
DistanceMatrix< float > &  original_distance 
)
inline

Clustering function.

Conducts the SimilarityComparator with a ClusterFunctor an produces a clustering. Will create a DistanceMatrix if not yet created and start the clustering up to the given ClusterHierarchical::threshold_ used for the ClusterFunctor. The type of the objects to be clustered has to be the first template argument, the similarity functor applicable to this type must be the second template argument, e.g. for PeakSpectrum with a PeakSpectrumCompareFunctor. The similarity functor must provide the similarity calculation with the ()-operator and yield normalized values in range of [0,1] for the type of < Data >.

Parameters
datavector of objects to be clustered
comparatorsimilarity functor fitting for types in data
clusterera clustermethod implementation, baseclass ClusterFunctor
cluster_treethe vector that will hold the BinaryTreeNodes representing the clustering (for further investigation with the ClusterAnalyzer methods)
original_distancethe DistanceMatrix holding the pairwise distances of the elements in data, will be made newly if given size does not fit to the number of elements given in @ data
See also
ClusterFunctor, BinaryTreeNode, ClusterAnalyzer

References DistanceMatrix< Value >::clear(), DistanceMatrix< Value >::dimensionsize(), DistanceMatrix< Value >::resize(), and DistanceMatrix< Value >::setValueQuick().

Referenced by SpectraMerger::mergeSpectraPrecursors().

◆ getThreshold()

double getThreshold ( )
inline

get the threshold

◆ setThreshold()

void setThreshold ( double  x)
inline

set the threshold (in terms of distance) The default is 1, i.e. only at similarity 0 the clustering stops. Warning: clustering is not supported by all methods yet (e.g. SingleLinkage does ignore it).

Member Data Documentation

◆ threshold_

double threshold_
private

the threshold given to the ClusterFunctor


OpenMS / TOPP release 2.3.0 Documentation generated on Tue Jan 9 2018 18:22:07 using doxygen 1.8.13