NAVis is a Python 3 library for Neuron Analysis and Visualization.
Visit our documentation here!
See the documentation for detailed installation instructions, tutorials and examples. For the impatient:
pip3 install "navis[all]"
which includes all optional extras providing features and/or performance improvements.
Currently, this is
igraph
,
navis-fastcore
,
pathos
,
shapely
,
kdtree
,
hash
,
flybrains
,
cloudvolume
,
meshes
,
and vispy-default
.
3D plotting from a python REPL is provided by vispy
, which has a choice of backends.
Different backends work best on different combinations of hardware, OS, python distribution, and REPL, so there may be some trial and error involved.
vispy
's backends are listed here, and each can be installed as a navis extra, e.g. pip3 install 'navis[vispy-pyqt6]'
.
Questions on how to use navis
are best placed in discussions. Same goes for cool projects or analyses you made using navis
-
we'd love to hear from you!
A summary of changes can be found here.
NAVis comes with batteries included but is also highly extensible. Some libraries built on top of NAVis:
NAVis has been used in a range of neurobiological publications. See here for a list.
We have implemented various published algorithms and methods:
Working on your own cool new method? Consider adding it to NAVis!
We'd love to know if you found NAVis useful for your research! You can help us spread the word by citing the DOI provided by Zenodo
This code is under GNU GPL V3.
NAVis is inspired by and inherits much of its design from the excellent natverse R packages by Greg Jefferis, Alex Bates, James Manton and others.
Want to contribute? Great, here is how!
Open an issue. For bug reports please make sure to include some code/data with a minimum example for us to reproduce the bug.
We're always happy for people to contribute code - be it a small bug fix, a new feature or improved documentation.
Here's how you'd do it in a nutshell:
git clone
it to your local machinepip install -r requirements.txt
pip install -e ".[all]"
git add
, git commit
, git push
, and pull request your changes.Run the tests locally with pytest -v
.
Docstrings should use the numpydoc format,
and make sure you include any relevant links and citations.
Unit tests should be doctests
and/or use pytest in the ./tests
directory.
Doctests have access to the tmp_dir: pathlib.Path
variable,
which should be used if any files need to be written.
Feel free to get in touch either through an issue or discussion if you need pointers or input on how to implement an idea.