Skip to content

get_mesh_triangles

jaybgager edited this page Sep 30, 2026 · 1 revision

Gets a numpy array of point coordinates for the vertices of each face of a single-resolution legacy-format mesh in a neuroglancer volume. If the volume is bucket-hosted (the default assumption), it requires read access set up through cloudvolume.

Arguments:

  • volume_path (string, mandatory)
    • the absolute path to the directory of the volume that contains the mesh
    • the last directory should be the top-level folder of the volume
    • e.g. /home/username/ng_meshes/image01 would get the image01 volume in the ng_meshes folder
  • mesh_seg_id (int, optional, default=1)
    • the segment ID of the mesh within the neuroglancer volume
  • local (bool, optional, default=False)
    • if set to True, treats volume_path as a file path on your local machine
    • by default, assumes the volume_path is a bucket-hosted file

Returns:

  • triangles ((n,3,3)-shape numpy array of floats)
    • the point coordinates of the face vertices for each triangle

Example

The example below gets the faces of a mesh with a segment ID 1 in a volume called banc_mesh_01 on a remote bucket.

INPUT:

import tracertools as tt

triangles = tt.get_mesh_triangles(
    volume_path = "https://c10s.pni.princeton.edu/tracers/examples/banc_mesh_01|neuroglancer-precomputed:",
)

print(triangles)

OUTPUT (truncated for space):

[
    [
        [108968.75       178911.5          4687.48888889]
        [113279.75       179077.25         4747.48888889]
        [109466.25       180402.75         4687.48888889]
    ],
    ...
    [
        [139306.         182083.25         4317.48888889]
        [139389.         183077.5          4317.48888889]
        [136902.         183740.25         4427.48888889]
    ]
]

Note

Although point coordinates are often stored as integers in most contexts, meshes (particularly those that were programmatically generated) often store them as floats to maintain accuracy.

Clone this wiki locally