Skip to main content

Friends-of-friends cluster finding in python

Project description

pyfof
=====

Friends of Friends cluster finding in python.

This implements the friends-of-friends algorithm to find clusters of points,
accelerated with an R*-tree.

## Requirements
* c++11 complient compiler
* [Cython](http://cython.org/)
* [numpy](http://www.numpy.org/)
* [boost](http://www.boost.org/)

## Installation

If your boost installation is in a normal place you should just be able to install
the latest release of the package directly from PyPI

```pip install pyfof```

If that fails then you will need to tell pip where to find your boost include
directory. This can be done by creating a file in your home directory called ```.pydistutils.cfg``` containing:

```
[build_ext]
include_dirs=/path/to/boost/include/directory
```

Then running the above command.

## Examples

### Two Gaussian blobs

```python
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import pyfof

npts = 10000
data = np.vstack((np.random.normal(-1,0.2,(npts/2,2)),\
np.random.normal(1,0.2,(npts/2,2))))

groups = pyfof.friends_of_friends(data, 0.4)

colors = cm.rainbow(np.linspace(0, 1, len(groups)))
for g,c in zip(groups, colors):
plt.scatter(data[g,0], data[g,1], color=c, s=3)

plt.show()
```

![gaussian_example](https://raw.githubusercontent.com/simongibbons/pyfof/screenshots/img/gaussian_example.png)

### A more complicated example

![stream_example](https://raw.githubusercontent.com/simongibbons/pyfof/screenshots/img/stream_example.png)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfof-0.1.1.tar.gz (41.0 kB view details)

Uploaded Source

File details

Details for the file pyfof-0.1.1.tar.gz.

File metadata

  • Download URL: pyfof-0.1.1.tar.gz
  • Upload date:
  • Size: 41.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyfof-0.1.1.tar.gz
Algorithm Hash digest
SHA256 edf3d09fc4292487f4086fcb5bb3f213f0ced5c9884a70b2793c2980c42d1bae
MD5 718455b7038b6fb0a0e06ad742bc0713
BLAKE2b-256 9c7c83c3d259e9ff571eaaa5f3aeda56f8f4e82c60bf252a99eb3d43e62fe376

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page