imec
Life Sciences Department
Machine Learning Research Intern
Oct 2024 – Jun 2025 · Leuven, Belgium

Cross-registered with my KU Leuven master's thesis, A deep learning powered platform for multimodal analysis of cellular dynamics.
Context
imec's Life Sciences department builds biosensor platforms, including the in-house Sparrow CMOS MEA system, which records electrical impedance from an array of electrodes beneath living cells while those same cells are imaged under a microscope. The appeal of pairing the two is that fluorescence imaging is phototoxic and slow to acquire, whereas impedance is continuous and leaves the cells alone. If the cheaper signal can carry part of the analysis, you image less and disturb the culture less. Two things stood in the way: no usable software existed to work with both modalities together, and the biologists who needed it did not write code.What I did
- Ran the wet-lab work to protocol — reviving cryopreserved cells, seeding and culturing on MEA chips, live-cell staining, and cell-cycle synchronisation by thymidine block — acquiring longitudinal fluorescence microscopy alongside simultaneous impedance recordings to build a labelled multimodal dataset from scratch across three morphologically distinct cell lines.
- Registered the two modalities onto a shared spatial coordinate frame, upsampling the coarse electrode grid and aligning it to the microscopy field so that impedance could be attributed per cell rather than per well.
- Built preprocessing and analysis pipelines in scikit-image and SciPy, and integrated CellPose and StarDist into a Napari plugin so users could segment, correct, fine-tune, and retrain models on their own data without writing code.
- Implemented an active-learning loop in which model uncertainty selected which images an expert should annotate next, concentrating scarce annotation effort where it changed the model most.
- Added mask correction tools and cell-lineage linking across timepoints, so tracked identities and division events could be inspected and fixed by hand where the model was wrong.
- Moved training off local machines, architecting a cloud pipeline with job queuing and remote GPU execution so that fine-tuning ran without anyone installing anything.
- Deployed to a team of 20+ biologists and evaluated it properly: a requirements study up front, iterative usability testing with eight participants in pairs with fixes between rounds, and a NASA-TLX workload assessment of the final tool.
What I took from it
Impedance tracked population-level change reliably, but its spatial resolution set a hard ceiling on how far it could substitute for imaging at single-cell level — the electrode grid is simply coarser than a cell. The interesting result was where that ceiling sat, not that the fusion worked.The usability work taught the other half. Domain scientists disengage the moment they are asked to reason about the machinery underneath — cloud, model architecture, hyperparameters — and they are already fluent in their own scripts, so the bar for switching is high. What made the tool usable was not exposing more control but exposing less: sensible defaults, presets, and guidance in context. Abstracting the complexity away was most of the design work.
Tech stack
Python
PyTorch
TensorFlow
Napari
PyQt
CellPose
StarDist
scikit-image
SciPy
NumPy
Active Learning
Slurm (HPC)
Google Cloud
Google Drive API