Comments (3)
The meshes were generated in a batch fashion for the full volumes by running marching cubes to obtain an initial mesh for each object and then running quadric error-constrained mesh simplification using the implementation in the OpenMesh library. I also experimented with using this same approach for generating meshes interactively through the Python backend, which is why you see the stub there. It worked, but the mesh generation wasn't quite as instantaneous in ~100 megavoxel volumes as would be desirable. Unfortunately the code for doing the mesh generation hasn't been released as open source yet -- I'll look into releasing it, though.
from neuroglancer.
Cool - thanks! If you do open source the batch processing, that'd be awesome - otherwise, we'll put a script together for it. For our local use case, real-time meshing isn't as interesting.
from neuroglancer.
The mesh generation implementation has just been released. While it is set up to be used with the Python in-memory volume serving, you could easily reuse it for batch generation of meshes as well. For volumes too large to fit in memory/mesh on a single machine, you can break up the volume into a grid of blocks of e.g. 1000^3 voxels. Make sure to specify lock_boundary_vertices = True and to have the blocks overlap by 1 voxel in all dimensions to prevent gaps.
from neuroglancer.
Related Issues (20)
- Add option for cylinder annotation
- Show cross sections in 3-d when layout type is 3d HOT 1
- video tool fails with TypeError HOT 2
- Error When Visualizing Local N5 File in Neuroglancer HOT 3
- Use coordinates with spatial units HOT 1
- numpy <2.0 seems required
- There is no 3D model displayed after converting the nrrd format or tif images into the required data for neuroplanner HOT 2
- zarr v3 sharding HOT 8
- Jupyter Notebook Demo outdated and causes errors
- CORS error when view local data with Neuroglancer
- Setting volumeRendering to string value with Python API fails HOT 3
- Aung Thu Soe
- Fallback when reading sharded data from a host that does not support range requests HOT 2
- Editing Manual Annotations
- Zstd decompression fails due to unknown frame content size HOT 4
- Browser unit test failures on Mac HOT 1
- `/regexp` format to load multiple segments from precomputed skeleton HOT 1
- Filtering segment properties with negative numerical properties does not work
- How can I set the background color to white? HOT 1
- Viewer scale values are overwritten and huge if a state is created without dimensions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from neuroglancer.