IMP logo
IMP Reference Guide  2.20.2
The Integrative Modeling Platform
RecursivePartitionalClusteringMetric.h
Go to the documentation of this file.
1 /**
2  * \file IMP/statistics/RecursivePartitionalClusteringMetric.h
3  * \brief Metric for clustering data that has already been clustered once.
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPSTATISTICS_RECURSIVE_PARTITIONAL_CLUSTERING_METRIC_H
10 #define IMPSTATISTICS_RECURSIVE_PARTITIONAL_CLUSTERING_METRIC_H
11 
12 #include <IMP/statistics/statistics_config.h>
13 #include "Metric.h"
14 #include "PartitionalClustering.h"
15 #include <IMP/Pointer.h>
16 
17 IMPSTATISTICS_BEGIN_NAMESPACE
18 
19 //! Represent a metric for clustering data that has already been clustered once.
20 /** To use it, cluster things once, then create one of these with the metric
21  you want (created with the original data). When you pass this metric to
22  the clustering algorithm, it will cluster the centers. You can extract the
23  clustering of the original elements using create_full_clustering().
24 */
25 class IMPSTATISTICSEXPORT RecursivePartitionalClusteringMetric : public Metric {
28 
29  public:
31  PartitionalClustering *clustering);
32  PartitionalClustering *create_full_clustering(
33  PartitionalClustering *center_cluster);
34  double get_distance(unsigned int i, unsigned int j) const override;
35  unsigned int get_number_of_items() const override;
37 };
38 
39 IMPSTATISTICS_END_NAMESPACE
40 
41 #endif /* IMPSTATISTICS_RECURSIVE_PARTITIONAL_CLUSTERING_METRIC_H */
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Compute a distance metric between two points.
Represent a metric for clustering data that has already been clustered once.
A smart pointer to a ref-counted Object that is a class member.
Definition: Pointer.h:143
A nullptr-initialized pointer to an IMP Object.
Cluster sets of points.
double get_distance(const Line3D &s, const Vector3D &p)
Get closest distance between a line and a point.
A base class for clustering results where each item is in one cluster.
Store data to be clustered for distance metric based algorithms.
Definition: Metric.h:25