You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+18-44Lines changed: 18 additions & 44 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,8 @@
1
1
# Fred 
2
2
A fast, scalable and light-weight C++ Fréchet distance library, exposed to python and focused on (k,l)-clustering of polygonal curves.
3
3
4
+
### NOW USING PYBIND11 INSTEAD OF BOOST!
5
+
4
6
## Ingredients C++ Backend
5
7
`import Fred.backend as fred`
6
8
@@ -52,55 +54,31 @@ By default, Fred will automatically determine the number of threads to use. If y
52
54
53
55
A `fred.Distance_Matrix()` can be used to speed up consecutive calls of `fred.discrete_klcenter` and `fred.discrete_klmedian`. As the name suggests, it stores the distances already computed.
- Algorithm 6 in [**Coresets for (k,l)-Clustering under the Fréchet distance**](https://arxiv.org/pdf/1901.01870.pdf) + simplification
94
-
- signature: `fred.discrete_klmedian(k, l, curves, center_domain)` with parameters
95
-
-`k`: number of centers
96
-
-`l`: maximum complexity of the centers, only used when center_domain is default value
75
+
-`distances`: `fred.Distance_Matrix`, defaults to empty `fred.Distance_Matrix`
97
76
-`center_domain`: possible centers, optional parameter, if not given the input is simplified and used as center domain
98
77
- returns: `fred.Clustering_Result` with mebers
99
78
-`value`: objective value
100
79
-`time`: running-time
101
80
-`assignment`: empty if compute_assignment has not been called
102
81
103
-
104
82
#### Clustering Result
105
83
- signature: `fred.Clustering_Result`
106
84
- methods: `len(fred.Clustering_Result)`: number of centers, `fred.Clustering_Result[i]`: get ith center, `fred.Clustering_Result.compute_assignment(fred.Curves)`: assigns every curve to its nearest center
@@ -112,27 +90,23 @@ A `fred.Distance_Matrix()` can be used to speed up consecutive calls of `fred.di
112
90
113
91
### Dimension Reduction via Gaussian Random Projection
114
92
-[Section 2 in **Random Projections and Sampling Algorithms for Clustering of High Dimensional Polygonal Curves**](https://papers.nips.cc/paper/9443-random-projections-and-sampling-algorithms-for-clustering-of-high-dimensional-polygonal-curves)
115
-
- signature: `fred.dimension_reduction(curves, epsilon, empirical_constant)` with parameters `epsilon`: (1+epsilon) approximation parameter, `empirical_constant`: use constant of empirical study (faster, but less accurate)
93
+
- signature: `fred.dimension_reduction(curves, epsilon, empirical_constant)` with parameters `epsilon`: (1+epsilon) approximation parameter, `empirical_constant`: use constant of empirical study (faster, but less accurate), defaults to `True`
116
94
- returns: `fred.Curves` collection of curves
117
95
118
96
## Installation
119
-
Get requirements under Ubuntu: `make pre`
120
-
121
-
Python3 installation into userdir: `make install`
122
97
123
-
### If something does not work with Boost
98
+
### Requirements
124
99
125
-
Manual installation of Boost
100
+
You have to have installed:
101
+
- git
102
+
- openmp available (should be a part of your compiler)
103
+
104
+
Thats it!
126
105
127
-
-`mkdir $HOME/boost` (This folder is hardcoded in setup.py, another location won't work.)
0 commit comments