NeuroM morphology definitions¶
These are NeuroM
specific working definitions of various components of
neuron morpholigies.
Point¶
A point is a vector of numbers [X, Y, Z, R, TYPE, ID, PID] where the components are
- X, Y, Z: Cartesian coordinates of position
- R: Radius
- TYPE: One of the
NeuroM valid point types
- ID: Unique identifier of the point.
- PID: ID of the parent of the point.
Typically only the first four or five components are of interest to morphology analysis. The rest are used to construct the soma and hierarchical tree structures of the neuron, and to check its semantic validity.
Note
For most of what follows, it suffices to consider a point as a vector of [X, Y, Z, R, TYPE]. The remaining components ID and PID can be considered book-keeping.
Todo
Point types may need to be restricted to align SWC with H5. This is dependent on future H5 specs.
Section¶
A section is a series of two or more points whose first and last element are any of the following combinations:
- root node, forking point
- forking point, forking point
- forking point, end point
- root node, end point
The first point of a section is a duplicate of the last point of its parent section, unless the latter is a soma section.
Soma¶
A soma can be represented by one, three or more points. The soma is classified based on the number of points it contains thus:
- Type A: 1 point defining the center and radius.
- Type B: 3 points. Only the centers of the points are considered. The first point defines the center. The radius is extimated from the mean distance between the center and the two remaining points.
- Type C: More than three points. Only the centers of the points are considered. The first point defines the center. The radius is estimated from the mean distance between the center and the remaining points.
Todo
Expand list if and when specifications require new types of soma.
The soma interface exports a center and radius. These can be calculated in different ways, but the default is to use the center and radius for type A and the mean center and radius for types B and C.
Todo
In the future, type B may be interpreted as 3 points on an ellipse. In this case, the points would have to be non-collinear. Currently there is no such restriction.
See also
See also
Neurite tree¶
There are two alternative representations of a neurite tree.
A neurite may consist of a tree structure with either a points
or a section in each vertex or node. The different representations
are accessible via the ezy
and fst
modules
respectively.
The tree structure implies the following:
- A node can only have one parent.
- A node can have an arbitrary number of children.
- No loops are present in the structure.
Different type of points are allowed in the same tree as long as same conventions are followed
Todo
The conventions governing the types of points in a neurite tree need to be well defined
In NeuroM
neurite trees are implemented using the recursive structure
neurom.core.tree.Tree
, with each node holding a reference to either a
single morphology point, or an array of points
representing a section<section-label>.
Neuron¶
A neuron structure consists of a single soma and a collection of trees.
The trees that are expected to be present depend on the type of cell:
- Interneuron (IN): basal dendrite, axon
- Pyramidal cell (PC): basal dendrite, apical dendrite, axon
See also
neurom.core.neuron.Neuron
neurom.ezy.Neuron