Python Tutorial

From Master of Neuroscience Wiki
Revision as of 15:59, 22 October 2025 by Davrot (talk | contribs)

How to Python in computational neuroscience, data mining, and more

All the tutorials are tested with Python 3.11.x. Older version might have a problem with the new versions of type anotations.

Flow chart

Workflow

Important VS Code notes:

  • You can mark segments of source node with your mouse (or keyboard) and use the TAB key to increase the level of the indentation or use SHIFT + TAB do decrease the indentation level.
  • Linux: CTRL + SHIFT + 7 toggles between comment and normal source code.
  • The function key F2 allows you to change variable and function names. VS Code goes through all the node in your Project directory and changes all occurrences of the function or variable name accordingly. The same is true if you change a file name in a project directory.

Python: The Basics of the basics

Python: Special topics

Numpy: The Basics of the basics

Numpy: Special topics

Numpy: Matlab topics

In the case you know Matlab check here: NumPy for MATLAB users

Matplotlib.pyplot

Pandas

Machine learning: Sci-kit Learn

Machine learning: Pure numpy

SciPy

Python: Questions of spectral nature

Python: Daily little helper

OpenCV2 and Python

PyTorch

PyBind11

Tensorflow / Keras

Sympy

Numerical Integration, Differentiation, and Differential Equations

Arduino


S1: Advanced Programming (last update 16.02.2024)

 - For detailed descriptions, please see: ['Neuronal Dynamics' textbook](https://neuronaldynamics.epfl.ch/online) ['Theoretical Neuroscience' textbook](https://boulderschool.yale.edu/sites/default/files/files/DayanAbbott.pdf)
  • Neuron Models Equations -- Rate-based neurons
 - DivInE-model for MT neurons
  • Neuron Models Equations -- Spiking neurons without explicit spike generation mechanism
 - Leaky Integrate-and-Fire
 - Exponential Integrate-and-Fire
 - Quadratic Integrate-and-Fire
 - Connor Stevens
 - Task 1 --Mandatory Tasks
  • Task 2 -- Pictures for comparision
 - Task 2 -- Mandatory Tasks
 - Task 2 -- Voluntary Tasks: Preprocessing
 - Task 2 -- Voluntary Tasks: More Information!

Advanced Studies

  • Material from ages past
 - 2022: Preparation -- Python class with and without classes
 - 2022: Deep Networks and Pytorch
 - 2022: Divisive inhibition: a dynamical circuit for change detection
 - 2022: Synchronization and dynamic oscillations in the visual system
 - 2020: Deep Networks and Tensor Flow
 - 2020: Divisive Normalization -- a Universal Concept for Adaptive Dynamics and Function of Cortical Circuits
 - 2020: Recurrent networks: Temporal dynamics and synchronization
 - 2017: Oscillations and information routing: CTC model
 - 2017: Change detection: The DivInE-Model
 - 2017: Contour Integration
 - 2017: Computation Spike by Spike
 - 2017: Natural scenes and sparse coding in visual cortex