# neurom.features.bifurcation¶

Bifurcation point functions.

Functions

 `bifurcation_partition`(bif_point[, iterator_type]) Calculate the partition at a bifurcation point. `diameter_power_relation`(bif_point[, method]) Calculate the diameter power relation at a bifurcation point. `downstream_pathlength_asymmetry`(bif_point[, ...]) Calculates the downstream pathlength asymmetry at a bifurcation point. `local_bifurcation_angle`(bif_point) Return the opening angle between two out-going sections in a bifurcation point. `partition_asymmetry`(bif_point[, uylings, ...]) Calculate the partition asymmetry at a bifurcation point. `partition_pair`(bif_point[, iterator_type]) Calculate the partition pairs at a bifurcation point. `remote_bifurcation_angle`(bif_point) Return the opening angle between two out-going sections in a bifurcation point. `sibling_ratio`(bif_point[, method]) Calculate the sibling ratio of a bifurcation point.
neurom.features.bifurcation.bifurcation_partition(bif_point, iterator_type=<function Section.ipreorder>)

Calculate the partition at a bifurcation point.

We first ensure that the input point has only two children.

The number of nodes in each child tree is counted. The partition is defined as the ratio of the largest number to the smallest number.

neurom.features.bifurcation.diameter_power_relation(bif_point, method='first')

Calculate the diameter power relation at a bifurcation point.

The diameter power relation is defined in https://www.ncbi.nlm.nih.gov/pubmed/18568015

This quantity gives an indication of how far the branching is from the Rall ratio

diameter_power_relation==1 means perfect Rall ratio

neurom.features.bifurcation.downstream_pathlength_asymmetry(bif_point, normalization_length=1.0, iterator_type=<function Section.ipreorder>)

Calculates the downstream pathlength asymmetry at a bifurcation point.

Parameters:
• bif_point – Bifurcation section.

• normalization_length – Constant to divide the result with.

• iterator_type – Iterator type that specifies how the two subtrees are traversed.

Returns:

The absolute difference between the downstream path distances of the two children, divided by the normalization length.

neurom.features.bifurcation.local_bifurcation_angle(bif_point)

Return the opening angle between two out-going sections in a bifurcation point.

We first ensure that the input point has only two children.

The bifurcation angle is defined as the angle between the first non-zero length segments of a bifurcation point.

neurom.features.bifurcation.partition_asymmetry(bif_point, uylings=False, iterator_type=<function Section.ipreorder>)

Calculate the partition asymmetry at a bifurcation point.

By default partition asymmetry is defined as in https://www.ncbi.nlm.nih.gov/pubmed/18568015. However if `uylings=True` is set then https://jvanpelt.nl/papers/Uylings_Network_13_2002_397-414.pdf is used.

The number of nodes in each child tree is counted. The partition is defined as the ratio of the absolute difference and the sum of the number of bifurcations in the two child subtrees at each branch point.

neurom.features.bifurcation.partition_pair(bif_point, iterator_type=<function Section.ipreorder>)

Calculate the partition pairs at a bifurcation point.

The number of nodes in each child tree is counted. The partition pairs is the number of bifurcations in the two child subtrees at each branch point.

neurom.features.bifurcation.remote_bifurcation_angle(bif_point)

Return the opening angle between two out-going sections in a bifurcation point.

We first ensure that the input point has only two children.

The angle is defined as between the bifurcation point and the last points in the out-going sections.

neurom.features.bifurcation.sibling_ratio(bif_point, method='first')

Calculate the sibling ratio of a bifurcation point.

The sibling ratio is the ratio between the diameters of the smallest and the largest child. It is a real number between 0 and 1. Method argument allows one to consider mean diameters along the child section instead of diameter of the first point.