Skip to content

Expose alpha-shape attachment info via with_attachment kwarg#16

Open
anigmetov wants to merge 1 commit intomrzv:masterfrom
anigmetov:an/attachement_from_cgal
Open

Expose alpha-shape attachment info via with_attachment kwarg#16
anigmetov wants to merge 1 commit intomrzv:masterfrom
anigmetov:an/attachement_from_cgal

Conversation

@anigmetov
Copy link
Copy Markdown

Add an opt-in form of fill_alpha_shapes (and weighted/periodic stubs) that, in addition to each simplex sigma and its alpha value, returns the vertex tuple of a Gabriel coface tau whose own squared circumradius equals alpha. For Gabriel sigma, tau == sigma; otherwise tau is found by walking sigma's cofaces (preferring lower-dim Gabriel ancestors) and matching alpha at the CGAL FT level.

This is the data needed downstream to express alpha-filtration values as smooth, differentiable PyTorch operations on the input point cloud: the user computes circumradius^2(tau.vertices) in PyTorch and that yields alpha(sigma) with correct gradients.

C++ entry points are added alongside the existing ones (no contract change for current C++ users). The Python bindings expose the new behavior via a default-False with_attachment kwarg; weighted and periodic variants raise NotImplementedError when the flag is set.

Add an opt-in form of fill_alpha_shapes (and weighted/periodic stubs)
that, in addition to each simplex sigma and its alpha value, returns
the vertex tuple of a Gabriel coface tau whose own squared circumradius
equals alpha. For Gabriel sigma, tau == sigma; otherwise tau is found
by walking sigma's cofaces (preferring lower-dim Gabriel ancestors) and
matching alpha at the CGAL FT level.

This is the data needed downstream to express alpha-filtration values
as smooth, differentiable PyTorch operations on the input point cloud:
the user computes circumradius^2(tau.vertices) in PyTorch and that
yields alpha(sigma) with correct gradients.

C++ entry points are added alongside the existing ones (no contract
change for current C++ users). The Python bindings expose the new
behavior via a default-False with_attachment kwarg; weighted and
periodic variants raise NotImplementedError when the flag is set.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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