BIOS 214 · Autumn 2026 · Stanford School of Medicine
Open-Source MRI Sequence Development: Simulation to Scanner
Taught by Carlos Castillo-Passi and Daniel Ennis
Hands-on MRI sequence design, simulation, acquisition, and reconstruction with open-source tools.
Overview
This interdisciplinary mini-course introduces an end-to-end workflow for MRI sequence development using open-source tools. Students will design pulse sequences in Pulseq, simulate and validate them with KomaMRI, and reconstruct simulated or acquired data using BART and MRIReco. Hands-on laboratory sessions connect simulation to scanner experiments through Pulseq interpreters and OpenRecon, with an emphasis on reproducible workflows and scientific interpretation.
There will be an emphasis on research rigor, reproducibility and transparency, by using open-source tools and the creation of reproducible pipelines. Intended for students with basic programming experience and an interest in MRI and computational methods.
Learning goals
By the end of this mini-course, students will be able to:
- Design basic MRI pulse sequences using Pulseq.
- Simulate MRI experiments using Bloch simulations in KomaMRI.
- Reconstruct MRI data using BartIO and MRIReco.
- Analyze the impact of sequence parameters on image contrast and artifacts.
- Implement and iterate on sequence designs using a rapid prototyping workflow.
- Evaluate sequence performance through simulation and scanner experiments.
Schedule & materials
Last updated: October 21, 2026
Scroll sideways to see all days.
| Week | Monday | Wednesday | Friday |
|---|---|---|---|
| Week 1 | Day 1 · Nov 9 |
Day 2 · Nov 11 |
Day 3 · Nov 13 |
| Week 2 | Day 4 · Nov 16 |
Day 5 · Nov 18 |
Day 6 · Nov 20 |
| Week 3 | |||
| Week 4 | Day 7 · Nov 30 |
Day 8 · Dec 2 |
Day 9 · Dec 4 |
Classroom: CCSR4107, except days 1 and 3:
M218/218A.
Lecture: 9:30-10:20 a.m.
Lab: 10:30-11:50 a.m.
Friday scanning: After the lecture, we’ll head to Cima.X (3T3) in the Lucas Center.
Before the first class
Complete these steps: yourself;
coding agent
Install and sign in to a desktop coding agent (not the CLI version), such as Codex or Claude Code.
Ask your coding agent to install Julia 1.12 and add Pluto to Julia’s global environment.
Ask your coding agent to clone the activities repository.
Open the cloned folder as a project in your coding agent to access
AGENTS.mdand the course skill.Ask your coding agent to open Activity 0, then
complete the activity to familiarize yourself with the environment and confirm:
Correct environment setup, including Julia 1.12 (check
VERSION).Pluto’s reactivity when inputs change.
Use of the course-provided skill file by your coding agent.
Report any setup problems before the first class. This readiness check is ungraded.
Canvas
Enrolled students can access BIOS 214 on Canvas for announcements, submissions, grades, and any restricted material.