CAVEconnectome / MeshParty

Apache License 2.0
34 stars 16 forks source link

Decorated meshes #64

Closed ceesem closed 3 years ago

ceesem commented 4 years ago

This PR adds a new object that integrates meshes, skeletons, and point annotations into a so-called "meshwork" object. This required a significant rewrite of the Skeleton class so that it handles masking while maintaining its original topology.

This also adds a few algorithms that have come in handy: 1) Adds optional support for a branch-level soma/neurite split. The default is the current system. 2) Axon/dendrite split via point of maximal input-to-output paths. 3) Cone-based SDF measurement. Again, the default is the current

I tried to make everything fully compatible with previous code, but it's possible one or two things have changed. Tests pass, but I might have neglected some combination of arguments.

The obvious to-do before merging is updating the docs, but I wanted to start this processes.

codecov-commenter commented 4 years ago

Codecov Report

Merging #64 into master will decrease coverage by 14.67%. The diff coverage is 54.12%.

Impacted file tree graph

@@             Coverage Diff             @@
##           master      #64       +/-   ##
===========================================
- Coverage   76.25%   61.58%   -14.68%     
===========================================
  Files          12       18        +6     
  Lines        1946     3512     +1566     
===========================================
+ Hits         1484     2163      +679     
- Misses        462     1349      +887     
Impacted Files Coverage Δ
meshparty/skeleton_io.py 89.02% <ø> (ø)
meshparty/meshwork/algorithms.py 7.31% <7.31%> (ø)
meshparty/skeletonize.py 52.74% <21.34%> (-34.48%) :arrow_down:
meshparty/ray_tracing.py 35.39% <35.39%> (ø)
meshparty/utils.py 64.84% <48.48%> (+8.55%) :arrow_up:
meshparty/trimesh_io.py 68.84% <50.90%> (-3.04%) :arrow_down:
meshparty/meshwork/meshwork_io.py 52.03% <52.03%> (ø)
meshparty/meshwork/meshwork.py 57.62% <57.62%> (ø)
meshparty/meshwork/utils.py 59.74% <59.74%> (ø)
meshparty/mesh_filters.py 82.27% <84.78%> (-0.18%) :arrow_down:
... and 12 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 3021be3...a5ee19c. Read the comment docs.