| Home | Research | People | Search  

CNRG Code Library

This page contains code that we have written to implement our framework. The main code here is now the Nengo package described below. This includes a graphical interface and can be used to construct sophisticated, neurally plausible simulations with a minimum of effort.

NESim is our legacy Matlab code. Code in the 'Other Code' section are Matlab functions that can be used to generate models developed using theCNRG framework, independent of NESim (much of it, including some more recent versions are integrated into NESim).

Please see the copyright page for use and distribution information.

Nengo (Neural Engineering Objects)

 

This package is now our main simulation environment. It was initially released Nov 2007, and version 1.0 was released April, 2008. It fully implements NESim (below), and has a number of extensions. It is written in Java and has a much improved GUI. We are developing a parallel backend.

Nengo is supported through its own website at www.nengo.ca.

NESim (Neural Engineering Simulator)

This package was initially released Oct 28, 2002, to coincide with the release of our book. (last update: v. 3.8 Feb. 3, 2005). We no longer are supporting this code, please use Nengo above.

Click here to download the main NESim.zip file from SourceForge. This contains the simulation code, the GUI, the help files, and some examples [an error occurred while processing this directive] .

The documentation is also available online and provides a useful introduction to the package.

NOTE: We have removed the java version and used only a Matlab interface to improve compatability. Significant improvements have been written into the engine of this version improving run times by a factor of 2-3.

Go here to suggest features/improvements or report bugs.

Extras for NESim

The otolith (33MB) example is a large simulation that models portions of the vestibular system (this example is detailed in the book).

Other Code

This code has been removed, but can be provided upon request. Most of it is available in the Nengo/NESim packages above.

genNeuronVecRep.m

Generates the parameters for a population of N neurons with D-dimensional preferred direction (encoding) vectors.

genActivitiesB.m

Computes the activities, given the neural parameters.

getDecVecC.m

Computes the optimal decoding vectors for the neurons defined in genNeuronVecRep.

genuniD.m

Called by genNeuronVecRep, this generates the preferred direction vectors (it accomplishes the task of choosing vectors from a uniform distribution over the unit D-dimensional hypershpere).

mainHW3p1.m

Homework 3 problems: Generates signals according to various power spectra
mainHW3p2.m Homework 3 problems: Plots LIF neuron Vm(t) for inputs = 0,1
mainHW3p3.m Homework 3 problems: Plots LIF spikes in response to various signal
genSignalHW3p1.m Homework 3 problems: Signal generator for problems 1 and 3
genSpikesHW3p2.m Homework 3 problems: Signal generator for problem 2
genSpikesHW3p3.m Homework 3 problems: Spike generator (LIF neuron) for problem 3
getPSD_HW3p1.m Homework 3 problems: Power spectrum generator for problems 1 and 3
genOnOFFLIFSpikes.m Integration of Leaky Integrate and Fire model of neurons. Returns spike times of on/off neurons to given input signal.
genSignal.m

Generates bandlimited signal given appropriate parameters.

BLimitWhiteNoise.m

Function that computes the amplitudes given the frequencies omega RMS level and bandwidth variance.

OptFilE.m

Compute the optimal decoding filter

DecodEx.m Decoding example: Generates Gaussian random signals from a Gaussian power spectrum, gets the spikes, computes optimal decoding filter
ExSpiker.m LIF model spike generator; subroutine called by DecodEx
fireHW5.m Computes LIF neuron activities
firing_ratesHW5.m Generates LIF rate neuron curves
genSpikesHW5p4.m Generates LIF spikes for hw5p4
hw5p1.m Homework 5, problem 1 Line attractor
hw5p2.m Homework 5, problem 2 Neural integrator-rate neurons
hw5p3.m Homework 5, problem 3 Neural integrator-filtered rates
hw5p4.m Homework 5, problem 4 Neural integrator, spiking neurons *Note: first run problem 2, and save the data by typing "save integrator_parms". Works best if the random population generated for problem 2 did a good job.

 

All material on this site is copyrighted