Skip to main content

Process and analyze surfaces using open3d and vedo in napari

Project description

napari-process-points-and-surfaces (nppas)

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

File details

Details for the file napari-process-points-and-surfaces-0.5.0.tar.gz.

File metadata

File hashes

Hashes for napari-process-points-and-surfaces-0.5.0.tar.gz
Algorithm Hash digest
SHA256 ac0fc58002e9c5a3c8ea11364bf084c1cd7549c02fd62bbdb54d6b8262801da6
MD5 e47f860b90753f512ea3881c299ce48a
BLAKE2b-256 6d1c39bc6845d530883bf081cbfb7a17b785245b4c326130ef2004dd8791bdee

See more details on using hashes here.

File details

Details for the file napari_process_points_and_surfaces-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for napari_process_points_and_surfaces-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4876cf0697656d28a6d713d9201f3e90578f222d781dad62ecf765976724ce6a
MD5 959e8b5d04233ca5f4249e00c8dd5fb1
BLAKE2b-256 e65f160d8e33918c389e8d4cdfdb7bd8a91a8565bbd7b77c46c3ed84de7430ed

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page