Skip to main content

Hierarchical Graph Analysis

Project description

Higra: Hierarchical Graph Analysis

Build Status Build status codecov Documentation Status

Higra is a C++/Python library for efficient sparse graph analysis with a special focus on hierarchical methods. Some of the main features are:

  • efficient methods and data structures to handle the dual representations of hierarchical clustering: trees (dendrograms) and saliency maps (ultrametric distances);
  • hierarchical clusterings: quasi-flat zone hierarchy, hierarchical watersheds, agglomerative clustering (single-linkage, average-linkage, complete-linkage, exponential-linkage, Ward, or user provided linkage rule), constrained connectivity hierarchy;
  • component trees: min and max trees;
  • manipulate and explore hierarchies: simplification, accumulators, cluster extraction, various attributes (size, volume, dynamics, perimeter, compactness, moments, etc.), horizontal and non-horizontal cuts, hierarchies alignment;
  • optimization on hierarchies: optimal cuts, energy hierarchies;
  • algorithms on graphs: accumulators, vertices and clusters dissimilarities, region adjacency graphs, minimum spanning trees and forests, watershed cuts;
  • assessment: supervised assessment of graph clusterings and hierarchical clusterings;
  • image toolbox: special methods for grid graphs, tree of shapes, hierarchical clustering methods dedicated to image analysis, optimization of Mumford-Shah energy.

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 arrays in C++ and numpy arrays in Python).

Installation

The Python package can be installed with Pypi:

pip install higra

Supported systems:

  • Python 3.4, 3.5, 3.6, 3.7
  • Linux 64 bits, macOS, Windows 64 bits

Documentation

https://higra.readthedocs.io/

Demonstration and tutorials

A collection of demonstration notebooks is available in the documentation. Notebooks are stored in a dedicated repository Higra-Notebooks.

Code samples

This example demonstrates the construction of a single-linkage hierarchical clustering and its simplification by a cluster size criterion.

Example on clustering

This example demonstrates the use of hierarchical clustering for image filtering.

Example on image filtering

Developing C++ extensions

While Higra provides many vectorized operators to implement algorithms efficiently in Python, it is possible that some operations cannot be done efficiently in Python. In such case, the Higra-cppextension-cookiecutter enables to easily setup and generate c++ extension using Higra with Python bindings.

License and how-to cite

The license Cecill-B is fully compatible with BSD-like licenses (BSD, X11, MIT) with an attribution requirement.

The recommended way to give attribution is by citing the following presentation article:

B. Perret, G. Chierchia, J. Cousty, S.J. F. Guimarães, Y. Kenmochi, L. Najman, Higra: Hierarchical Graph Analysis, SoftwareX, Volume 10, 2019. DOI: 10.1016/j.softx.2019.100335

Bibtex
@article{PCCGKN:softwarex2019,
     title = "Higra: Hierarchical Graph Analysis",
     journal = "SoftwareX",
     volume = "10",
     pages = "1--6",
     year = "2019",
     issn = "2352-7110",
     doi = "10.1016/j.softx.2019.100335",
     author = "B. Perret and G. Chierchia and J. Cousty and S.J. F. Guimar\~{a}es and Y. Kenmochi and L. Najman",
 }

Third-party libraries

Higra bundles several third-party libraries (inside the lib folder):

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

higra-0.4.5-cp37-cp37m-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.7mWindows x86-64

higra-0.4.5-cp37-cp37m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.7m

higra-0.4.5-cp37-cp37m-macosx_10_6_intel.whl (6.8 MB view details)

Uploaded CPython 3.7mmacOS 10.6+ Intel (x86-64, i386)

higra-0.4.5-cp36-cp36m-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.6mWindows x86-64

higra-0.4.5-cp36-cp36m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.6m

higra-0.4.5-cp36-cp36m-macosx_10_6_intel.whl (6.8 MB view details)

Uploaded CPython 3.6mmacOS 10.6+ Intel (x86-64, i386)

higra-0.4.5-cp35-cp35m-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.5mWindows x86-64

higra-0.4.5-cp35-cp35m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.5m

higra-0.4.5-cp35-cp35m-macosx_10_6_intel.whl (6.8 MB view details)

Uploaded CPython 3.5mmacOS 10.6+ Intel (x86-64, i386)

higra-0.4.5-cp34-cp34m-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.4mWindows x86-64

higra-0.4.5-cp34-cp34m-manylinux1_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.4m

higra-0.4.5-cp34-cp34m-macosx_10_6_intel.whl (6.8 MB view details)

Uploaded CPython 3.4mmacOS 10.6+ Intel (x86-64, i386)

File details

Details for the file higra-0.4.5-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: higra-0.4.5-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.5

File hashes

Hashes for higra-0.4.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 baae8d2c696a793498584105a57591be1be6915ea7951cb799d010333b732deb
MD5 c83ac7a464e6e3d42435e11e5de2f713
BLAKE2b-256 8572b0e73ec2c952d0908fc52b7e43dfd3a98682fd21455d570502a57df0593e

See more details on using hashes here.

File details

