https://github.com/ccnmaastricht/spiking_saccade_generator

https://github.com/ccnmaastricht/spiking_saccade_generator

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    2 of 4 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: ccnmaastricht
  • License: other
  • Language: Python
  • Default Branch: master
  • Size: 846 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 6 years ago · Last pushed about 6 years ago

https://github.com/ccnmaastricht/spiking_saccade_generator/blob/master/

# Spiking Saccade Generator

## Introduction
This repository contains an implementation of a spiking neural network model of the saccade generator in the reticular formation inspired by *A neural model of the saccade generator in the reticular formation* by Gancarz and Grossberg, Neural Networks, 1998.  

The spiking neural network consists of four recurrently connected populations of spiking neurons which are interconnected in a population-specific manner (see figure). 
These populations correspond to populations of neurons found in the reticular formation exhibiting similar responses in electrophysiological experiments (see, e.g., *The brainstem burst generator for saccadic eye movements* by Scudder et al., Exp Brain Res, 2002, for a review) and are believed to play different roles in the saccade generation process. 
The four populations are long-lead burst neurons (LLBN), short-lead burst neurons (SLBN; in turn consisting of recurrently connected excitatory and inhibitory burst neurons), a separate population of inhibitory burst neurons (IBN), and omni-pause neurons (OPN). We refer to the excitatory subpopulation of the SLBN as EBN (excitatory burst neurons).

Electrophysiological studies show that in the time between two saccades the OPN fire regularly and inhibit the EBN. 
Upon initiation of the saccade generation process by a signal to LLBN encoding the desired displacement of the saccadic jump, the LLBN inhibit the OPN and excite the EBN. 
Due to the disinhibition of the EBN via the OPN and the direct excitation, the EBN themselves begin to burst. 
The activity of the EBN is not only passed to the motor neurons but also directed to the IBN, which in turn inhibit the LLBN. 
Due to the absence of inhibition the OPN become active again and deactivate the EBN.
This leads to a reset of the circuit to a state qualitatively identical to the initial one.

The interconnections between the four populations are schematically depicted below:  
![](figures/burst_generator.png)  
This fundamental building block takes responsibility for the movement of the eyes in **one** direction, e.g. horizontally left or vertically downwards.
To build a complete saccade generator, one first patches together two of these fundamental building blocks collapsing the two OPN populations into one, thereby obtaining a saccade generator for either horizontal or vertical saccades. 
For the second axis, one just duplicates this circuit.
In the model, the LLBN and the SLBN consist of two interconnected populations of excitatory and inhibitory multi-timescale adaptive threshold model neurons (see *Made-to-order spiking neuron model equipped with a multi-timescale adaptive threshold* by Kobayashi et al., Front Comp Neurosci, 2009) exhibiting bursty behaviour.
The activity of the excitatory subpopulation (EBN) of the SLBN determines the size of the saccades.
The OPN consist of two interconnected populations of excitatory and inhibitory leaky integrate-and-fire neurons.
The IBN consist of one interconnected population of inhibitory multi-timescale adaptive threshold neurons again showing bursty behavior.

The network satisfies Dale's principle and qualitatively takes different neuron characteristics (the distinction between bursting and non-bursting neurons) found in the reticular formation into account.
Our model differs from the one described by Gancarz and Grossberg in the respect that they model the saccade generator with neural populations, i.e. they represent the network with a system of coupled differential equations where each population is described via one of these equations.
Our network, however, is more biologically plausible since it operates with spiking neurons which not only satisfy Dale's principle
but also exhibit bursty dynamics, motivated by the neurons found in the saccade generator.
All simulations were carried out with NEST 2.18 using the PyNEST interface (Jordan et al., NEST 2.18.0. Zenodo, 2019, 10.5281/zenodo.2605422).
## Results
The constructed network exhibits the reset property described above if provided with sustained input.  
![](figures/response_saccade_generator_populations.png)  
Moreover, the EBN show a linear response upon sufficiently strong stimulation of the LLBN.  
![](figures/response_saccade_generator_ebn.png)  
This allows for a linear readout of the activity of the EBN to determine the saccade size.  
Building a complete saccade generator, one obtains the following:  
![](figures/performance_saccade_generator.png)

## Usage
In order to use the saccade generator one needs to first add the base directory to one's PYTHONPATH. If one is in the base directory of the spiking saccade generator, one just needs to execute the following (on a Unix-like system):
```
export PYTHONPATH=$PWD:$PYTHONPATH
```
See **example.py** in /examples for a step by step introduction to the usage, also see the evaluations scripts in /examples/evaluation.
## Requirements
See environment.yml for used Python packages. We used NEST 2.18.0 as simulation engine.

## Contributors
Code written by Anno Kurtha, b, c with support from Sacha van Albadaa, b, c, d.

**a)** Institute of Neuroscience and Medicine (INM-6), Jlich Research Centre, Jlich, Germany

**b)** Institute for Advanced Simulation (IAS-6), Jlich Research Centre, Jlich, Germany

**c)** ARA-Institute Brain Structure-Function Relationships (INM-10), Jlich Research Centre, 	Jlich, Germany

**d)** Institute of Zoology, Faculty of Mathematics and Natural Sciences, University of Cologne, Cologne, Germany

## License
CC BY-NC-SA 4.0 (https://creativecommons.org/licenses/by-nc-sa/4.0/, see License.md).
## References
Gancarz, Gregory, and Stephen Grossberg. "A neural model of the saccade generator in the reticular formation." Neural Networks 11.7-8 (1998): 1159-1174.  
Scudder, Charles A., Chris R. Kaneko, and Albert F. Fuchs. "The brainstem burst generator for saccadic eye movements." Experimental brain research 142.4 (2002): 439-462.  
Kobayashi, Ryota, Yasuhiro Tsubo, and Shigeru Shinomoto. "Made-to-order spiking neuron model equipped with a multi-timescale adaptive threshold." Frontiers in computational neuroscience 3 (2009): 9.
## Acknowledgments
This work was supported by the European Union Horizon 2020 research and innovation program (Grant 737691, Human Brain Project SGA2).

Owner

  • Name: Cognitive Computational Neuroscience Group Maastricht
  • Login: ccnmaastricht
  • Kind: organization

Studying cognition from the perspective of A.I. and neural computation

GitHub Events

Total
Last Year

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 26
  • Total Committers: 4
  • Avg Commits per committer: 6.5
  • Development Distribution Score (DDS): 0.462
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
ackurth a****h@f****e 14
ackurth 4****h 8
Sacha van Albada s****a@f****e 2
MSenden m****n@g****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels