This toolbox is the result of a student group project for the course "Neurodynamics (Lecture + Tutorial)" held in SS2020 by Prof. Gordon Pipa at the University of Osnabrück.
The goal of this project was to implement simple Python examples for specific topics covered in the lecture. These examples can be used by future neurodynamics students to practically experience and investigate certain phenomena occuring in neural dynamical systems. For this, we will use Python's brian2 toolbox, which is an extensive library created to implement and simulate various neurodynamic processes. We try to give simple examples on how to use the brian2 workflow, and to give students the opportunity to interact with these simulations using ipywidgets for jupyter notebooks.
Each topic is presented as a Jupyter Notebook that should be run within Google Colaboratory. Thus, no pulling or installation of this repository is needed. To get started, check the description of the available topics below and click the links to open the corresponding notebooks.
We suggest you start your journey with this notebook as it introduces you to the brian2 toolbox that will be used throughout our examples. In this notebook you can interactively examine the spiking and reset behavior of different types of single neurons. We will show the equations for the underlying dynamical systems for the neuron models and implement them using brian2.
Expanding on the notebook above, this one provides an introduction to stability analysis of 1D and 2D dynamical systems.
In this notebook, you will learn how to build multineuron networks with brian2 and visualize them using our neuropynamics plotting functions.
Learn what difference dendritic computation can make in the localization of a sound stimulus and see how it changes depending on the timing of sound reaching the left ear and right ear.
Investigate complex and chaotic behavior resulting from the interaction of different parameters in different neuron models.
Stability analysis is widely done in a Java based software. We have implemented it as a Python notebook. The notebook provides a clean interface to plug in all the parameters for Non-Linear Ordinary Differential Equations. The code is clean and reusable. It can be extended to include more types of differential equations and controls over the plotting.