Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add metrics for meshes #11

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft

Add metrics for meshes #11

wants to merge 4 commits into from

Conversation

luisfpereira
Copy link
Owner

Inspired by #9, this PR brings in the first metrics for meshes (very preliminary design!).

Why? tldr: modularization!

An important step of scalable FMaps (Magnet, 2023) consists of approximating the Laplace-Beltrami eigenbasis.

An important step for approximating the Laplace-Beltrami eigenbasis is the construction of local basis functions (Nasikun, 2018).

An important step for the construction of local basis functions is the computation of distances between sampling points and the original mesh.

There's multiple ways of computing distances given a mesh.
I'm providing a common interface to compute those distances.
For now, I've implemented the EuclideanMetric and the SingleSourceDijkstra. Variants of the second are low hanging fruits. (Magnet, 2023) implements a variant of SingleSourceDijkstra.

I hope this thread helps understanding a bit better the modularization steps I've started taking on scalable refactoring (51f6f50).

Of course I'm justifying this PR with scalable because it is the implementation we're pursuing at the moment requiring this, but needlessly to say these metrics will find a lot of applicability (e.g. the distance-based samplers we're discussing yesterday).

Other goals this PR will lead to: implementation of (Nasikun, 2018).

Still a draft because I need to think a bit more about the design and add other metrics.
Looking for your feedback @GiLonga, @gviga.

self.cutoff = cutoff

super().__init__(shape)
self._graph = to_nx_edge_graph(shape)
Copy link
Owner Author

@luisfpereira luisfpereira Dec 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

edge_graph instead? maybe not, to keep code within class flexible.

@gviga gviga marked this pull request as ready for review December 26, 2024 16:13
@gviga gviga marked this pull request as draft December 26, 2024 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant