layout | title |
---|---|
worksheet |
Welcome |
This training course will introduce you to the basic concepts of data acquisition and behavioural control using the Bonsai{:target="_blank"} visual programming language.
Monday | Tuesday | Wednesday | Thursday | Friday | |
---|---|---|---|---|---|
Lecture | Introduction to Bonsai | Reactive Operators | Higher Order Operators | Computer Graphics | Closed-loop VR |
Workshop | Acquisition and Tracking | Closed-loop experiments | State Machines | Shaders | Visual Environments / Final Projects |
- What is visual reactive programming?
- Marble diagrams and how to read them
- Learning your way around the Bonsai IDE
- How to measure and control almost anything with Bonsai
- Real-time tracking of colored objects, moving objects and contrasting objects
- Measuring behavior using voltages and an Arduino
Tutorial: acquisition and tracking
- Fundamental reactive operators
- Data synchronization and measuring closed-loop latency
- Conditional effects: triggering a stimulus based on video activity
- Continuous feedback: modulate stimulus intensity with speed or distance
- Continuous and conditional feedback: closed-loop experiment building blocks
- Synchronising asynchronous data streams
Tutorial: closed-loop systems, data synchronisation
- Sharing observable sequences
- Creating dynamic observable sequences with higher-order operators
- Modeling trial sequences: states, events, and side-effects
- Driving state transitions with external inputs
- Best practices for composing complex workflows
Tutorial: state-machines for operant tasks
- Introduction to modern graphics programming
- Writing your first fragment shader
- Introduction to BonVision{:target="_blank"}
- Projection mapping and multi-display systems
Tutorial: Bonsai shaders
- Integration with external modelling tools
- Building closed-loop virtual reality experiments
- Reproducible deployment and versioning of experiments
Tutorial: Visual environments, final projects