.. _whats_new: What's new? =========== .. list-table:: :widths: 7 7 86 :header-rows: 1 * - Version - Date - * - 2.4.0 - 27/05/23 - - :func:`pymaid.get_annotation_graph` deprecated in favour of the new :func:`pymaid.get_entity_graph`. * - 2.1.0 - 04/04/22 - With this release we mainly follow some renamed functions in ``navis`` but we also make pymaid play more nicely with public CATMAID instances and of course fix a couple bugs. One important thing to mention is that the default `max_threads` for :class:`pymaid.CatmaidInstance` is now 10 (down from 100). This also applies to :func:`pymaid.connect_catmaid`. If your internet can handle more connections, feel free to up it back to 100. * - 2.0.0 - 21/11/20 - This release marks a huge break in the way pymaid works: it is now fully dependent on and compatible with `navis `_. - :class:`~pymaid.CatmaidNeuron` and :class:`~pymaid.CatmaidNeuronList` are now subclasses of ``navis.TreeNeuron`` and ``navis.NeuronList``, respectively - all functions not specific to CATMAID have been removed in favour of the equivalent ``navis`` function - for consistency, all use of ``treenode`` have been replace with ``node``: for example, the ``treenode_id`` column in node tables is now ``node_id`` - API docs and tutorials have been updated to use navis functions instead * - 1.1.0 - 4/4/20 - - changed argument names, types and order for :class:`CATMAIDInstance` to facilitate connecting to public Catmaid servers - was: ``(server, authname, authpassword, authtoken, ...)``, now is ``(server_url, token, http_user=None, http_pw=None, ...)`` * - 1.0.1 - 23/1/20 - - changed to semantic versioning: `major.minor.patch` - new functions: :func:`~pymaid.find_first_branchpoint`, :func:`~pymaid.set_nodes_reviewed`, :func:`~pymaid.prune_by_length`, :func:`~pymaid.get_skeleton_change` - plotting now accepts matplotlib colormaps - tons of small improvements and bugfixes * - 0.101 to 0.103 - 25/09/19 - - teach :func:`~pymaid.upload_neuron` and :func:`~pymaid.transfer_neuron` to make use of new ``source`` fields in CATMAID - pymaid will now warn if run in Jupyter lab without plotly renderer extension - renamed function ``to_dotproduct()`` to :func:`~pymaid.to_dotprops` - auto-detect if no display available - various improvements and bugfixes * - 0.100 - 03/09/19 - - improve :func:`~pymaid.get_nodes_in_volume` - add optional headless mode (set env variable `PYMAID_HEADLESS=TRUE`) * - 0.99 - 12/08/19 - - use ``ujson`` library if available for faster unpacking - new function: :func:`~pymaid.update_node_confidence`, :func:`~pymaid.get_connectivity_counts` - various improvements and bug fixes * - 0.98 - 21/06/19 - - new functions: :func:`~pymaid.join_nodes`, :func:`~pymaid.link_connector`, :func:`~pymaid.join_skeletons`, :func:`~pymaid.replace_skeleton`, :func:`~pymaid.link_connector`, :func:`~pymaid.delete_nodes`, :func:`~pymaid.add_connector` - reworked ``get_nodes_by_tag()`` and renamed to :func:`~pymaid.find_nodes` * - 0.97 - 21/06/19 - - new functions: :func:`~pymaid.upload_volume`, :func:`~pymaid.shared_partners` - improved :func:`~pymaid.upload_neuron`, :func:`~pymaid.from_swc`, :func:`~pymaid.plot2d` and more - fixes for :func:`~pymaid.remove_annotations`, :func:`~pymaid.get_neuron` and more * - 0.96 - 22/05/19 - - fixed bug in :func:`~pymaid.plot3d` using plotly * - 0.95 - 17/05/19 - - new function: :func:`~pymaid.get_connectors_in_bbox` - new multi-ray option for :func:`~pymaid.in_volume` for complicated meshes - other improvements: :func:`~pymaid.from_swc` - many bugfixes * - 0.94 - 09/04/19 - - started reworking vispy plot3d: in brief, will try reducing the number of shader programs running - new functions: :func:`~pymaid.break_fragments`, :func:`~pymaid.heal_fragmented_neuron`, :func:`~pymaid.update_radii`, :func:`~pymaid.get_neuron_id`, :func:`~pymaid.rmaid.neuron2dps` - :class:`~pymaid.Volumes` now allow multiplication and division - will apply to vertex coordinates - improved: :func:`~pymaid.from_swc`, :func:`~pymaid.to_swc`, :func:`~pymaid.predict_connectivity`, :func:`~pymaid.stitch_neurons`, :func:`~pymaid.reroot_neuron`, :func:`~pymaid.upload_neuron` - fixes in :func:`~pymaid.delete_neuron`, :func:`~pymaid.rename_neurons`, :func:`~pymaid.get_history`, :func:`~pymaid.split_axon_dendrite`, :func:`~pymaid.CatmaidNeuronList.remove_duplicates` - updated to networkx 2.2 * - 0.93 - 05/02/19 - - various improvements to the Blender interface ``pymaid.b3d`` - improved :func:`~pymaid.predict_connectivity` - new functions to import/transfer neurons to/between Catmaid instances: :func:`pymaid.upload_neuron` and :func:`pymaid.transfer_neuron` - new function :func:`pymaid.sparseness` to calculate lifetime sparseness - tons of bug fixes * - 0.92 - 06/11/18 - - new pymaid.Volume methods: ``to_csv`` and ``from_csv`` - new functions: :func:`~pymaid.add_meta_annotations`, :func:`~pymaid.remove_meta_annotations`, :func:`~pymaid.get_annotated` - some under-the-hood changes following change in CATMAID's API - general bug fixes and improvements * - 0.91 - 31/10/18 - - new CatmaidInstance attributes to get info on your server: ``catmaid_version``, ``available_projects`` and ``image_stacks`` - new functions: :func:`~pymaid.shorten_name`, :func:`~pymaid.get_user_stats`, :func:`~pymaid.intersection_matrix`, :func:`~pymaid.get_node_location` - various improvements and bugfixes * - 0.90 - 20/09/18 - - vispy 3d viewer overhaul: prettier, better picking, new shortcuts - indexing of :class:`~pymaid.CatmaidNeuronList` via ``.skid[]`` now returns results in order of query - new function: :func:`~pymaid.find_nodes` - new function: :func:`~pymaid.connection_density` - improved :func:`~pymaid.split_axon_dendrite` - improved :func:`~pymaid.to_swc` and :func:`~pymaid.from_swc` - improved :ref:`neuronlist math and comparisons ` - :func:`~pymaid.plot2d` and :func:`~pymaid.plot3d` now accept lists of colors - :func:`~pymaid.has_soma` is now much faster - faster neuron import in :ref:`blender_3d` - improved docstrings - various bugfixes * - 0.89 - 14/08/18 - - new function: ``pymaid.cytoscape.watch_network`` constantly pushes updates to Cytoscape - new function: :func:`~pymaid.get_nth_partners` returns neurons connected via n hops - by default, :func:`~pymaid.plot3d` now chooses the backend automatically: vispy for terminal sessions, plotly for Jupyter notebook/lab - :func:`~pymaid.get_skids_by_annotation` now accepts negative search criteria - :func:`~pymaid.from_swc` now imports multiple SWCs at a time - major improvements to caching system - by default, progress bars will now vanish after completion - followed changes in CATMAID API regarding node tables - various bugfixes * - 0.88 - 29/07/18 - - data caching for faster queries, see :doc:`caching demo ` - new function: :func:`~pymaid.smooth_neuron` - :func:`~pymaid.resample_neuron` now resamples radius too - :func:`~pymaid.guess_radius` interpolation now takes distance along spines into account - :func:`~pymaid.despike_neuron` is now able to catch spikes that consist of multiple nodes - :func:`~pymaid.calc_cable` is now deprecated - general improvements to docstrings * - 0.87 - 20/07/18 - - :func:`~pymaid.get_team_contributions` now takes link creation into account - :func:`~pymaid.get_time_invested` should be way faster now - :func:`~pymaid.geodesic_matrix` now returns a SparseDataFrame to save memory - added :func:`pymaid.CatmaidNeuron.to_dataframe` method - general improvements and docstrings * - 0.86 - 16/07/18 - - arithmetric operations with CatmaidNeuron/Lists will now warn if skeleton IDs match but neuron objects are not identical. See :doc:`here ` for explanation. - fixed a bug when using regex to query for neurons that led to duplicate skeleton IDs being returned * - 0.85 - 13/07/18 - - fixed a series of critical bugs in :func:`~pymaid.plot3d`, :func:`pymaid.Volume.combine`, :func:`~pymaid.cut_neuron`, :func:`pymaid.CatmaidNeuronList.remove_duplicates`, :func:`~pymaid.get_skid_from_node` and :func:`~pymaid.neuron2json` - :func:`~pymaid.cut_neuron` now accepts multiple cut nodes - improved depth coloring in :func:`~pymaid.plot2d` - added depth coloring to :func:`~pymaid.plot2d` with method '3d' - see :doc:`here ` for examples