About
Open Ultrasound Lab is a free course on the mathematics, physics, hardware and signal processing of ultrasound imaging, written for engineers and researchers who want to read, and then extend, current work in localization microscopy, sound-speed estimation and aberration correction.
The project
The course has 33 modules in five parts, from complex numbers and the FFT to the three capstones. Each module derives its results, puts 7-odd interactive demos next to the equations, collects the rules of thumb experts quote, and ends with interview questions, a MATLAB lab and a self-check. Modules link to each other by number, so you can start anywhere and follow the prerequisites back.
How it was built
M. Nguyen, an ultrasound engineer, planned the course, set the scope and the accuracy rules, and reviewed parts of it. Most of the text, demos and scripts were drafted by an AI model (Claude, by Anthropic) working to a written authoring guide (BRIEF.md in the repository). Because a language model can state wrong things fluently, the build relies on checks rather than trust:
- Provenance badges. Every figure is labeled Exact formula, Simulation, Approx. model or Schematic. A simulation badge is allowed only for solvers that actually run in the page or in Octave, and approximate models must state their assumptions.
- Render tests. A headless browser opens every page at desktop and phone width in light and dark themes and fails the build on JavaScript errors, horizontal overflow, canvases that stay blank, MathJax errors or unrendered TeX.
- Octave tests. All 159 MATLAB scripts run headless in GNU Octave; a script that errors fails the build. The printed numbers were compared with the page text when each script was written.
- Independent audit. A second model instance, without the author's context, re-derives each module's key results blind, extracts every quantitative claim and citation into a table, and marks each correct, wrong, imprecise, unverifiable or disputed. Wrong and imprecise items are fixed; unverifiable ones are listed on the errata page. Modules audited so far: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33. The rest are queued.
- Verified literature. References and figure numbers in "Figures from the literature" were looked up before inclusion; ones that could not be confirmed were dropped.
None of this makes the course error-free. It has been only partly reviewed by a human expert. Read the disclaimer, and please report what you find.
Who made it
M. Nguyen, with Claude (Anthropic). More about the author on LinkedIn. This is a personal project and does not represent any employer.
License
Text and figures: Creative Commons Attribution 4.0 International. Code (page scripts, MATLAB/Octave files, build tools): MIT. See LICENSE and LICENSE-CONTENT in the repository.