- Morphology class accepts only morphio objects, not files anymore. (#1120)
- Replace
iter_*
methods by properties in core objects and improveiter_segments
. (#1054) - NeuriteType extended to allow mixed type declarations as tuple of ints. (#1071)
- All features return built-in types (#1064)
- Morphology class also allows mutable morphio objects to be passed explicitly. (#1049)
- Morphology class uses morphio immutable class by composition, istead of inheritance. (#979)
- Morphology level radial distance features use the soma as reference point. (#1030)
- Make
neurom.core.Population
resolve paths. Symlinks are not resolved. (#1047) - Mixed subtree processing can be used in morph_stats app via the use_subtrees flag. (#1034)
neurom.view.[plot_tree|plot_tree3d|plot_soma|plot_soma3D]
were hidden from the neurom.view module. They can still be imported from neurom.view.matplotlib_impl. (#1032)- Mixed subtree processing. (#981)
- Deprecated modules and classes were removed. (#1026)
- Fix neurom.app.morph_stats.extract_dataframe for Population objects with several workers (#1080)
- Update readthedocs config (#1077)
- Can pass List[Population] args to neurom.app.morph_stats.extract_dataframe (#1076)
- Fix compatibility with MorphIO>=3.3.6 (#1075)
- Check that soma is not empty when features need it (#1073)
- Fix QhullError warning (#1063)
- Fix: extract_stats could not work on single neurite (#1060)
- Fix view cli to use 'equal' axis when available (#1051)
- Remove single point contour somas in h5 and asc tests (#1045)
- Remove duplicated deps jinja, sphinx (#1043)
- Add
neurom.features.morphology.length_fraction_above_soma
feature. - List of multiple kwargs configurations are now allowed in``neurom.apps.morph_stats``.
neurom.features.neurite.principal_direction_extents
directions correspond to extents ordered in a descending order.- Add features
neurom.features.morphology.(aspect_ration, circularity, shape_factor)`
- Fix
neurom.morphmath.principal_direction_extent
to calculate correctly the pca extent. - Fix
neurom.features.neurite.segment_taper_rates
to return signed taper rates. - Fix warning system so that it doesn't change the pre-existing warnings configuration
- Fix
neurom.features.bifurcation.partition_asymmetry
Uylings variant to not throw for bifurcations with leaves. - Fix
neurom.features.neurite.principal_direction_extents
to remove duplicate points when calculated. - Add
neurom.features.morphology.volume_density
feature so that it is calculated correctly when the entire morphology is taken into account instead of summing the per neurite volume densities. - Add support for py39 and py310 testing.
- Fix
neurom.features.morphology.sholl_frequency
to return an empty list when a neurite_type that is not present in the morphology is specified. - Fix
neurom.features.morphology.trunk_origin_radii
to warn and use only the root section for the calculation of the path distances. Edge cases from the combination ofmin_length_filter
andmax_length_filter
are addressed. - Fix
neurom.features.morphology.sholl_frequency
to use soma center in distance calculation, instead of using the origin. - Add
neurom.features.morphology.trunk_angles_inter_types
andneurom.features.morphology.trunk_angles_from_vector
features, makeneurom.features.morphology.trunk_angles
more generic and add length filter toneurom.features.morphology.trunk_origin_radii
. - Deprecate python3.6
- Add doc on spherical coordinates.
- Add morphology features total_width, total_height and total_depth
- Fix 'raw' mode in
neurom stats
. - Add example astrocyte analysis notebook.
- Fix readthedocs documentation build.
- Delete all requirements txt files and update documentation accordingly.
- Adding back unifurcation check
- Add method to Soma class to check wether it overlaps a point or not.
- Ensure
neurom.morphmath.angle_between_vectors
always return 0 when the vectors are equal.
Rename all 'neuron' names to 'morphology' names, including module and package names. Previous 'neuron' names still exist but deprecated. It is recommended to use new names:
neurom.check.neuron_checks
=>neurom.check.morphology_checks
, replace neuron_checks with morphology_checks in configs forneurom check
.neurom.core.neuron
=>neurom.core.morphology
neurom.core.neuron.Neuron
=>neurom.core.morphology.Morphology
neurom.core.neuron.graft_neuron
=>neurom.core.morphology.graft_morphology
neurom.io.utils.load_neuron
=>neurom.io.utils.load_morphology
neurom.io.utils.load_neurons
=>neurom.io.utils.load_morphologies
neurom.core.Population.neurons
=>neurom.core.Population.morphologies
- Refactor plotting functionality. :ref:`migration-v3.0.0`.
- deprecate
neurom.view.viewer
- rename
neurom.view.view
toneurom.view.matplotlib_impl
- rename
neurom.view.plotly
toneurom.view.plotly_impl
- rename
neurom.view.common
toneurom.view.matplotlib_utils
- swap arguments
ax
andnrn
of all plot functions inneurom.view.matplotlib_impl
, alsonrn
arg is renamed tomorph
. - delete
neurom.view.plotly.draw
. Use insteadneurom.view.plotly_impl.plot_morph
andneurom.view.plotly_impl.plot_morph3d
.
- deprecate
- Refactor features.
- Drop 'func' suffix of all module names within features package:
neurom.features.bifurcationfunc
=>neurom.features.bifurcation
neurom.features.sectionfunc
=>neurom.features.section
neurom.features.neuritefunc
=>neurom.features.neurite
neurom.features.neuronfunc
=>neurom.features.morphology
- Rigid classification of features.
neurite
features must accept only a single neurite.morphology
features must accept only a single morphology.population
features must accept only a collection of neurons or a neuron population. - Some features were deleted, renamed, added. See :ref:`migration-v3.0.0`.
- Name consistency among private variables.
- Delete deprecated neurom.features.register_neurite_feature.
- Refactor morphology statistics, e.g.
neurom stats
command. - New config format. See :ref:`morph-stats-new-config`. The old format is still supported. The only necessary change is replace 'total' with 'sum', 'neuron' with 'morphology'.
- Keep feature names as is. Don't trim 's' at the end of plurals.
- Refactor morphology statistics, e.g.
Delete
neurom.check.structural_checks
,neurom.core.tree
that were deprecated in v2.Delete unused
neurom.utils.memoize
- fix
features.neuronfunc._neuron_population
for 'sholl_frequency' feature over a neuron population. - use a tuple for
subplot
default value inview.common.get_figure
.
- Introduce a new method to calculate partition asymmetry by Uylings. See docstring of neurom.features.neuritefunc.partition_asymmetries.
- Follow the same morphology validation rules as in MorphIO. See the :ref:`doc page<validation>` about it.
- Remove the cli command
neurom features
that listed all possible features. Instead a proper documentation is provided on that topic. See :func:`neurom.features.get`. - Make
neurom.features.neuronfunc.sholl_crossings
private. - Remove
NeuriteType.all
fromNEURITES
- Fix 'section_path_lengths' feature for Population
- Don't force loading of neurons into memory for Population (#922). See new API of :class:`Population<neurom.core.population.Population>` and load_neurons<neurom.io.utils.load_neurons>
- Move
total_length
feature to fromneuritefunc
toneuronfunc
. Useneurite_lengths
feature for neurites - Include morphology filename extension into Neuron's name
- Extend
tree_type_checker
to accept a single tuple as an argument. Additionally validate function's arguments (#912, #914) - Optimize Sholl analysis code (#905, #919)
- Allow for morphologies without soma (#900)
- Drop relative imports (keep backward compatibility) (#898)
- Account for all custom neurite types in NeuriteType (#902)
- Remove excessive pylint disables (#903)
See a separate dedicated :ref:`page<migration-v2>` for it.