The napari hub is transitioning to a community-run implementation due to launch in June 2025.
Since October 1, 2024, this version is no longer actively maintained and will not be updated. New plugins and plugin updates will continue to be listed.

napari-process-points-and-surfaces

napari-process-points-and-surfaces

Process and analyze surfaces using open3d and vedo in napari

License PyPI Python Version tests codecov Development Status napari hub DOI

Process and analyze surfaces using vedo in napari.

img.png 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:

img.png

For performing quantitative measurements of surface in Python scripts, see the demo notebook. There you also learn how this screenshot is made:

img.png

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.

img_1.png

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.

img.png

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)

img.png

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.

img.png

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

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.

Version:

  • 0.5.0

Last updated:

  • 09 April 2023

First released:

  • 05 February 2022

License:

Supported data:

  • Information not submitted

Plugin type:

GitHub activity:

  • Stars: 22
  • Forks: 4
  • Issues + PRs: 23

Python versions supported:

Operating system:

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)