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
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")
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://...")
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