diff --git a/doc/source/definitions.rst b/doc/source/definitions.rst index 99b8a0c8..6941e405 100644 --- a/doc/source/definitions.rst +++ b/doc/source/definitions.rst @@ -32,121 +32,5 @@ NeuroM morphology definitions ============================= -``NeuroM`` specific working definitions of various components of neuron morphologies. - - -.. _point-label: - -Point ------ - -A point is a ``numpy`` array of numbers **[X, Y, Z, R]** where the components are - -* X, Y, Z: Cartesian coordinates of position -* R: Radius - -.. _segment-label: - -Segment -------- - -A segment consists of two consecutive :ref:`points` belonging to -the same :ref:`neurite` and :ref:`section`. - -In ``NeuroM`` a segment is represented as a tuple or a ``numpy`` array of two `points`. - - -.. _section-label: - -Section -------- - -A section is a node of morphology tree containing a series of two or more :ref:`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. - -In ``NeuroM``, a section is represented by class :class:`Section`. - -.. _soma-label: - -Soma ----- - -A soma can be represented by one or more :ref:`points`. -The soma is classified solely 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 estimated from - the mean distance between the center and the two remaining points. -* Type C: More than three points. The center is defined as the mean position - of all points. The radius is defined as the mean distance of all points to - the center. - -.. todo:: - Expand list if and when specifications require new types of soma. - -The soma is represented by classes derived from :py:class:`Soma`. -The 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 - -.. seealso:: The :py:mod:`soma implementation module` - - -.. _neurite-label: - -Neurite tree ------------- - -A neurite is essentially a tree of :ref:`sections`. 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. - -Neurites are represented by the class :py:class:`Neurite`, which contains -the root node of the aforementioned tree as well as some helper functions to aid iteration -over sections and collection of points. - -In :py:mod:`NeuroM` neurite trees are implemented using the recursive structure -:py:class:`neurom.core.Section`, :ref:`described above`. - - -Neuron ------- - -A neuron structure consists of a single :ref:`soma` and a collection of -:ref:`neurites`. - -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 - -Neurons are represented by the class :py:class:`Neuron`. This is more -or less what it looks like: - -.. code-block:: python - - neuron = { - soma, - neurites, - points, - name - } +``NeuroM`` uses ``MorphIO`` for reading hence ``NeuroM`` uses ``MorphIO`` definitions and follows +``__. \ No newline at end of file