Version 1.8.0
This version contains a major internal rework of both navis.plot2d
and navis.plot3d
to make them more consistent and easier to use.
Breaking
- Plotting: the
synapse_layout
parameter was renamed tocn_layout
(matching e.g. other parameters such ascn_colors
) - Negative views in
navis.plot2d
(e.g.view=("x", "-z")
) will now invert axes rather than changing the underlying data - Minimum version of
matplotlib
is now3.9
(was3.6
) - The
plotly
backend is not part of a minimal install anymore (still installed vianavis[all]
) - The Vispy backend is now deprecated and will be removed in a future release
- Removed
navis.screenshot
- please use the Octarine/Vispy viewer's.screenshot()
method instead navis.tortuosity
now calculates tortuosity as-is (i.e. without resampling) by default
Additions
- Added Octarine as the default backend for plotting from terminal
- New Function:
navis.ivscc_features()
computes some basic ICSCC features - New function:
navis.graph.skeleton_adjacency_matrix()
computes the node adjacency for skeletons - New function:
navis.graph.simplify_graph()
simplifies skeleton graphs to only root, branch and leaf nodes while preserving branch length (i.e. weights) - New
NeuronList
method:get_neuron_attributes
is analagous todict.get
NeuronLists
now implement the|
(__or__
) operator which can be used to get the union of two [NeuronLists
]navis.NeuronList]Tree/MeshNeurons
,Volumes
andDotprops
now support addition/subtraction (similar to the already existing multiplication and division) to allow offsetting neuronsnavis.Volume
now have an (optional).units
property similar to neurons
Improvements
- Plotting:
navis.plot3d
:legendgroup
parameter (plotly backend) now also sets the legend group's title- new parameters for the plotly backend:
legend
(defaultTrue
): determines whether legends is shownlegend_orientation
(defaultv
): determines whether legend is aranged vertically (v
) or horizontally (h
)linestyle
(default-
): determines line style for skeletons
- default for
radius
is now"auto"
navis.plot2d
:- the
view
parameter now also works withmethods
3d
and3d_complex
- the
color_by
andshade_by
parameters now also work when plotting skeletons withradius=True
- new defaults:
radius="auto"
,alpha=1
,figsize=None
(use matplotlib defaults) - new parameters for methods
3d
and3d_complex
:mesh_shade=False
andnon_view_axes3d
- the
scalebar
andsoma
parameters can now also be dictionaries to style (color, width, etc) the scalebar/soma
- the
- the
connectors
parameter can now be used to show specific connector types (e.g.connectors="pre"
)
- I/O:
read_*
functions are now able to read from FTP servers (ftp://...
)- the
limit
parameter used in manyread_*
functions can now also be a regex pattern or aslice
- New parameter in
navis.resample_skeleton()
usemap_column
to include arbitrary columns in the resampling navis.prune_twigs()
andnavis.cable_length()
now accept amask
parameter- General improvements to docs and tutorials
Fixes
- Memory usage of
Neuron/Lists
is now correctly re-calculated when the neuron is modified - Various fixes and improvements for the MICrONS interface (
navis.interfaces.microns
) navis.graph.node_label_sorting()
now correctly prioritizes total branch lengthnavis.TreeNeuron.simple
now correctly drops soma nodes if they aren't root, branch or leaf points themselves
Full Changelog: v1.7.0...v1.8.0