Andrew Van

Machine learning engineer working on neuroimaging. I build the pipelines and models that turn raw brain scans into data people can trust.

Senior Machine Learning Engineer at Centile Bioscience. Image processing for MRI and fMRI, deep learning for medical images, and the cloud infrastructure that runs them for clinical use. Ph.D. in Biomedical Engineering, Washington University in St. Louis.

k-spacelog |F(kx, ky)|
image|f(x, y)|

0 / 256 ky lines

A live Fourier reconstruction. Drag across k-space to acquire lines by hand.

01

Selected work

All work
  1. 01

    warpkit

    Python library for neuroimaging transforms and the reference implementation of MEDIC, Multi-Echo DIstortion Correction for fMRI. The phase difference between echoes in every frame becomes a B0 field map, so distortion is corrected as the head moves rather than once from a static field map. Ships as wheels, standalone binaries and a Docker image; the phase-unwrapping core is a C++17 port of ROMEO. Published in Imaging Neuroscience; patent pending.

    NeuroimagingDistortion correction · fMRI · Python · C++
  2. 02

    wbsurfer2

    Command-line tool for turning CIFTI surface data into movies with Connectome Workbench 2. A refresh of the original wbsurfer, distributed as compiled binaries for each OS as well as on PyPI.

    VisualisationCIFTI · Connectome Workbench · Python
  3. 03

    jamb

    IEC 62304 requirements traceability for pytest. Link tests to the requirements they verify with a marker, manage the requirement documents from the command line, and generate the traceability matrices that regulatory submissions for medical-device software need.

    Developer toolingpytest · IEC 62304 · Python
  4. 04

    difftrace

    Change detection for uv monorepos. Parses uv.lock into the workspace dependency graph, maps a git diff onto packages, and walks reverse dependencies to find everything transitively affected, so CI only builds, tests and deploys what a change actually touches. Zero runtime dependencies; ships as a GitHub Action.

    Developer toolinguv · CI · Python
  5. 05

    brainextractor

    FSL's Brain Extraction Tool re-implemented in pure Python: a deformable surface model that finds the brain boundary without the original toolchain.

    NeuroimagingBrain extraction · Python
02

About

I came to machine learning through neuroimaging: first as a research technician watching scans get ruined by head motion, then as a Ph.D. student building the processing methods that fix what motion leaves behind.

These days the work is neuroimaging processing and machine learning: pipelines that take raw MRI to analysis-ready data, and deep-learning models that segment and correct it. Most of it ends up in front of clinicians, so it has to be right, fast and boring to run.

More about me

03

Teaching

All demos

Interactive MRI physics demos I built for teaching. Not the day job, but the fastest way I know to explain where the images come from.

  1. 01

    k-space navigator

    Drive through k-space with gradient pulses like an Etch-a-Sketch. Fire an RF pulse, hold Gx and Gy, and watch the trajectory while the free induction signal decays under you.

    Interactive
  2. 02

    Line-by-line reconstruction

    Acquire k-space one phase-encode line at a time in sequential, centric or keyhole order and see truncation, blurring and Gibbs ringing appear in the image.

    Interactive
  3. 03

    Spins and spatial frequency

    Move the (kx, ky) sampling point and watch the phase pattern it imposes across a grid of spins, in the laboratory or the rotating frame.

    Interactive
  4. 04

    Larmor precession

    Individual nuclear spins at thermal equilibrium: precession around B0, Boltzmann populations, and why random phases sum to zero transverse magnetisation.

    Interactive
04

Contact

Working on something in neuroimaging or machine learning? Say hello.