83 template<
typename Data,
typename SimilarityComparator>
85 const SimilarityComparator& comparator,
87 std::vector<BinaryTreeNode>& cluster_tree,
93 original_distance.
clear();
94 original_distance.
resize(data.size(), 1);
95 for (
Size i = 0; i < data.size(); i++)
97 for (
Size j = 0; j < i; j++)
100 original_distance.
setValueQuick(i, j, 1 - comparator(data[i], data[j]));
106 clusterer(original_distance, cluster_tree, threshold_);
135 std::vector<BinaryTreeNode>& cluster_tree,
138 std::vector<BinnedSpectrum> binned_data;
139 binned_data.reserve(data.size());
142 for (
Size i = 0; i < data.size(); i++)
145 binned_data.emplace_back(data[i], sz,
false, sp, offset);
149 original_distance.
clear();
150 original_distance.
resize(data.size(), 1);
152 for (
Size i = 0; i < binned_data.size(); i++)
154 for (
Size j = 0; j < i; j++)
157 original_distance.
setValue(i, j, 1 - comparator(binned_data[i], binned_data[j]));
162 clusterer(original_distance, cluster_tree, threshold_);
190 const char*
function,
191 const char* message =
"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:37
void setThreshold(double x)
Definition: ClusterHierarchical.h:174
virtual ~ClusterHierarchical()
destructor
Definition: ClusterHierarchical.h:54
double getThreshold() const
get the threshold
Definition: ClusterHierarchical.h:166
ClusterHierarchical(const ClusterHierarchical &source)
copy constructor
Definition: ClusterHierarchical.h:49
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:84
double threshold_
the threshold given to the ClusterFunctor
Definition: ClusterHierarchical.h:40
ClusterHierarchical()
default constructor
Definition: ClusterHierarchical.h:44
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:360
void setValue(SizeType i, SizeType j, ValueType value)
sets a value at a given position:
Definition: DistanceMatrix.h:222
void setValueQuick(SizeType i, SizeType j, ValueType value)
sets a value at a given position:
Definition: DistanceMatrix.h:259
void clear()
reset all
Definition: DistanceMatrix.h:271
void resize(SizeType dimensionsize, Value value=Value())
resizing the container
Definition: DistanceMatrix.h:293
Exception base class.
Definition: Exception.h:63
Exception thrown if clustering is attempted without a normalized compare functor.
Definition: ClusterHierarchical.h:186
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:64
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:97
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:129
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19