Brownian motion · Your observations

From your track to an honest inference.

Keep the measured positions, the missing observations and the assumptions together. Change the analysis without rewriting the evidence.

Local observations

Your observations, kept on this device

No data loaded

Import a classroom CSV, or try the synthetic practice track. Everything stays in this page: nothing is sent to a server or put in a share link.

Paste an observation CSV instead

CSV limit: 2 MiB and 20,000 rows. To capture coordinates from your own video, use the tracker at the end of this laboratory. Nothing is saved automatically: export the observations, or keep them on this device, before closing or reloading the page.

No observation file is loaded. No worker has started.

Track a particle in a local video

No video or frame pixels are uploaded or included in exports. Nothing is saved automatically. Keep the original recording and download annotations before leaving this page.

Limits: 256 MiB, 10 minutes, 4096 pixels per source edge, a 1920-pixel working canvas, 2000 requested frame reads, and 2 seconds per read. Internal decoder work is not observable or counted. Unsupported videos can still be measured elsewhere and imported as CSV.

Choose the recording and confirm its timing

The small video is the decoder view; the large canvas is the frozen frame used for annotation. Coordinates are browser-oriented intrinsic pixels. Encoded rotation and pixel aspect are not independently verified. No crop or extra rotation is applied.

Select a paused frame
Record a source-pixel position

Arrow keys move the crosshair by one source pixel; Shift moves ten. Pointer selection does not record a point until you choose Record point.

Calibrate measured axes before tracking

Click each of two fixed micrometer marks at least three times. For X, use their known horizontal separation; for Y, use their known vertical separation. Do not change magnification, stabilization or camera geometry during this session. One calibrated axis is sufficient for one-coordinate analysis.

Record at least ten independent clicks on the same stationary feature. Repeated clicks in one paused frame describe click scatter, not a direct measurement of moving-particle localization error. The analyzer states that extra assumption and does not silently pool axes.

Declare camera inputs, then send a fixed snapshot to analysis

Unknown exposure withholds a camera interval. Radius, temperature and viscosity are not inferred from this video; declare independently known physical inputs in the analysis controls below.

The raw JSON is an annotation recovery record, not a video file or a supported session-replay import. The CSV is the supported analysis interchange.

Two placements do not share files, drafts, workers or accepted results. Closing a placement discards its in-memory session.

Load a track of one particle's positions, from your own microscope video or the practice file, and the lab estimates how fast the particle spreads, after correcting for the camera's own errors. Without the particle's size it cannot go on to count molecules.

This laboratory takes a record you made yourself, or the synthetic practice record, and asks what it can support. A record is a table of clicked positions at stated times, a calibration from pixels to micrometres, repeated clicks on one feature that does not move, and declared inputs: temperature, viscosity, exposure and, if you know it, the particle's radius. Section 4 says the displacement along one axis over a time τ has mean square 2Dτ, so D can be read backwards from measured displacements. A camera adds two things the paper does not consider. Each click misses the true centre by a little, which adds to every displacement's variance, and each frame averages the position over its exposure, which takes some away. The analysis uses disjoint pairs of frames, measures the click error on the stationary feature, fits a constant drift and corrects for both. On the practice record's x coordinate that gives D = 0.372 μm²/s, with a conservative 95 percent interval from 0.203 to 0.654 μm²/s, against 0.335 μm²/s if the camera is ignored. The record was generated with D = 0.429 μm²/s, so the interval contains the value it was made from; recovering a planted value shows that the method works, not that molecules exist. Section 5's route from D to the number of molecules N needs the radius. Without one, the record fixes only the product a·N, here 3.47 × 1017 m/mol. Excluded points keep their rows and their reasons, and an interval is withheld once points have been chosen by hand.

What this version admits

Classroom CSVs contain source-image coordinates, actual timestamps, per-axis calibration, stationary-feature clicks and physical-input declarations. The calculation uses one calibrated coordinate and disjoint frame pairs. Unknown click error, exposure or radius stays unknown. Invalid equal-spacing or calibration assumptions cannot acquire a confident-looking interval.

Manual exclusions preserve the recorded row and its reason, and withhold interval coverage after sample selection. Calibration and physical-input uncertainty are not included in a combined interval. A record marked reader-supplied is not automatically a verified experiment.

Local video annotation is available at the end of each laboratory; automatic session saving is not. Browser-reported orientation and frame timing are not an independent camera calibration. A CSV export preserves the accepted observations for later import; an analysis export records the result and its assumptions.