IMP
2.0.0
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
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
34
IMP_OBJECTS
(
Embedding
,
Embeddings
);
35
36
IMPSTATISTICS_END_NAMESPACE
37
38
#endif
/* IMPSTATISTICS_EMBEDDING_H */