Higra
Higra copied to clipboard
Hierarchical Graph Analysis
Migrate from pybing11 to nanobind https://github.com/wjakob/nanobind ? Note depends on xtensor-python migration https://github.com/xtensor-stack/xtensor/issues/2366
The function graph_4_adjacency_2_khalimsky always allocate a new graph which might be inefficient for certain use case where the graph could be reused https://github.com/higra/Higra/blob/3e0d566becadc86d9244ed2e67ffc35a041ba0ec/higra/image/graph_image.py#L30-L44
It could be interesting to add an interface for drawing trees with [ETE Toolkit](http://etetoolkit.org/docs/latest/index.html) especially for documentation purpose
It is not currently possible to account for region adjacency graphs in attribute_volume.
Pink graph io is time consuming compared to tree io (for the same image) : ```python ncalls tottime percall cumtime percall filename:lineno(function) 1 25.021 25.021 25.021 25.021 {built-in method higra.higram._read_graph_pink}...
Expose clustering algorithms in an sklearn compatible class. A priori it should extend [`BaseEstimator`](https://scikit-learn.org/stable/modules/generated/sklearn.base.BaseEstimator.html) and [ClusterMixin](https://scikit-learn.org/stable/modules/generated/sklearn.base.ClusterMixin.html)
The parameter ``deleted_nodes`` of ``reconstruct_leaf_data`` is modified if ``tree.category() == hg.TreeCategory.ComponentTree``. A copy of the parameter should be made to avoid this unexpected behavior.
Improve efficiency of ``labelsitation_seeded_watersed`` https://github.com/higra/Higra/blob/f85538d23b0e6bc5a47f3122a74bc28be74a8efe/include/higra/algo/watershed.hpp#L124 Idea 1: sure, shortcut first loop when num_vertices - num_seeds edges have been processed (edge case, num_seeds = 0) Idea 2: to test, replace relabelling...
Numpy 2.0 is incoming with some breaking changes. It might require some adaptations and third party c++ library update (pybind11, xtensor-python)