Neuron dynamics¶
Elements of a neuron¶
To understand the dynamics of a growth::Neuron during the growing
process, it is necessary to understand its inner structure:
- Each Neuron contains a set of
growth::Neuriteobjects, which are stored in a vector called
neurites_.
- Each Neuron contains a set of
Every Neurite contains a set of
growth::GrowthConeobjects and agrowth::Branchingmanager,which takes care of the creation of new growth cones.In addition, the
growth::Neuritealso keeps track of thegrowth::TopologicalNodeobjects, the base class ofgrowth::GrowthConeobjects, which are used to mark the positions at which a branching event occured.Each
growth::TopologicalNode(orgrowth::GrowthCone) owns agrowth::Branch, which is a container that keep tracks of the path that was followed during the growth process.
Events that can occur¶
During the growing process, the main active unit is the
growth::GrowthCone. This object has 3 main behaviours:
it moves in space, either elongating, remaining at the same place, or retracting,
it can split into two different
growth::GrowthConeobjects,it can be absorbed back into the neurite (it is pruned).
The motion is implemented through different models that are detailed in the Models structure section.
The split event belongs to the more general class of branching events.
Branching Event¶
Branching events can occur in two different situations:
a
growth::GrowthConeobject splits into two (growth cone splitting)a new
growth::GrowthConeemerges from agrowth::Branch(lateral branching)
In both cases, the sequence goes as follow:
A branching event is detected from
growth::Branching::check_branching(), in the branching manager of the NeuriteDepending on the type of branching event involved, a
*_new_branchfunction is called.Regardless of the event type, the function will eventually call
growth::Neurite::growth_cone_split(), passing the parameters of the branching event, so that the Neurite does the job.
