- 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.Populationresolve 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_somafeature. - List of multiple kwargs configurations are now allowed in``neurom.apps.morph_stats``.
neurom.features.neurite.principal_direction_extentsdirections correspond to extents ordered in a descending order.- Add features
neurom.features.morphology.(aspect_ration, circularity, shape_factor)` - Fix
neurom.morphmath.principal_direction_extentto calculate correctly the pca extent. - Fix
neurom.features.neurite.segment_taper_ratesto return signed taper rates. - Fix warning system so that it doesn't change the pre-existing warnings configuration
- Fix
neurom.features.bifurcation.partition_asymmetryUylings variant to not throw for bifurcations with leaves. - Fix
neurom.features.neurite.principal_direction_extentsto remove duplicate points when calculated. - Add
neurom.features.morphology.volume_densityfeature 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_frequencyto return an empty list when a neurite_type that is not present in the morphology is specified. - Fix
neurom.features.morphology.trunk_origin_radiito warn and use only the root section for the calculation of the path distances. Edge cases from the combination ofmin_length_filterandmax_length_filterare addressed. - Fix
neurom.features.morphology.sholl_frequencyto use soma center in distance calculation, instead of using the origin. - Add
neurom.features.morphology.trunk_angles_inter_typesandneurom.features.morphology.trunk_angles_from_vectorfeatures, makeneurom.features.morphology.trunk_anglesmore 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_vectorsalways 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.morphologyneurom.core.neuron.Neuron=>neurom.core.morphology.Morphologyneurom.core.neuron.graft_neuron=>neurom.core.morphology.graft_morphologyneurom.io.utils.load_neuron=>neurom.io.utils.load_morphologyneurom.io.utils.load_neurons=>neurom.io.utils.load_morphologiesneurom.core.Population.neurons=>neurom.core.Population.morphologies
- Refactor plotting functionality. :ref:`migration-v3.0.0`.
- deprecate
neurom.view.viewer - rename
neurom.view.viewtoneurom.view.matplotlib_impl - rename
neurom.view.plotlytoneurom.view.plotly_impl - rename
neurom.view.commontoneurom.view.matplotlib_utils - swap arguments
axandnrnof all plot functions inneurom.view.matplotlib_impl, alsonrnarg is renamed tomorph. - delete
neurom.view.plotly.draw. Use insteadneurom.view.plotly_impl.plot_morphandneurom.view.plotly_impl.plot_morph3d.
- deprecate
- Refactor features.
- Drop 'func' suffix of all module names within features package:
neurom.features.bifurcationfunc=>neurom.features.bifurcationneurom.features.sectionfunc=>neurom.features.sectionneurom.features.neuritefunc=>neurom.features.neuriteneurom.features.neuronfunc=>neurom.features.morphology
- Rigid classification of features.
neuritefeatures must accept only a single neurite.morphologyfeatures must accept only a single morphology.populationfeatures 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 statscommand. - 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.treethat were deprecated in v2.Delete unused
neurom.utils.memoize
- fix
features.neuronfunc._neuron_populationfor 'sholl_frequency' feature over a neuron population. - use a tuple for
subplotdefault 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 featuresthat listed all possible features. Instead a proper documentation is provided on that topic. See :func:`neurom.features.get`. - Make
neurom.features.neuronfunc.sholl_crossingsprivate. - Remove
NeuriteType.allfromNEURITES
- 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_lengthfeature to fromneuritefunctoneuronfunc. Useneurite_lengthsfeature for neurites - Include morphology filename extension into Neuron's name
- Extend
tree_type_checkerto 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.