Clips

Each clip plays once when it comes into view. The button under it pauses or replays it.

From stimulus to predicted BOLD signal

A bar sweeps across the visual field in eight directions. Each time it crosses the receptive field (small circle), the model predicts a neural response. The slower hemodynamic response turns that into the predicted BOLD signal. Simulated with prfmodel.

In context: Computational models

The model as a chain of stages

The model takes parameters θ and a stimulus and returns a predicted time series. Inside, it is a chain of stages: stimulus features, spatial pooling, a transformation, neural dynamics and the hemodynamic response function (HRF). Four stages carry fitted parameters. The time series shown are synthetic.

In context: Computational models

Fitting a population receptive field

Fitting one measured voxel. A grid search tries receptive field positions and sizes and keeps the best one (dashed circle); refinement then adjusts it until the prediction follows the measured time series. The variance explained, R², is 0.84 at the best grid point and 0.86 after refinement.

In context: Computational models

A bar crosses a divisive normalization pRF

Simulation of the divisive normalization pRF model. Left, the visual field with the pRF: the solid circle marks the activation pool (σ₁), the dashed circle the larger normalization pool (σ₂). As a bar crosses the field, the activation pool (numerator) responds only near the pRF and the normalization pool (denominator) over a wider range. Their ratio, the response, peaks at the pRF and dips below zero on both sides. Simulated with prfmodel; parameter values are illustrative.

In context: Computational models

Size tuning and oversaturation

Simulation of the divisive normalization pRF model. A disc grows around the pRF center. The response rises while the disc fills the activation pool (solid circle), then falls as the disc keeps filling the larger normalization pool (dashed circle). A larger normalization constant d gives a weaker response that falls less, and when the two pools have the same size the response levels off without falling. Simulated with prfmodel; parameter values are illustrative.

In context: Computational models

Fitting a connective field

Simulation of a connective field fit. Left, a model sheet of V1, one square per voxel, colored by distance from fixation. The ring is the candidate patch, and the squares are inked by the weight it gives them. Right, a target voxel elsewhere in the brain with the patch's prediction: the weighted sum of the V1 voxels under it. The patch tries positions and sizes, keeps the best one (thin dashed ring), and is then refined. The target inherits the visual field position of the patch's center voxel. The dashed ring at the end is the connective field the target was simulated with. Simulated with prfmodel; sizes are in voxels of the model sheet, which has no physical scale.

In context: Computational models

From fitted receptive fields to a map

Each dot is the fitted receptive field center of one voxel, and each square is that voxel on a schematic sheet of cortex. Colored by distance from fixation, and then by direction from fixation, neighboring voxels prefer neighboring positions: a map of the visual field. The voxels are simulated, and each is fitted on its own.

In context: Topographic maps

How they are made

Most of the clips began in our lectures. Each lecture is one Markdown file, which lecturekit builds into a Reveal.js deck for the room and a Beamer PDF for study. Figures are drawn from numbers and clips are rendered from code with Manim, so a lecture can be rebuilt and checked like any other analysis.

manim8 is the animation layer. An animation is specified in versioned YAML, or described in plain language to an assistant that writes the YAML. It is composed from registered components, reviewed through still frames at named checkpoints, and rendered under a versioned style. The look of a lecture is defined once, in a brand file, and the same clip can be rendered for a light and for a dark deck.

The versions shown here are manim8 projects in site-animations, with the data each clip draws. Simulated curves and fits are computed with prfmodel, and each clip is rendered twice from the same scene, for the light and the dark version of the site.

Both packages are open source under the MIT license and in active development; neither is on PyPI yet. lecturekit installs from GitHub and needs Quarto and a TeX distribution (see its installation notes):

pip install "lecturekit[review,figures,clips] @ git+https://github.com/tknapen/lecturekit@main"
lk new my-lecture && cd my-lecture && lk build

manim8

In development

A local-first system for reproducible, consistently styled scientific animations with Manim. An animation is specified in versioned YAML, composed from registered components, reviewed through still frames at named checkpoints, and rendered under a versioned style.

Example lectures

lecturekit-expo collects complete lecture projects built this way. Each carries its storyboard, plan, checked facts and the sources it was built from, with clips made for it:

  • Divisive normalization across the hierarchy
  • Drift diffusion: evidence to a bound
  • A talk from a paper: joint visual and somatotopic tuning
  • MRI from spins to k-space
  • Signal detection theory in twenty minutes