IMP
2.0.1
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
metric_clustering.h
Go to the documentation of this file.
1
/**
2
* \file IMP/statistics/metric_clustering.h
3
* \brief Cluster sets of points.
4
*
5
* Copyright 2007-2013 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPSTATISTICS_METRIC_CLUSTERING_H
10
#define IMPSTATISTICS_METRIC_CLUSTERING_H
11
12
#include <IMP/statistics/statistics_config.h>
13
#include "
PartitionalClustering.h
"
14
#include "
Metric.h
"
15
#include "
point_clustering.h
"
16
#include <
IMP/algebra/VectorD.h
>
17
#include <
IMP/macros.h
>
18
#include <
IMP/Object.h
>
19
#include <
IMP/ConfigurationSet.h
>
20
#include <
IMP/SingletonContainer.h
>
21
#include <IMP/internal/OwnerPointer.h>
22
23
IMPSTATISTICS_BEGIN_NAMESPACE
24
25
26
/** Cluster by repeatedly removing edges which have lots
27
of shortest paths passing through them. The process is
28
terminated when there are a set number of
29
connected components. Other termination criteria
30
can be added if someone proposes them.
31
32
Only items closer than far are connected.
33
*/
34
IMPSTATISTICSEXPORT
35
PartitionalClustering *
create_centrality_clustering
(Metric *d,
36
double
far,
37
int
k);
38
39
40
/** Cluster the elements into clusters with at most the specified
41
diameter.
42
*/
43
IMPSTATISTICSEXPORT
44
PartitionalClustering *
create_diameter_clustering
(Metric *d,
45
double
maximum_diameter);
46
47
/**Two points, \f$p_i\f$, \f$p_j\f$ are in the same cluster if
48
there is a sequence of points \f$\left(p^{ij}_{0}\dots p^{ij}_k\right)\f$
49
such that \f$\forall l ||p^{ij}_l-p^{ij}_{l+1}|| < d\f$.
50
*/
51
IMPSTATISTICSEXPORT PartitionalClustering*
52
create_connectivity_clustering
(Metric *metric,
53
double
dist);
54
55
IMPSTATISTICS_END_NAMESPACE
56
57
#endif
/* IMPSTATISTICS_METRIC_CLUSTERING_H */