A Hodgkin-Huxley model visualization for a small neural tree.
To use this package, run the following command in your project's root directory:
Put the following dependency into your project's dependences section:
This is a sim(ulation) of a biological neural network based on numeric solutions to the Hodgkin-Huxley equations.
It is based on chapters 2-4 and appendix B from the book Neuroscience - A Mathematical Primer by Alwyn Scott.
The easiest way to build the program is via
dub. Either use
dub run neuronsim to download and run the program or clone the repository and run
The GUI itself is implemented using GtkD. Because of this, the GUI code is somewhat object-oriented, but not quite because it is simply a layer in front of a non-object-oriented simulation.
The naming is purposefully verbose so that the code is as clear as possible.
Here are some highlights from the code:
All the parameter metadata is specified using user-defined annotations in the ParameterSet struct.
The equations are solved numerically in the simulateImpulse function.
The MutableSimWrapper creates a mutable container for the otherwise immutable SimConfig and NeuralTreeSim classes. The latter two are immutable because they are shared between threads. The former is mutable because once a new tree is generated we need to somehow update its reference in the GUI code (so we update its wrapper's reference).
A separate thread is launched using the SimGenerator class for generating new neural trees without blocking the UI thread.
The tree painting happens in the NeuralTreeCanvas class.
- Registered by Ianis Vasilev
- 2.3.0 released a year ago