~/work/tempra-particle-cluster-detector-for-electron-microscope-images.md
Case study

Tempra – Particle Cluster Detector for Electron Microscope Images

A Python desktop tool that reads TEM (Transmission Electron Microscopy) images, detects individual nanoparticles, groups them into clusters, and classifies the shape of each cluster. Shipped at 90%+ detection accuracy with a slider UI for the researcher to tune parameters per image, never touching code.

role
Solo · computer vision, algorithm, desktop UI
client
research use · name withheld
sector
Scientific tooling · electron microscopy · nanoparticle analysis
stack
Python · scikit-image · desktop UI with sliders
surface
Image in → annotated image + cluster report out · parameter sliders for per-image tuning
delivery
One-week project
01 / Problem

Counting clusters the computer does not yet know about

A researcher was spending time manually picking out clusters of nanoparticles in TEM images — electron microscopy output where hundreds of bright dots need to be grouped and categorised by the shape each group forms. The target was a tool that could do this automatically across a batch of images with better than 90% detection accuracy, and remain tunable by the researcher alone when a new batch needed slightly different parameters.

02 / Pipeline

Detect, group, classify

Three stages: detect individual particles as bright blobs using scikit-image; group the particles into clusters by proximity; classify each cluster by the geometric pattern its members form — three particles in a line, a triangle, a pair, and so on. For each cluster the tool records its centre point, the pairwise distances between particles, and the angles of each particle relative to the cluster centre, so the classification has the full geometry to lean on rather than only pixel-level features. The output is two artefacts: the original image with every cluster circled and annotated, and a text file listing every cluster and its members along with the geometry.

03 / Tuning without code

Sliders for the researcher

TEM images vary enough between sessions — contrast, particle density, noise — that a single set of detection parameters rarely works across a whole batch. Rather than having the researcher edit Python each time, the tool ships with a small desktop UI of weight sliders: move the sliders, the analysis re-runs, the overlay updates. Parameter tuning stays inside the researcher's loop and out of the developer's.

04 / Tech stack

Tools

  • Python
  • scikit-image (particle detection, geometry)
  • Desktop UI with tuning sliders
  • Cluster report (text) + overlay image export
~/work
01 / 01 navigate · Esc close