Hierarchical Graph Analysis
Project description
# Higra: Hierarchical Graph Analysis
[![Build Status](https://travis-ci.org/PerretB/Higra.svg?branch=master)](https://travis-ci.org/PerretB/Higra) [![Build status](https://ci.appveyor.com/api/projects/status/5op4qm2cddm7iuj2/branch/master?svg=true)](https://ci.appveyor.com/project/PerretB/higra/branch/master) [![codecov](https://codecov.io/gh/PerretB/Higra/branch/master/graph/badge.svg)](https://codecov.io/gh/PerretB/Higra) [![Documentation Status](https://readthedocs.org/projects/higra/badge/?version=latest)](https://higra.readthedocs.io/en/latest/?badge=latest)
Higra is a C++/Python library for efficient graph analysis with a special focus on hierarchical methods. Some of the main features are:
efficient methods and data structures to handle the dual representation of hierarchical clustering: dendrograms (trees) and ultra-metric distances (saliency maps);
hierarchical clustering algorithms: agglomerative clustering (single-linkage, average-linkage, complete-linkage, or custom rule), hierarchical watersheds;
various algorithms to manipulate and explore hierarchical clustering: accumulators, filtering/simplification, cluster extraction, (optimal) partitioning , alignment;
algorithms on graphs: accumulators, computation of dissimilarities, partionning;
assessment: supervised assessment of graph clustering and hierarchical clustering;
image toolbox: special methods for grid graphs, hierarchical clustering methods dedicated to image analysis.
Higra is thought for modularity, performance and seamless integration with classical data analysis pipelines. The data structures (graphs and trees) are decoupled from data (vertex and edge weights ) which are simply arrays ([xtensor](https://github.com/QuantStack/xtensor) arrays in C++ and [numpy](https://github.com/numpy/numpy) arrays in Python).
## Installation
### Python frontend
The Python frontend can be installed with Pypi:
`bash pip install higra `
Supported systems:
Python 3.4, 3.5, 3.6, 3.7
Linux 64 bits, macOS, Windows 64 bits
### C++ backend
The C++ backend is an header only library. No facilities for system wide installation is currently provided: just copy/past where you need it!
## Build
### With cmake
Requires:
cmake
Python + Numpy
Boost Test (optional for unit testing of the C++ backend)
Google Benchmark (optional for benchmarking of the C++ backend)
Commands:
`bash git clone https://git.esiee.fr/perretb/Higra.git mkdir build cd build cmake ../Higra/ make `
Sometimes, cmake gets confused when several Python versions are installed on the system. You can specify which version to use with -DPYTHON_EXECUTABLE:FILEPATH=/PATH-TO-PYTHON/python, e.g.
` cmake -DPYTHON_EXECUTABLE:FILEPATH=/anaconda3/bin/python ../Higra/ `
The python package is build in the directory
` build/python/ `
### With setup.py
The setup.py is a thin wrapper around the cmake script to provide compatibility with python setuptools.
` pip install cmake python setup.py bdist_wheel cd dist pip install higra*.whl `
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for higra-0.1.6-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e28a20cfc2c9e44f00df4e1b7faae0cabe98cf117ebe8522ad1bd728d36968c |
|
MD5 | 866ea732fee770bed7bd67d67c5ad26c |
|
BLAKE2b-256 | c1797a118a8d2f9c53ca2dd85debc9d1ff85b435012ca65e63d771c3f6df26f2 |
Hashes for higra-0.1.6-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2019a52b928b4cdd1f17cbd29bc3c658ed84544c233cfbdcfdecce94ea657bf |
|
MD5 | 1bbbc6233e82e21b7c63288c2dbeec38 |
|
BLAKE2b-256 | 7d032fc538029d32f417b8ab3fcc2962b003483ec50a68db615b400acf7696ef |
Hashes for higra-0.1.6-cp37-cp37m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 690f2e70e76c06983732d2af385bb25dc36ab96c18541a03bd3a868a2afa8899 |
|
MD5 | 1f425a43b39013088872221266382d7d |
|
BLAKE2b-256 | 9a81301223157e654af123e663bf90604ee4a17ad53db5b0e1225f219032c87c |
Hashes for higra-0.1.6-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b87b1d255f7b1b4ea2cfc4e466d737f7c4f51f73674d97fb8c60e15d3cb0650 |
|
MD5 | c3d6030ec847c0bb88fd902c8039b7a3 |
|
BLAKE2b-256 | 89e9b1b2df295113503e7a063edd1c5bc8acc094b81d8fa3f8ea2bbfb3f25925 |
Hashes for higra-0.1.6-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7f3e649ef92976cf75dc272a20ebac8e3e7e4d83ab7cce78dec37e522670fa8 |
|
MD5 | 66182149a93abd787160d95e5bc6e613 |
|
BLAKE2b-256 | 60ae0b1bc478ebb9a206754df973b6ad5f091f66a18e730f6dda461f8d58a661 |
Hashes for higra-0.1.6-cp36-cp36m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a4a33bbfb3df6a8de9c2adf340244c13c6688bf6192a2cb1f2c170295f68eb5 |
|
MD5 | d0345aa5a1d718b6edb35a2098db4fa4 |
|
BLAKE2b-256 | f6da9e8d1253b28430e7037d5e1d7b2a28c3ad6ec5be7a2760e12c3302d7675f |
Hashes for higra-0.1.6-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b0b4eca0a320e161614cc22ecdeb1e874beea12af4c00bd89cc00a74a8156fb |
|
MD5 | e7109761bc3ae0fd542d1bb2d89c9ef4 |
|
BLAKE2b-256 | 2a29629125c35d2e283da14bd99bbb423baef7c03397e0f53711542cfb17b129 |
Hashes for higra-0.1.6-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91cccca4d5cf22d9e967607a9c4b28b51d9e3b9351be3260ab6952d1151c9119 |
|
MD5 | f418dd1d8cddb9fb35a095617a1c9855 |
|
BLAKE2b-256 | e043970d40337998439079daa1fd28c250146e74c9ecdba1e4f2a4d392b43527 |
Hashes for higra-0.1.6-cp35-cp35m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77053ca676b2d44c6f5209463f5263fba11e77ec0cf082f9d6317235755665e4 |
|
MD5 | 49ccf90bfa0072fee9dcca18edd389a5 |
|
BLAKE2b-256 | 60e727556ad551181ccab0a64f52fa9a183383eb768e4ac7ae982e97514cc477 |
Hashes for higra-0.1.6-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 506dc0085edda22efe1f783246c57969687371cf6f36ec0da4cb807680d627ef |
|
MD5 | 52abb9a41d25525facd63d61b77ff6ff |
|
BLAKE2b-256 | 4b23e7caeeb13b338042e5d4b156ff150ab2dde66049a6667be4c76d302ea859 |
Hashes for higra-0.1.6-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d126ab3e7a4ef9ca991301060c205431468d6a3218224d263203c6f160093ac |
|
MD5 | 272f0120f5a786c15fec36d0cb4be5a5 |
|
BLAKE2b-256 | 960fd6a703ad7e5c15c0511d3c39b444c6519a02e2712f1a67d709ad439d8e29 |
Hashes for higra-0.1.6-cp34-cp34m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 290792e84935c6b3ced3ade78e8d1377f5b54abba2b13f2bc6689af9aa87b673 |
|
MD5 | 43d20f38fd3797341523420c37e7b2bf |
|
BLAKE2b-256 | d04fa26f1657e896d86236d38a39fff4f396627fcee72a7b50913e00b10a7331 |