IMP  2.0.1
The Integrative Modeling Platform
statistics/embedding.h
Go to the documentation of this file.
1 /**
2  * \file IMP/statistics/Embedding.h
3  * \brief Cluster sets of points.
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPSTATISTICS_EMBEDDING_H
10 #define IMPSTATISTICS_EMBEDDING_H
11 
12 #include <IMP/statistics/statistics_config.h>
13 #include <IMP/algebra/VectorD.h>
14 #include <IMP/base/Object.h>
15 #include <IMP/base/object_macros.h>
16 
17 IMPSTATISTICS_BEGIN_NAMESPACE
18 
19 //! Store data to be clustered for embedding based algorithms.
20 /** Point-based clustering needs a way of embedding the data being clustered
21  in space. Classes which implement Embedding provide a
22  mapping between each item being clustered (named by an integer index)
23  and a point in space, as a fixed-lenth array of floating point numbers.
24  */
25 class IMPSTATISTICSEXPORT Embedding: public IMP::base::Object {
26  protected:
27  Embedding(std::string name);
28 public:
29  virtual algebra::VectorKD get_point(unsigned int i) const =0;
30  virtual algebra::VectorKDs get_points() const =0;
31  virtual unsigned int get_number_of_items() const=0;
32 };
33 
35 
36 IMPSTATISTICS_END_NAMESPACE
37 
38 #endif /* IMPSTATISTICS_EMBEDDING_H */