Details for the file higra-0.4.5-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: higra-0.4.5-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for higra-0.4.5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 54adac6d268117c82c27d0f161661471d0015b583893dd988d29b6c529ad1352
MD5 a4695cb423d31d06708947a06bd26509
BLAKE2b-256 64c3e8b6526177aaaa22dd7e606d41ff87028ff119900765feb16767b8cfc29f

See more details on using hashes here.

File details

Details for the file higra-0.4.5-cp37-cp37m-macosx_10_6_intel.whl.

File metadata

  • Download URL: higra-0.4.5-cp37-cp37m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.7m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for higra-0.4.5-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 1823c8e1a221d3fa94d17a2641abf3e70a0c3e77674e0f60babbab4f1cc46dd8
MD5 819d12a802a3cfd926ac29de9105efac
BLAKE2b-256 e64e7d5177ce64587ee80ed0d741f05c19372c297f938b76d276c0969a4a94e0

See more details on using hashes here.

File details

Details for the file higra-0.4.5-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: higra-0.4.5-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.5

File hashes

Hashes for higra-0.4.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 8a20d813fd7dbae9513a60ebaba35df536bbaf3fbe3eeed921b8f55d1f3d8c1e
MD5 96a0b05117f5be6acedcc210b13c5710
BLAKE2b-256 e67a0d7b33909678a45724fe40c182d030c078225f7fda60111fad7af3f4fd88

See more details on using hashes here.

File details

Details for the file higra-0.4.5-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: higra-0.4.5-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for higra-0.4.5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0842923c1efba9636d885114b3b25d3bbbb0fa4eeac2540d3fa67d514c628f0c
MD5 17592819c1a348f7f90712d6e9d3041b
BLAKE2b-256 c3f04c29adfd6526621a5bec41874ef1185b147b2d0f1f63f6cfc54f55f22bc1

See more details on using hashes here.

File details

Details for the file higra-0.4.5-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

  • Download URL: higra-0.4.5-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.6m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for higra-0.4.5-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 65a78c4307bd0aaebff72244d3672f831f6a4dbf6c439c9206946e08aee1bfa9
MD5 dc34690e7303448eaf16cffe6664f365
BLAKE2b-256 b400fde424b09b88be17f243402c583853b13f72ec1899043f370801c12bbb43

See more details on using hashes here.

File details

Details for the file higra-0.4.5-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: higra-0.4.5-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.5

File hashes

Hashes for higra-0.4.5-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 97a7f47495487973e17e677da6cc9b5b51110df231d09a82694505e342f605e2
MD5 05839b3f8ad728d43db41d7ead566498
BLAKE2b-256 15a629c4226633d8db86e8883de1d314c4142b1c562c9b467d799bd2e062d149

See more details on using hashes here.

File details

Details for the file higra-0.4.5-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: higra-0.4.5-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for higra-0.4.5-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3b22b0e395af0967031bb59a0a40eb165994f8db9558c21d3d66fe82060b6837
MD5 7eafc4de36b0c5011a34cf0c81cad565
BLAKE2b-256 247e810db885cf6b51f18693e28d0231198786a42ea1dbe24eaf0e148fbf42c9

See more details on using hashes here.

File details

Details for the file higra-0.4.5-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

  • Download URL: higra-0.4.5-cp35-cp35m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.5m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for higra-0.4.5-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 1d26daa05535098ed92ea91e025007cc9e8ac0bf34c3469a7ac4b86d40a03960
MD5 3678adefe7547a874e71f9639ff62898
BLAKE2b-256 24814dbd153e104c3c15184e4fb017f7b5267290b1afc21bd9f09149c862afb5

See more details on using hashes here.

File details

Details for the file higra-0.4.5-cp34-cp34m-win_amd64.whl.

File metadata

  • Download URL: higra-0.4.5-cp34-cp34m-win_amd64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.4m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.5

File hashes

Hashes for higra-0.4.5-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 6ecfcc0e33c8b9f7ee4d0a674eb1d59ac5042e98b8fb910982b04ec1e1c4e6bb
MD5 97df7d705e4a2f303ee2d0f9476d2a26
BLAKE2b-256 73ec8add79c2d7ba360d027cd8629eabd2d4bbd2ded9f3037ffc1aeaaf18d53a

See more details on using hashes here.

File details

Details for the file higra-0.4.5-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: higra-0.4.5-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for higra-0.4.5-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 26d474155122e85f1c5cdeacc00c48e4dfc259b5aad5a5d70ce266901913b638
MD5 01580e79e0fd1d4d8c3df53c0a5f32bf
BLAKE2b-256 84dad885d1fe0bb55d7f28d70d355eb5820a502e8e37f8787f8045eb386f0a35

See more details on using hashes here.

File details

Details for the file higra-0.4.5-cp34-cp34m-macosx_10_6_intel.whl.

File metadata

  • Download URL: higra-0.4.5-cp34-cp34m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.4m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for higra-0.4.5-cp34-cp34m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 080542c6e06066f140877fb97ecbc7c86538504211aabb1367e484584fdde6a3
MD5 0a9cc3167d9640980d3f00c40d10250a
BLAKE2b-256 be8a06c5d5ef6444eae73ee625b9f67bb0a96a946a94c2d1381e541b57c053ae

See more details on using hashes here.

Supported by

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