NeuroTools is a collection of tools to support all tasks associated with a neural simulation project and which are not handled by the simulation engine. NeuroTools is written in Python, and works best with PyNN, or one of the growing list of simulation engines with a Python front-end such as NEURON, NEST, PCSIM, FACETS Neuromorphic VLSI, Brian, MOOSE/GENESIS, Neurospaces/GENESIS. NeuroTools provides modules to facilitate simulation setup, parameterization, data management, analysis and visualization. The data-related tools are equally suited to analysis of experimental data, although that is not the primary motivation for their development.

NeuroTools aims to:

  1. increase the productivity of individual modellers by automating, simplifying, and establishing best-practices for common tasks,
  2. increase the productivity of the neuroscience modelling community by reducing the amount of code duplication across simulation communities,
  3. increase the reliability of data analysis tools leveraging Linus’s law: “given enough eyeballs, all bugs are shallow.”

NeuroTools is open-source software, and anyone who is interested is welcome to contribute (more).

Users’ Guide

NeuroTools functionality is modularized as follows:

  • The signals module provides core functionality that allows manipulation of and calculations with spike trains and analog signals.
  • The spike2 module offers an easy way for reading data from CED’s Spike2 Son files into the NeuroTools enviroment.
  • The parameters module contains classes to make managing large, hierarchical parameter sets easier.
  • The analysis module contains miscellaneous analysis functions
  • The stgen module contains various stochastic process generators relevant for Neuroscience (OU, poisson, inhomogenous gamma, ...).
  • The utilities sub-package containsi the srblib, an easy-to-use interface for interacting with SRB servers.
  • The io module is the gateway for all reading/writing of files, in different formats, in NeuroTools.
  • The plotting module contains a collection of tools for plotting and image processing, based on Matplotlib and the Python Imaging Library.
  • The datastore module presents a consistent interface for persistent data storage (e.g., for caching intermediate results), irrespective of storage back-end.

See also more real-world examples in the examples folder and the NeuralEnsemble Cookbook.

If you have questions, there are nice people to answer them at the NeuralEnsemble googlegroup.

If you feel you have discovered a bug, please let us know so we can fix it by posting a ticket using the “New Ticket” button in the toolbar above.


Developer pages

For those interested in contributing to the development of NeuroTools, please browse the following links.


NeuroTools: Analysis, visualization and management of real and simulated neuroscience data. Copyright (C) 2010 Daniel Bruederle, Andrew Davison, Jens Kremkow, Eric Mueller, Eilif Muller, Martin Nawrot, Michael Pereira, Laurent Perrinet, Michael Schmuker, Pierre Yger.

NeuroTools is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

The GNU General Public License does not permit this software to be redistributed in proprietary programs.


NeuroTools is a community-driven open-source project with many hard working contributors: see the AUTHORS and THANKS files.

NeuroTools software development is supported in part by the EU under the grant IST-2005-15879 (FACETS) for years 2005 to 2010 and by European Union project Number FP7-269921, BrainScales from 2010 to 2014.

Indices and tables

Table Of Contents

Next topic

HDF Tools

This Page