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

Some implementations of nppas.subdivide_* produce empty meshes when processing gastruloid #57

Open
haesleinhuepf opened this issue Feb 18, 2023 · 4 comments · May be fixed by #59
Open
Assignees
Labels
bug Something isn't working

Comments

@haesleinhuepf
Copy link
Owner

haesleinhuepf commented Feb 18, 2023

... not sure why.

To reproduce:

import napari_process_points_and_surfaces as nppas
gastruloid = nppas.gastruloid()

subdivided_gastruloid = nppas.subdivide_loop_vedo(gastruloid, number_of_iterations=1)
subdivided_gastruloid 

image

Workaround 1: Use nppas.subdivide_adaptive()

Workarounnd 2: install open3d and use this:

import napari_process_points_and_surfaces as nppas
gastruloid = nppas.gastruloid()

subdivided_gastruloid = nppas.subdivide_loop(gastruloid, number_of_iterations=1)
nppas.SurfaceTuple(subdivided_gastruloid)

image

@haesleinhuepf haesleinhuepf added the bug Something isn't working label Feb 18, 2023
@haesleinhuepf
Copy link
Owner Author

nppas.subdivide_linear and subdivide_butterfly appear to have the same issue.

nppas.subdivide_adaptive appears to work though.

@haesleinhuepf haesleinhuepf changed the title subdivide_loop_vedo produces empty mesh Some implementations of nppas.subdivide_* produce empty meshes when processing gastruloid Feb 18, 2023
haesleinhuepf added a commit that referenced this issue Feb 19, 2023
@haesleinhuepf
Copy link
Owner Author

haesleinhuepf commented Feb 20, 2023

Hey Johannes @jo-mueller ,

would you mind taking care of this issue? Also see the related PR-draft. Feel free to use its branch to test things.

Thanks!

@jo-mueller
Copy link
Collaborator

Hi @haesleinhuepf ,

I can have a look. Judging from what @marcomusy suggested here, would it be an option to implement the vedo isosurface method in nppas as an option to marching cubes (as opposed to augmenting marching cubes with multiple failsafes)?

Nonetheless, these failsafes should ultimately be available, too.

@haesleinhuepf
Copy link
Owner Author

implement the vedo isosurface method in nppas as an option to marching cubes

Yes, let's do this step by step. If nppas has a isosurface function, we can play with it. If I understand it right, it is an alternative to marching cubes, no? If it does its job well, we could use it, recommend it in the documentation and then deprecate the partially broken marching cubes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants