Coder Social home page Coder Social logo

anf_models_brian2's Introduction

Comparison of multi-compartment cable models of human auditory nerve fibers

The multi-compartment human ANF models by Rattay et all (2001), Briaire and Frijns (2005) and Smit et al (2010) were implemented in a single framework. Scripts for the measurement and comparison of model properties, including threshold, conduction velocity, action potential shape, latency, refractory properties, as well as stochastic and temporal behaviors, are provided. All scripts for model analysis support multiprocessing.

Installation

All scripts were implemented in Python 3.4. and the following packages have to be installed:

  • brian2
  • thorns
  • numpy
  • scipy
  • pandas
  • matplotlib
  • itertools

Brian is a simulator for spiking neural networks and provides for an efficient numerical solution of differential equations and the use physical units. To understand how it was used in the scripts, the reader is referred to the Brian2 documentation.

Usage

Plot action potential propagation of a model

Run the script Simulations.py to plot the action potential (AP) propagation along the fiber and over time for an ANF model. The time course of the ion currents and gating variables can also be plotted, so this script allows for a deeper analyses of the spiking behavior of a model.

Measure ANF properties of a model

Run the script Run_test_battery.py to measure major ANF properties for one selected model. This includes:

  • Chronaxie and Rheobase
  • Relative spread of thresholds
  • Conduction velocity
  • AP height, rise and fall time
  • Latency
  • Absolute and relative refractory period

Furthermore the following figures can be plotted

  • Strength-duration curve
  • Visualization of relative spread of thresholds
  • Single node response
  • Refractory curve
  • Post-Stimulus Time Histogram

All measured data (and data to reproduce plots) are saved as excel files. Most of the test will take quite along time when run on one core. The parameter "backend" can be set to multiprocessing to use multiple cores. This however does only work properly on Linux so far.

Measure and analyze further ANF characteristics

Run the script Model_analyses.py to measure and analyze some further ANF characteristics. Different to the scripts mentioned so far, properties can be measured for several models simultaneously. The following characteristics can be analyzed.

  • Thresholds for pulse-train stimulation plotted over pulse rate, train duration and number of pulses (three plots)
  • Thresholds for sinusoidal stimulation for different frequencies and stimulus durations
  • Latency dependency on stimulus amplitude and electrode distance
  • Computational efficiency of the models
  • Refractory periods for pulse trains (malfunctioning)
  • Dependency of relative spread and jitter on the strength of the applied stochasticity
  • Somatic delay measurement

Most of these results are visualized with a figure. Again all measured data are saved as excel files. Again the parameter "backend" can be set to multiprocessing to use multiple cores.

anf_models_brian2's People

Contributors

ribach avatar

Forkers

treestreamymw

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.