Everything published on this site, grouped by track. Within each group the newest post is first, so if you are following the learning path, start from the bottom of the Foundations group, or from the front page, which lists the lessons in order.
Foundations
The learning path: Python through real neural data, from a first neuron to a population.
The shape of a population: your first PCA
Foundations, lesson 4. Sixty-six neurons is a sixty-six-dimensional space. Write principal component analysis from scratch, find out how many dimensions visual cortex…
What did the mouse see? Your first neural decoder
Foundations, lesson 3. Turn 66 visual cortex neurons into a table, write logistic regression from scratch, and decode whether a stimulus was…
Does this neuron care about the stimulus?
Foundations, lesson 2. Align 340 trials to the moment a stimulus appeared, build the peri-stimulus time histogram, measure a tuning curve, write…
Your first neuron in Python
Foundations, lesson 1. Load a real recording of 734 neurons from a mouse brain, plot it, measure it, and build a working…
Signals
Back to the electrode: raw voltage, spikes, fields and the signal processing between them.
The brain getting ready to move: motor imagery and your first BCI signal
Signals, lesson 7. Align 64-channel EEG to movement cues, measure event-related desynchronisation over motor cortex, map it, find the visual-alpha trap, and…
What the filter threw away: EEG, LFP and the Fourier transform
Signals, lesson 6. Build the Fourier transform from a dot product, write a power spectrum and a spectrogram in ten lines each,…
From voltage to spikes: your first spike sorter
Signals, lesson 5. Ten seconds of raw Neuropixels voltage from a mouse brain: filter it, find the spikes, cut out their waveforms,…
Primers
Short introductions to methods the lessons lean on: GLMs, ICA, Bayesian inference.
Primer: independent component analysis
An introductory primer on ICA: the cocktail-party problem in two channels, how FastICA finds sources by non-Gaussianity (written from scratch in NumPy),…
Primer: Bayesian inference
An introductory primer on Bayesian inference with real neural data: prior, likelihood and posterior on a grid, watching a belief about a…
Primer: the generalised linear model
An introductory primer on GLMs with real neural data: why linear, logistic and Poisson regression are one model, how to fit a…
Neuro meets AI
Essays on where the two fields overlap, and why each should read the other's papers.
Why every neuroscientist should learn to code (and why every ML engineer should learn some neuroscience)
The typical neuron in a mouse brain fires twice a second and a third of them are nearly silent. You can see…
Deep Blue never learned anything: the real difference between AI and machine learning
Deep Blue beat Kasparov without learning a thing. AlphaGo did almost nothing but learn. That gap is the difference between artificial intelligence…
Could you write the rules down? A field guide to when a problem needs machine learning
In 1954 machine translation was promised within five years. It took forty, because the researchers picked the wrong kind of solution. One…
Decoding and brain-computer interfaces
From neural activity to action.
What is a brain-computer interface?
A brain-computer interface reads activity from the brain and turns it into action without muscles. This is the map: the four-stage loop,…
Tools and techniques
Formats, software and methods that keep coming up.
Machine learning inside the microscope: Nikon’s NIS.ai and the open tools behind it
Nikon's NIS.ai puts denoising, restoration, channel prediction and segmentation networks inside the microscope software. What each module does, the open papers and…
Base64 to image: what it is, how to do it, and when you should
What Base64 encoding actually does, a worked example you can check by hand, image-to-text-and-back in Python, Java and JavaScript, and an honest…
Algorithms
Older notes.