Visualisation des surfaces#

Dans ce notebook, nous créons un maillage de surface à partir d’un ensemble de données 3D d’un Gastruloïde. Les données d’exemple utilisées sont dérivées de AV Luque et JV Veenvliet (2023) sous licence CC-BY. Voir creating_surfaces pour savoir comment créer la surface à partir de données d’imagerie brutes.

Nous visualisons la surface en utilisant napari-process-points-and-surfaces, vedo et napari.

import napari_process_points_and_surfaces as nppas

import vedo
import napari
surface = nppas.gastruloid()
The nppas gastruloid example is derived from AV Luque and JV Veenvliet (2023) which is licensed CC-BY (https://creativecommons.org/licenses/by/4.0/legalcode) and can be downloaded from here: https://zenodo.org/record/7603081

L’objet résultant est visualisé dans les notebooks Jupyter comme ceci :

surface
nppas.SurfaceTuple
origin (z/y/x)[0. 0. 0.]
center of mass(z/y/x)57.561,308.175,440.144
scale(z/y/x)1.000,1.000,1.000
bounds (z/y/x)13.983...112.865
110.951...460.844
168.949...807.707
average size171.204
number of vertices3324
number of faces6643
surface2 = nppas.add_quality(surface, nppas.Quality.SPHERE_FITTED_CURVATURE_HECTA_VOXEL)
surface2.azimuth = -90
surface2
nppas.SurfaceTuple
origin (z/y/x)[0. 0. 0.]
center of mass(z/y/x)57.561,308.175,440.144
scale(z/y/x)1.000,1.000,1.000
bounds (z/y/x)13.983...112.865
110.951...460.844
168.949...807.707
average size171.204
number of vertices3324
number of faces6643
min0.00015164456647196744
max0.0005448766287854695

Visualisation des surfaces en utilisant napari-process-points-and-surfaces nazimuths.show()#

Vous pouvez ajuster la visualisation en utilisant nppas.show().

nppas.show(surface, zoom=1.5, azimuth=90, elevation=45)
../_images/02951cfc15270d36642b28a0ce1ef0fa6ed8d74754820f3968b4db1de4604e4d.png

Visualisation des surfaces en utilisant vedo#

… en utilisant vedo Plotter.

from vedo import Plotter

plt = Plotter()
mesh = nppas.to_vedo_mesh(surface)

plt.show(mesh, zoom=1, azimuth=45)
../_images/ae20eb2a9df535bb2ed8a76cae2f1ae053e5f2a6ed1192c7c801613815e3f32f.png

Visualisation des surfaces en utilisant napari#

import napari
viewer = napari.Viewer(ndisplay=3)

viewer.add_surface(surface)

napari.utils.nbscreenshot(viewer)
viewer.add_surface(surface2, colormap=surface2.cmap)

napari.utils.nbscreenshot(viewer)