IMP  2.2.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-2014 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 */
A smart pointer to a ref-counted Object that is a class memeber.
Definition: base/Pointer.h:147
Compute a distance metric between two points.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Store data to be clustered for embedding based algorithms.
Cluster sets of points.
VectorD<-1 > VectorKD
Definition: VectorD.h:411
A base class for clustering results where each item is in one cluster.