Population features.

Any public function from this namespace can be called via features mechanism. Functions in this namespace can only accept a morphology population as its input no matter how called.

>>> import neurom
>>> from neurom import features
>>> pop = neurom.load_morphologies("tests/data/valid_set")
>>> frequencies = features.get('sholl_frequency', pop)

For more details see Features.


sholl_frequency(morphs[, neurite_type, ...])

Perform Sholl frequency calculations on a population of morphs.

neurom.features.population.sholl_frequency(morphs, neurite_type=NeuriteType.all, step_size=10, bins=None)

Perform Sholl frequency calculations on a population of morphs.

  • morphs (list|Population) – list of morphologies or morphology population

  • neurite_type (NeuriteType) – which neurites to operate on

  • step_size (float) – step size between Sholl radii

  • bins (iterable of floats) – custom binning to use for the Sholl radii. If None, it uses

  • morphs. (intervals of step_size between min and max radii of)

  • use_subtrees (bool) – Enable mixed subtree processing.


Given a population, the concentric circles range from the smallest soma radius to the largest radial neurite distance in steps of step_size. Each segment of the morphology is tested, so a neurite that bends back on itself, and crosses the same Sholl radius will get counted as having crossed multiple times.