# morph_stats: morphometric statistics extraction¶

The `morph_stats`

application extracts morphometrics from a set of neuron morphology
files and produces a summary in JSON or CSV format. It may obtain any of the morphometrics available
in the `neurom.get()`

function, and is highly configurable, allowing the user to get
raw or summary statistics from a large set of neurite and neuron features.

The functionality can be best explained by looking at a sample configuration file:

```
neurite:
section_lengths:
- max
- total
section_volumes:
- total
section_branch_orders:
- max
neurite_type:
- AXON
- APICAL_DENDRITE
- BASAL_DENDRITE
- ALL
neuron:
soma_radii:
- mean
```

Here, there are two feature categories,

`neurite`

: these are morphometrics obtained from neurites, e.g. branch orders, section lengths, bifurcation angles, path lengths.`neuron`

: these are morphometrics that can be applied to a whole neuron, e.g. the soma radius, the trunk radii, etc.

Each category sub-item (section_lengths, soma_radii, etc) corresponds to a
`neurom.get()`

feature, and each one of its sub-items corresponds to a statistic, e.g.

`raw`

: array of raw values`max`

,`min`

,`mean`

,`median`

,`std`

: self-explanatory.`total`

: sum of the raw values

An additional field `neurite_type`

specifies the neurite types into which the morphometrics
are to be split. This is a sample output using the above configuration:

```
{
"some/path/morph.swc":{
"mean_soma_radius":0.17071067811865476,
"axon":{
"total_section_length":207.87975220908129,
"max_section_length":11.018460736176685,
"max_section_branch_order":10,
"total_section_volume":276.73857657289523
},
"all":{
"total_section_length":840.68521442251949,
"max_section_length":11.758281556059444,
"max_section_branch_order":10,
"total_section_volume":1104.9077419665782
},
"apical_dendrite":{
"total_section_length":214.37304577550353,
"max_section_length":11.758281556059444,
"max_section_branch_order":10,
"total_section_volume":271.9412385728449
},
"basal_dendrite":{
"total_section_length":418.43241643793476,
"max_section_length":11.652508126101711,
"max_section_branch_order":10,
"total_section_volume":556.22792682083821
}
}
}
```

For more information on the application and available options, invoke it with the `--help`

or `-h`

option.

```
morph_stats --help
```

# Features¶

```
$ morph_stats -l
Neurite features (neurite, neuron, neuron population):
- local_bifurcation_angles:
Get a list of local bifurcation angles in a collection of neurites
- neurite_lengths:
Get the path length per neurite in a collection
- neurite_volume_density:
Get the volume density per neurite
The volume density is defined as the ratio of the neurite volume and
the volume of the neurite's enclosung convex hull
- neurite_volumes:
Get the volume per neurite in a collection
- number_of_bifurcations:
number of bifurcation points in a collection of neurites
- number_of_forking_points:
number of forking points in a collection of neurites
- number_of_neurites:
Number of neurites in a collection of neurites
- number_of_sections:
Number of sections in a collection of neurites
- number_of_sections_per_neurite:
Get the number of sections per neurite in a collection of neurites
- number_of_segments:
Number of sections in a collection of neurites
- number_of_terminations:
number of leaves points in a collection of neurites
- partition:
Partition at bifurcation points of a collection of neurites
- partition_asymmetry:
Partition asymmetry at bifurcation points of a collection of neurites
- principal_direction_extents:
Principal direction extent of neurites in neurons
- remote_bifurcation_angles:
Get a list of remote bifurcation angles in a collection of neurites
- section_areas:
section areas in a collection of neurites
- section_bif_branch_orders:
Bifurcation section branch orders in a collection of neurites
- section_bif_lengths:
Bifurcation section lengths in a collection of neurites
- section_branch_orders:
section branch orders in a collection of neurites
- section_lengths:
section lengths in a collection of neurites
- section_path_distances:
Path lengths of a collection of neurites
- section_radial_distances:
Remote bifurcation angles in a collection of neurites
- section_term_branch_orders:
Termination section branch orders in a collection of neurites
- section_term_lengths:
Termination section lengths in a collection of neurites
- section_tortuosity:
section tortuosities in a collection of neurites
- section_volumes:
section volumes in a collection of neurites
- segment_lengths:
Lengths of the segments in a collection of neurites
- segment_meander_angles:
Inter-segment opening angles in a section
- segment_midpoints:
Return a list of segment mid-points in a collection of neurites
- segment_radial_distances:
Lengths of the segments in a collection of neurites
- segment_radii:
arithmetic mean of the radii of the points in segments in a collection of neurites
- segment_taper_rates:
taper rates of the segments in a collection of neurites
The taper rate is defined as the absolute radii differences divided by length of the section
- segment_volumes:
Volumes of the segments in a collection of neurites
- terminal_path_lengths_per_neurite:
Get the path lengths to each terminal point per neurite in a collection
- total_length:
Get the total length of all sections in the group of neurons or neurites
- total_length_per_neurite:
Get the path length per neurite in a collection
Neuron features (neuron, neuron population):
- soma_radii:
Get the radii of the somata of a population of neurons
Note:
If a single neuron is passed, a single element list with the
radius of its soma member is returned.
- soma_surface_areas:
Get the surface areas of the somata in a population of neurons
Note:
The surface area is calculated by assuming the soma is spherical.
Note:
If a single neuron is passed, a single element list with the surface
area of its soma member is returned.
- trunk_origin_azimuths:
Get a list of all the trunk origin azimuths of a neuron or population
The azimuth is defined as Angle between x-axis and the vector
defined by (initial tree point - soma center) on the x-z plane.
The range of the azimuth angle [-pi, pi] radians
- trunk_origin_elevations:
Get a list of all the trunk origin elevations of a neuron or population
The elevation is defined as the angle between x-axis and the
vector defined by (initial tree point - soma center)
on the x-y half-plane.
The range of the elevation angle [-pi/2, pi/2] radians
- trunk_origin_radii:
radii of the trunk sections of neurites in a neuron
- trunk_section_lengths:
list of lengths of trunk sections of neurites in a neuron
```