NotebookEntry 06
NTA, simulated
A Monte Carlo of the whole nanoparticle tracking measurement: which vesicles the camera sees, how they jitter, which tracks survive, and how far the reported sizes drift from the truth.
- Python
- Monte Carlo
- Script included
- Made with Claude
- 26 September 2026
- +23%Shift in the median diameter, from 102 nm to 126 nm, once detection and tracking are simulated.
- 13.6%Of vesicles never seen by the camera. 65% of those are under 70 nm.
- 81%Of tracks sized under 70 nm actually came from larger vesicles whose jitter was overestimated.
- 0.55 to 3.98Spread of recovered over true size for 10 to 14 frame tracks (10th to 90th percentile). Past 50 frames it tightens to 0.76 to 1.46.
Needs Python 3 with numpy, scipy and matplotlib. Runs in about a second.
The question
Nanoparticle tracking analysis sizes extracellular vesicles by watching them jitter: smaller particles diffuse faster. But the camera only sees particles that scatter enough light, the software drops short tracks, and every recorded position carries some noise. How far do the reported sizes drift from the truth?
What the model does
It builds a known population of 4,000 vesicles (75% near 90 nm, 25% near 190 nm) and decides which ones the camera detects. It simulates each detected particle's Brownian track frame by frame with localization error, drops tracks shorter than ten frames as NTA software does, fits a diffusion coefficient to every track that survives, and converts that back to a diameter with the Stokes-Einstein equation.
What it shows
The reported distribution comes out broader and shifted up: the median moves from 102 nm to 126 nm. Detection alone accounts for about a third of that shift, because the camera misses small, dim vesicles. The rest comes from short tracks. With only 10 to 14 frames, a track can put a vesicle at anywhere from half to four times its real diameter; past 50 frames the error mostly settles.
The model leaves out a few things real instruments add, such as motion blur and particles drifting out of focus, so a real measurement has more ways to go wrong than this one.
Claude wrote and ran the script. It pairs with Fig. 1 on the home page, which simulates the same measurement live, and with the NTA sizing I ran on EV preparations this summer.