Closed schlegelp closed 3 months ago
There is one remaining failing test: strangely, MovingLeastSquaresTransform.xform
return different values depending on whether I run it locally on my machine or whether it runs on Github. Since this problem is unrelated to this PR, I will ignore it and go ahead with the merge.
This is a work-in-progress PR to integrate functions re-implemented in Rust via navis-fastcore.
List of functions that will now use
fastcore
under-the-hood if available:geodesic_matrix()
: 20x faster (note that this will also speed up a number of downstream functions such aslongest_neurite
)prune_twigs()
: 4x fasterstrahler_index()
: 20x fastersynapse_flow_centrality()
: 4.5x faster (but importantly much more memory efficient)segments_to_coords()
: 3.5x faster (this function is a major bottleneck during plotting)TreeNeuron.cable_length
property: 2x faster_connected_components()
: 1.4x fasterPotential TODOs:
Misc:
synblast
multiprocessing (pickling) issueax.add_collection3d
inplot2d
(introduced with in recentmatplotlib
version)radius=True
(caused error previously)fetch_mesh_neuron()
will now ignorelod
parameter if not supported by mesh source (e.g. for legacy meshes); previously this caused an errornumpy
,igraph
andmatplotlib
subset_neuron
now sets._soma
toNone
if the soma is lost during subsetting