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:

macOS ARM64 is currently only supported through conda conda install higra -c conda-forge

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

higra-0.6.12-cp313-cp313-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.13Windows x86-64

higra-0.6.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

higra-0.6.12-cp313-cp313-macosx_10_13_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

higra-0.6.12-cp312-cp312-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.12Windows x86-64

higra-0.6.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

higra-0.6.12-cp312-cp312-macosx_10_13_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

higra-0.6.12-cp311-cp311-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.11Windows x86-64

higra-0.6.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

higra-0.6.12-cp311-cp311-macosx_10_9_x86_64.whl (9.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

higra-0.6.12-cp310-cp310-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.10Windows x86-64

higra-0.6.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

higra-0.6.12-cp310-cp310-macosx_10_9_x86_64.whl (9.1 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

higra-0.6.12-cp39-cp39-win_amd64.whl (6.0 MB view details)

Uploaded CPython 3.9Windows x86-64

higra-0.6.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

higra-0.6.12-cp39-cp39-macosx_10_9_x86_64.whl (9.1 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file higra-0.6.12-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: higra-0.6.12-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for higra-0.6.12-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 88e27a942fafaf659a40e68faaed88cd93237dfa3e9e09ecdbe0bc8c12723a7e
MD5 e37ec6bfeddbc4f4fa089cc93ba51033
BLAKE2b-256 aec12163599790e73f4f8c43ec2407c478e680d7d6f655de5fe64a66fd8af766

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26c8fc78388daab1d7406dc1f2997761801187234f104f51055b5ecbec886175
MD5 8a08a297b8509a25b34abc1268b7fd5c
BLAKE2b-256 5a0135e697aa1d87399a32943f549ef7d12ac87add9be79b98c674157dd2406b

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.12-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 80e6f4fe53895b41df6120afc0456f6f632d475743d8cf86b9ed9584895c343e
MD5 24b76924d20aeb19f1306efadec68fe9
BLAKE2b-256 5368d40f01d3ce5ad49abe989666a96e04a514133666fa7a0a239b8bbb2f0827

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: higra-0.6.12-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for higra-0.6.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4bc7bd2ab100fec7920d69754dafebde3e0f22538d09b1bede6d291f7cee1c27
MD5 8b4f5e8ad1c53f81010fa290aa30e5ec
BLAKE2b-256 02495462c4169b40302111bd8882b4059b862af55d43ed95afba6fbc34ca7fc7

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d1c6a83cc647e24bbb4e0735b5c4f21e0bc4d13d6f67867936198e9a50fd46c
MD5 1273f810c9e025973bacff2902cdeb59
BLAKE2b-256 2ba004a13c136d0a63cfe6648d0e097d3a48155d96c30ececda00f2f2da67c67

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.12-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b2bc4b9d684dfed94cd7d82959420b07a503a94426754f4b2b31497901434d29
MD5 f04a88353d5324211e105f373a067188
BLAKE2b-256 f25fbe53b0b6dbe3b3b9d20e3ba1b61950ec175f2a5a5532a6d058d774d90f2c

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: higra-0.6.12-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for higra-0.6.12-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0b126dca550b1f04f2a5e8dd994c81b83296bc433b0b2c03f7e98de6ce26dcc5
MD5 aeb7024326ac2c024198e388cbadcf3d
BLAKE2b-256 2d6e50c71662eb2b899b78157f9c1d978bf53caa7397583d386ec847c0b87b17

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eac8cb76f9491ccaee6d7dfdf81318baec94411a65554fa0c396e46707780eb8
MD5 02016672f54565438e9c15a4eb1c2b1c
BLAKE2b-256 190a6eec40f898d501108128ee8230281cddd77418b4ed56b75f932127ac1eee

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.12-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ffdfb904cb349bbb36a3b981b6bbcf2d6ab6fcc2fa75ecd03438a85a035f106a
MD5 d99e81dcaf0b86e1fe4f4bfae3ffc9e0
BLAKE2b-256 31aead1e9b31b6ca68fa8c7c441617234eba5ae8f732909788148c95e6da5064

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: higra-0.6.12-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for higra-0.6.12-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1cf5dc22849bd5a0a9e2a8fe16e96e8244987d980cf9ef42df6f79b1c339bd66
MD5 2f8d52fbc3afc6bcab85479dfc2ba950
BLAKE2b-256 9e428ec40a093ad883370591124d6eae161570cd7d710b0ae6d48effa519a14b

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d5e24d48d8da4f358b216ff4cad9f31018585de98b7794d22d42e516add454c4
MD5 8ef28bb63c56ecf9033f55db5a7c4373
BLAKE2b-256 1e51f871162dc2143fba169c6a0197d146c75a8b3d617c0b082c614ad9a297d6

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.12-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0a86f991abecd2a3732719e8abd1a78232f4bbed3a021587221c29829adffb9c
MD5 27555c7da6410e313303b7b36b4a5603
BLAKE2b-256 6493adb2a4adaea9048efda0afcce324bd123845bad13e8d9ecb28fe053e2e00

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: higra-0.6.12-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 6.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for higra-0.6.12-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 207066f6dfec4121ef1b159699dbc7f9a7f5dccf23aa56d6f24abedc4a351274
MD5 e0882cdc12554f85743626281fcb447b
BLAKE2b-256 d4f0602d6a7c6dc3708725df98ebe57a87aa2d25168bcacc63587185b4c24814

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5c101f79afe71ef59fe19b169812c4b542fd30c4ec70448df91e14f05e7c1457
MD5 8b42196bbc090ff627fadaa2b1518168
BLAKE2b-256 e2beb15d43e24c6b428362d984df2f7b5bef0ea6bfb1962ac82361603ea9a105

See more details on using hashes here.

File details

Details for the file higra-0.6.12-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.12-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 002e89127fb20523604ca7151942805ca824bbee0ff03f556da40ac7f4c7d6ec
MD5 3c941db184e123cc16ac589340688d83
BLAKE2b-256 96344d33fe5e8362ec29e797df959cb89d7e42c4f59238be8c26a73fb660da1d

See more details on using hashes here.

Supported by

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