napari-process-points-and-surfaces
Process and analyze surfaces using open3d and vedo in napari
Process and analyze surfaces using vedo in napari.
The nppas gastruloid example is derived from AV Luque and JV Veenvliet (2023) which is licensed CC-BY and can be downloaded from here: https://zenodo.org/record/7603081
Usage¶
You find menus for surface generation, smoothing and analysis in the menu Tools > Surfaces
and Tools > Points
.
For detailed explanation of the underlying algorithms, please refer to the vedo documentation.
For processing meshes in Python scripts, see the demo notebook. There you also learn how this screenshot is made:
For performing quantitative measurements of surface in Python scripts, see the demo notebook. There you also learn how this screenshot is made:
Surface measurements and annotations¶
Using the menu Tools > Measurement tables > Surface quality table (vedo, nppas)
you can derive quantiative measurements of
the vertices in a given surface layer.
To differentiate regions when analyzing those measurements it is recommended to use the menu Tools > Surfaces > Annotate surface manually (nppas)
after measurements have been made. This tool allows you to draw annotation label values on the surface.
It is recommended to do activate a colorful colormap such as hsv
before starting to draw annotations.
Furthermore, set the maximum of the contrast limit range to the number of regions you want to annotate + 1.
Annotations can be drawn as freehand lines and circles.
After measurements and annotations were done, you can save the annotation in the same measurement table using the menu
Tools > Measurement tables > Surface quality/annotation to table (nppas)
For classifying surface vertices using machine learning, please refer to the napari APOC documentation.
Measurement visualization¶
To visualize measurements on the surface, just double-click on the table column headers.
Installation¶
You can install napari-process-points-and-surfaces
via mamba/conda and pip:
mamba install vedo vtk libnetcdf=4.7.4 -c conda-forge
pip install napari-process-points-and-surfaces
Troubleshooting: Open3d installation¶
Since version 0.4.0, nppas
does no longer depend on open3d.
Some deprecated functions still use Open3d though.
Follow the installation instructions in the open3d documentation to install it and keep using those functions.
Also consider updating code and no longer using these deprecated functions.
See release notes for details.
See also¶
There are other napari plugins with similar / overlapping functionality
- morphometrics
- napari-accelerated-pixel-and-object-classification
- napari-pymeshlab
- napari-pyclesperanto-assistant
- napari-stress
And there is software for doing similar things:
Contributing¶
Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.
License¶
Distributed under the terms of the BSD-3 license, "napari-process-points-and-surfaces" is free and open source software
Acknowledgements¶
Some code snippets and example data were taken from the vedo and open3d repositories and documentation. See thirdparty licenses for licensing details. The Standford Bunny example dataset has been taken from The Stanford 3D Scanning Repository. The nppas gastruloid example is derived from AV Luque and JV Veenvliet (2023) which is licensed CC-BY and can be downloaded from here: https://zenodo.org/record/7603081
Issues¶
If you encounter any problems, please create a thread on image.sc along with a detailed description and tag @haesleinhuepf.
Supported data:
- Information not submitted
Plugin type:
GitHub activity:
- Stars: 23
- Forks: 4
- Issues + PRs: 23
GitHub activity:
- Stars: 23
- Forks: 4
- Issues + PRs: 23
Requirements:
- napari-plugin-engine (>=0.1.4)
- numpy
- napari
- napari-tools-menu (>=0.1.14)
- napari-time-slicer (>=0.4.5)
- napari-workflows (>=0.2.3)
- vedo (>=2022.4.1)
- napari-skimage-regionprops (>=0.5.5)
- pandas
- imageio (!=2.22.1)
- stackview (>=0.5.2)