IMP logo
IMP Reference Guide  2.6.1
The Integrative Modeling Platform
RecursivePartitionalClusteringEmbedding.h
Go to the documentation of this file.
1 /**
2  * \file IMP/statistics/RecursivePartitionalClusteringEmbedding.h
3  * \brief Cluster sets of points.
4  *
5  * Copyright 2007-2016 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPSTATISTICS_RECURSIVE_PARTITIONAL_CLUSTERING_EMBEDDING_H
10 #define IMPSTATISTICS_RECURSIVE_PARTITIONAL_CLUSTERING_EMBEDDING_H
11 
12 #include <IMP/statistics/statistics_config.h>
13 #include "PartitionalClustering.h"
14 #include "Embedding.h"
15 
16 IMPSTATISTICS_BEGIN_NAMESPACE
17 
18 /** Represent an embedding for clustering data that has already been clustered
19  once. To use it, cluster things once, create one of these with the embedding
20  you want (created with the original data). When you pass this embedding to
21  the clustering algorithm, it will cluster the centers. You can extract the
22  clustering of the original elements using create_full_clustering().
23 */
24 class IMPSTATISTICSEXPORT RecursivePartitionalClusteringEmbedding
25  : public Embedding {
28 
29  public:
31  PartitionalClustering *clustering);
32  PartitionalClustering *create_full_clustering(
33  PartitionalClustering *center_cluster);
34  algebra::VectorKD get_point(unsigned int i) const IMP_OVERRIDE;
35  unsigned int get_number_of_items() const IMP_OVERRIDE;
37 };
38 
39 IMPSTATISTICS_END_NAMESPACE
40 
41 #endif /* IMPSTATISTICS_RECURSIVE_PARTITIONAL_CLUSTERING_EMBEDDING_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.
A smart pointer to a ref-counted Object that is a class member.
Definition: Pointer.h:146
Store data to be clustered for embedding based algorithms.
Cluster sets of points.
VectorD<-1 > VectorKD
Definition: VectorD.h:411
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
A base class for clustering results where each item is in one cluster.