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:

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.6.13-cp314-cp314t-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.14tWindows x86-64

higra-0.6.13-cp314-cp314-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.14Windows x86-64

higra-0.6.13-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

higra-0.6.13-cp314-cp314-macosx_11_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

higra-0.6.13-cp314-cp314-macosx_10_15_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

higra-0.6.13-cp313-cp313-win_amd64.whl (5.8 MB view details)

Uploaded CPython 3.13Windows x86-64

higra-0.6.13-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

higra-0.6.13-cp313-cp313-macosx_11_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

higra-0.6.13-cp313-cp313-macosx_10_13_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

higra-0.6.13-cp312-cp312-win_amd64.whl (5.8 MB view details)

Uploaded CPython 3.12Windows x86-64

higra-0.6.13-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

higra-0.6.13-cp312-cp312-macosx_11_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

higra-0.6.13-cp312-cp312-macosx_10_13_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

higra-0.6.13-cp311-cp311-win_amd64.whl (5.8 MB view details)

Uploaded CPython 3.11Windows x86-64

higra-0.6.13-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

higra-0.6.13-cp311-cp311-macosx_11_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

higra-0.6.13-cp311-cp311-macosx_10_9_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

higra-0.6.13-cp310-cp310-win_amd64.whl (5.8 MB view details)

Uploaded CPython 3.10Windows x86-64

higra-0.6.13-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

higra-0.6.13-cp310-cp310-macosx_11_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

higra-0.6.13-cp310-cp310-macosx_10_9_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file higra-0.6.13-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: higra-0.6.13-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 6.1 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for higra-0.6.13-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 d653d140730c3da53a0d3bbdfbd1c8e2fa567eaba3b6c66bedcb6563da977ce6
MD5 378730b7d14a187dcc92fbd1b5bc3f03
BLAKE2b-256 4110bd607a9a7d1d9087d7bb8571abdca04926d01ea9cf1ae6592c3429c585c5

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: higra-0.6.13-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for higra-0.6.13-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e69010b737ee669cdbe3ba1a99acb88abb51e3f10bae8f13d40948151ad803a9
MD5 9dc94dc6786ea8771624e5e1612bdab9
BLAKE2b-256 db5514b2952b1f95a583114ac1afb4a2aca2c7d3d6bc8dd665561e1e5ce76b54

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.13-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 32bf7b4f4c09b93ddd6a4d04fcdd386cd99f252fc7659894fd76d26763be9d2b
MD5 8b3ad9263d4375003a0da35696f8efcb
BLAKE2b-256 50f40b48f34c2460d3c610dc949859269a96703857d0fc1bb80e7cd0489f6e25

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for higra-0.6.13-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 57f7cc4edc40ea303fcd5fbfa69eb7f1f6f1b3c809e1aead6cec7452bd9c4db4
MD5 4a90255afc509625b8fe6dbf8d490c6c
BLAKE2b-256 564008894ca6f158ee99ff73ba3462896f800fa1e9a6b52f42e43744385043f9

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.13-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5263825befa6c6fe44a31fb833556dad43705458fc84b5a10a1414085105c4a8
MD5 1c90febfd26c294a1dde9018bf1e41a3
BLAKE2b-256 b3fb38055e1d344194a2e7be424df01095ee1a6c35954fbef9ab43e18192ed5d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: higra-0.6.13-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 5.8 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for higra-0.6.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 493235a159c82c917abc17281cf4275dcb57fb1b213b3dbfdc1f81873c64e1e2
MD5 ec25e6013f29a02958aa849509a04bba
BLAKE2b-256 e6b2d1f2e3ed0870c5bc6b127a2ab917af0dd1233700d2503c67f4173f778725

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.13-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b38257cd3f922aaaced79563543df64e732239942161231867ea9398f2e9161a
MD5 88559f0df3b0821dd110ae9118cb3698
BLAKE2b-256 42394af36b2460a080b4301fd9ca6c7fa8b97c96030a14bf1c928a2c07cd603f

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for higra-0.6.13-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ced8e0c40ef5d89e2a8abea60409a2e7cf67477302795a769121e67f599c9b75
MD5 90a92b9e961d667a48a3a078a95018b5
BLAKE2b-256 ea24d7e691ad846106c1730924f49597c824360a58ed510440a283d0552e3a2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for higra-0.6.13-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 df0b605729012fb2edebb2fd7eed3810c9657d607bac2bd3cf1d6b5723962942
MD5 0f44a6740c70cb3fc5dfc5e77e843df5
BLAKE2b-256 c90f09515a1b6fdef5235b0ab830efa0d7dac78a4b4fccd2088cd7d4eea96f24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: higra-0.6.13-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 5.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for higra-0.6.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 71ecbf39621acc07b42c9468da4105946cee4016425b5f1edc82fc34ac0a2957
MD5 498f90aacb00344549245e213f8b1fdb
BLAKE2b-256 610e82904a866a5e430622990cb9d344e6944fd65ab79cb310292a09e0ef7d23

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.13-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bc560952fe9a6cec4482da3163e94592f95c93045a124176541d145c98f28a2d
MD5 32c4a75ae4b730c100487b8a4beb15b9
BLAKE2b-256 826a27e323fe9186c74e3e9949629d04bceba76c3b99dd67ea9b3aaef66b5f7e

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for higra-0.6.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fecd196c551ac736bed53cf69bb19b9052d22122a36e297872fafca86b45a26f
MD5 c033e1b1e44456d1ef54f4704cab3930
BLAKE2b-256 3e90fb4e440d37c4a03d3bce3522d715f87c436c9ffd6c3c861b357163cd46e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for higra-0.6.13-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 aa1b6318672ebb87415ba0389059243fde0453a2bfb7d38dfe5489f429a76a9c
MD5 1f8e85bc5884b663ab3066f928a5a5c5
BLAKE2b-256 3a11ac41629d93a10a8d79faf0cec961a785536f75393396f809347d9b36bc46

