Rust re-implementation of navis
core functions. This is an experiment to test
replacing Cython with Rust for
navis-fastcore to enable cross-platform
usage of the library.
- internally, we use
i32
to represent node indices which means we can't process neurons with more than 2,147,483,647 nodes (should be fine)
- geodesic distances
- generation of segments
- Nearest-neighbor lookup (via
bosque
) - synapse flow centrality
- NBLAST
- shortest paths
- cater for
i32
node IDs (currently onlyi64
supported)
cd
into directory- Activate virtual environment:
source .venv/bin/activate
- Run
maturin develop
(usematurin build --release
to build wheel)
First make sure pytest
is installed:
pip install pytest -U
Then run the test-suite like so:
pytest --verbose -s
Note that unless you compiled with maturin develop --release
the timings will
be much slower (up to 10x) than in a release build.