53 threshold_(source.threshold_)
85 template <
typename Data,
typename SimilarityComparator>
87 const SimilarityComparator & comparator,
89 std::vector<BinaryTreeNode> & cluster_tree,
95 original_distance.
clear();
96 original_distance.
resize(data.size(), 1);
97 for (
Size i = 0; i < data.size(); i++)
99 for (
Size j = 0; j < i; j++)
102 original_distance.
setValueQuick(i, j, 1 - comparator(data[i], data[j]));
108 clusterer(original_distance, cluster_tree, threshold_);
128 void cluster(std::vector<PeakSpectrum> & data,
134 std::vector<BinaryTreeNode> & cluster_tree,
137 std::vector<BinnedSpectrum> binned_data;
138 binned_data.reserve(data.size());
141 for (
Size i = 0; i < data.size(); i++)
144 binned_data.emplace_back(data[i], sz,
false, sp, offset);
148 original_distance.
clear();
149 original_distance.
resize(data.size(), 1);
151 for (
Size i = 0; i < binned_data.size(); i++)
153 for (
Size j = 0; j < i; j++)
156 original_distance.
setValue(i, j, 1 - comparator(binned_data[i], binned_data[j]));
161 clusterer(original_distance, cluster_tree, threshold_);
190 =
"Clustering with unnormalized similarity measurement requested, normalized is mandatory") throw();
Base class for compare functors of BinnedSpectra.
Definition: BinnedSpectrumCompareFunctor.h:32
Base class for cluster functors.
Definition: ClusterFunctor.h:28
Hierarchical clustering with generic clustering functions.
Definition: ClusterHierarchical.h:38
void setThreshold(double x)
Definition: ClusterHierarchical.h:173
virtual ~ClusterHierarchical()
destructor
Definition: ClusterHierarchical.h:58
double getThreshold() const
get the threshold
Definition: ClusterHierarchical.h:165
ClusterHierarchical(const ClusterHierarchical &source)
copy constructor
Definition: ClusterHierarchical.h:52
void cluster(std::vector< Data > &data, const SimilarityComparator &comparator, const ClusterFunctor &clusterer, std::vector< BinaryTreeNode > &cluster_tree, DistanceMatrix< float > &original_distance)
Clustering function.
Definition: ClusterHierarchical.h:86
double threshold_
the threshold given to the ClusterFunctor
Definition: ClusterHierarchical.h:42
ClusterHierarchical()
default constructor
Definition: ClusterHierarchical.h:46
A two-dimensional distance matrix, similar to OpenMS::Matrix.
Definition: DistanceMatrix.h:42
SizeType dimensionsize() const
gives the number of rows (i.e. number of columns)
Definition: DistanceMatrix.h:392
void setValue(SizeType i, SizeType j, ValueType value)
sets a value at a given position:
Definition: DistanceMatrix.h:237
void setValueQuick(SizeType i, SizeType j, ValueType value)
sets a value at a given position:
Definition: DistanceMatrix.h:283
void clear()
reset all
Definition: DistanceMatrix.h:301
void resize(SizeType dimensionsize, Value value=Value())
resizing the container
Definition: DistanceMatrix.h:323
Exception base class.
Definition: Exception.h:65
Exception thrown if clustering is attempted without a normalized compare functor.
Definition: ClusterHierarchical.h:187
UnnormalizedComparator(const char *file, int line, const char *function, const char *message="Clustering with unnormalized similarity measurement requested, normalized is mandatory")
unsigned int UInt
Unsigned integer type.
Definition: Types.h:68
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:101
void cluster(std::vector< PeakSpectrum > &data, const BinnedSpectrumCompareFunctor &comparator, double sz, UInt sp, float offset, const ClusterFunctor &clusterer, std::vector< BinaryTreeNode > &cluster_tree, DistanceMatrix< float > &original_distance) const
clustering function for binned PeakSpectrum
Definition: ClusterHierarchical.h:128
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22