Skip to content

CAVEconnectome/MeshParty

Repository files navigation

Documentation Status https://travis-ci.com/sdorkenw/MeshParty.svg?branch=master

MeshParty

A package to work with meshes, designed around use cases for analyzing neuronal morphology.

documentation https://meshparty.readthedocs.io/


From pypi:

pip install meshparty

Note: Version 2.0.0 or higher requires Python 3.10 or higher and offers reduced features for mesh analysis and visualization. Projects like pyvista are now easier and more powerful for work that was previously done in MeshParty. This package is still intended to be used for the Skeleton and MeshWork classes, but with reduced support for mesh analysis.

To install the git version do:

git clone https://github.com/sdorkenw/MeshParty.git
cd MeshParty
pip install . --upgrade

to make optional features of ray tracing and interaction with the PyChunkedGraph work properly you need to install the optional dependencies

conda install pyembree
pip install caveclient

Usage example

from meshparty import trimesh_io

meshmeta = trimesh_io.MeshMeta()
mesh = meshmeta.mesh(path_to_mesh) # mesh gets cached

local_vertices = mesh.get_local_view(n_points, pc_align=True, method="kdtree")

Downloading meshes

Meshes can be downloaded in parallel using

trimesh_io.download_meshes(seg_ids, target_dir, cv_path)

where cv_path points to the cloudvolume bucket. For downloading proofread meshes one needs to specify the mesh_endpoint of the chunkedgraph server:

trimesh_io.download_meshes(seg_ids, target_dir, cv_path, mesh_endpoint="https://...")

Extracting mesh information

The mesh needs to be watertight In order to compute reliable information. To test whether a mesh is watertight, run

mesh.is_watertight

Since trimesh_io.Mesh() inherits from trimesh.Trimesh all trimesh functionality is available to mesh, e.g.:

mesh.volume
mesh.area
mesh.center_mass