See more details on using hashes here.

File details

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

File metadata

  • Download URL: higra-0.6.13-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 5.8 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for higra-0.6.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2ebb118320ffebff154096071ec3108d39550a02ee67eae4dcbb6818be97aaf5
MD5 9b89d40ee2112639090e887796da5bbd
BLAKE2b-256 1cb5351e53c7702a889c0f1aeac08a9c52b2345309a86a1094e04cbb9daf4545

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.13-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3c4e91e22f15c959fad263770273d56be5ce2b226f939c8a84b49a1b0fb7e54f
MD5 2f0958c91b838ed299b1a0ee18a42e15
BLAKE2b-256 26abc583d3b19d41ad93ed1fb7b2a99874c9e723be267c7d96c9ca94d895fbaf

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for higra-0.6.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa01fca4391962bde428e7e103ad935b5db1294421f1d9d32b06f96189795eb8
MD5 f6f6daf5f70426d9bf7fa81d4d0c49c1
BLAKE2b-256 4a2c04eb756aa65c12a21fa714daa5d0d404105990dae7d0f319c2c3dc3cff71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for higra-0.6.13-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4a0751cdc282adbbf5990f85617a1c5d29dc8ae2f54daba05656481021be1d0c
MD5 3d6def83cdb39cda8104e71b2eeaf638
BLAKE2b-256 4a51470d930e33b38892c98c4317aa455c2d50ff64229b5f0f0f5b9288733493

See more details on using hashes here.

File details

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

File metadata

  • Download URL: higra-0.6.13-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 5.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for higra-0.6.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 03b76ebf103dfaf83de69ebe34f97fb62dbbecd190f06ed1a389c846d0478105
MD5 fc7628ce0c26e72ac1e96f7e432790d2
BLAKE2b-256 76ff192df180ed63cfec451098128d1745011416b17ecb72510aed7760f4be8a

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for higra-0.6.13-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cc0b812dbb18a809b4a424d06afa48e15a58be673944141b7e28e845c55e32b6
MD5 72615734cb9292e1eb1876778659619c
BLAKE2b-256 53b0ecb7bb0943d2246e43d2b40b5810002fe6c9d32acf31a83dc59b973df7bd

See more details on using hashes here.

File details

Details for the file higra-0.6.13-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for higra-0.6.13-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48177fb5c007659814a2de007025f50304828f3a11875d2c63b97c71b945e85f
MD5 84819a4127cbc74849ec331d8679f26b
BLAKE2b-256 75b28e9317a0ce7aa2fd7d1fea304c0f4a818215e0279f10b6fef1a78fc74199

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for higra-0.6.13-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8a84f4fd09f044a7a49e00e964f8eee619562b3c7310245b7f133190ac7a3604
MD5 54a4b3ac825e9701a8f3dc5345a883e7
BLAKE2b-256 6e6a37b6726e1c6da4ae0ea1b29f27fd826f09d8383492fa33bc01a8cfa1e6a0

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