Guardando y cargando superficies#

En este cuaderno guardaremos una superficie en el disco y la volveremos a cargar desde allí usando vedo.

Ver también

import napari_process_points_and_surfaces as nppas
import vedo

from branchoid import branchoid

El punto de partida es nuevamente la superficie del branchoide simulado.

binary_image = branchoid()
surface = nppas.all_labels_to_surface(binary_image)
surface
nppas.SurfaceTuple
origin (z/y/x)[0. 0. 0.]
center of mass(z/y/x)50.000,46.575,42.589
scale(z/y/x)1.000,1.000,1.000
bounds (z/y/x)25.500...74.500
2.500...88.500
2.500...83.500
average size31.277
number of vertices19040
number of faces38076

Guardando superficies en el disco#

La librería vedo tiene funciones para guardar y cargar mallas de superficies. Para convertirlas desde/hacia tuplas de superficies compatibles con napari, usamos napari-process-points-and-surfaces (nppas).

mesh = nppas.to_vedo_mesh(surface)

filename = "../../data/branchoid.ply"

_ = vedo.write(mesh, filename)

Cargando mallas desde el disco#

new_mesh = vedo.load(filename)
new_mesh

vedo.mesh.Mesh
(../../data/branchoid.ply)
bounds
(x/y/z)
25.50 ... 74.50
2.500 ... 88.50
2.500 ... 83.50
center of mass (50.0, 46.6, 42.6)
average size 31.277
nr. points / faces 19040 / 38076
new_surface = nppas.to_napari_surface_data(new_mesh)
new_surface
nppas.SurfaceTuple
origin (z/y/x)[0. 0. 0.]
center of mass(z/y/x)50.000,46.575,42.589
scale(z/y/x)1.000,1.000,1.000
bounds (z/y/x)25.500...74.500
2.500...88.500
2.500...83.500
average size31.277
number of vertices19040
number of faces38076