We've seen how Python can be an effective tool for simply and efficiently implementing and simulating four different neural models using Python: leaky Integrate-and-fire, Hodgkin-Huxley, Izhikevich, and active compartments. However, other than some convenience methods and simple tricks, these examples could have been done in MATLAB without too much pain for an experienced user. So where does Python really stand out? In my first post I argued that a major advantage of Python is it's power and flexibility as a general programming language. In this case, its extensibility has allowed it to become the interface of choice for many powerful neural simulator tools. Read the rest of this entry »
-
Neural Modeling with Python (Part 5)
| February 22, 2011Comments: Leave a commentCategories: Computing, Neurobiology -
Neural Modeling with Python (Part 4)
| February 11, 2011
So far I've presented three different models for simulating neural spiking dynamics. A key assumption that was made but never stated in each of these examples was that the neuron we were modeling had no defined morphology. In other words, we were looking at models that assumed the neuron was a dimensionless sphere or point. These point neurons can be very effective for studying the behavior of large-scale spiking neural networks (e.g. Izhikevich), but are impractical if you want to investigate how anatomical features of a neuron contribute to signal propagation. For this we return to the Hodgkin-Huxley model and cable theory. Read the rest of this entry »Comments: Leave a commentCategories: Computing, Neurobiology -
Neural Modeling with Python (Part 3)
| February 2, 2011
So far we've looked at how to simulate a simple LIF model neuron and a complex Hodgkin-Huxley model neuron. The LIF neuron is computationally simple but physiologically implausible, while Hodgkin-Huxley gives us a very good representation of actual neural dynamics but is parameter-heavy and computationally expensive. An intriguing compromise between the two exists -- one that can generate a wide variety of observed neural spiking behavior while doing so with limited computational demand. It is called the quadratic integrate-and-fire model neuron, or simply Izhikevich neuron. Read the rest of this entry »Comments: 1 CommentCategories: Computing, Neurobiology -
Neural Modeling with Python (Part 2)
| January 26, 2011
In my last post, I demonstrated how to simulate and plot a simple leaky integrate-and-fire (LIF) neuron using Python. The LIF neuron provides a simple representation of a spiking neuron, but lacks biological plausibility especially when it comes to the actual spike generation. A neural model that does have a solid foundation in physiology is that originally proposed by Alan Hodgkin and Andrew Huxley in 1952. Read the rest of this entry »Comments: Leave a commentCategories: Computing, Neurobiology -
Neural Modeling with Python (Part 1)
| January 19, 2011
Representing the function and behavior of neurons in software is one of the core activities of computational neuroscience. As neurons communicate via electrochemical currents, this is typically accomplished through modeling the dynamical nature of the neuron's electrical properties. Several models treat the neuron as an equivalent electrical circuit, with its membrane potential described by one or more differential equations. In order to simulate the response of the neuron to various stimuli, these equations are numerically solved over some time interval for a given pattern of input current. There are several methods for numerically solving differential equations, and for the purpose of this series, I'm going to use the forward Euler method because it's one of the easiest to implement and understand while providing sufficient stability.So, without further ado, let's start simulating some neurons in Python! Read the rest of this entry »
-
Neuromorphic Systems: Silicon neurons and neural arrays for emulating the nervous system
| August 12, 2010
Neuromorphic engineers are studying the nervous system and trying to emulate its function and organization in their computational and robotics systems. They are hoping to match (or perhaps even exceed) the human brain in vision, hearing, pattern recognition and learning tasks (Boahen 2005). Read the rest of this entry » -
What makes neurons excited?
| November 17, 2009
Ever wondered what neurons do to each other? How does a signal generated in one neuron cause a reaction in another neuron? Neurons behavior is fairly complex (see this post), but with some simplification we can begin to understand, and model, how neurons affect each other and ultimately determine information processing in the brain. Read the rest of this entry »Comments: Leave a commentCategories: Computing, Neurobiology -
Software tools for Neurdons
| July 23, 2009
"You think you know when you learn, are more sure when you can write, even more when you can teach, but certain when you can program." Alan J. Perlis, Yale UniversityNeurdons cannot agree more. Reading and writing about neuroscience is not nearly as fun as creating a pulsing neural model! Recently, the Technology Lab at the Department of Cognitive and Neural Systems, where Neurdon was founded, has started to post a number of software tools, most of them in MATLAB, ranging from neural simulation software, to simple neural models, to biologically-inspired machine learning and machine vision tools. Read the rest of this entry »
Comments: Leave a commentCategories: Computing