← All demosPawsightlive demo runs entirely in your browser · nothing uploaded

1. Input - record 5 seconds, or run a built-in sample clip

Idle. Nothing has been measured yet.
The sample clips are synthetic sample data generated in this page: a deterministic simulated chest and body rendered to raw pixels, then measured by exactly the same code path as the camera. They are not recordings of a real animal. Camera frames are read pixel by pixel in this tab and are never uploaded, stored or sent anywhere.

2. Pixel analysis - what the code actually sees

Analysis frame 96x72 gray, 3x3 blur, running background model, pixels more than 12 gray levels from background counted as subject. The centroid and the brightness series are weighted by the 3x3-smoothed difference from that background, minus a 1 gray level noise floor. Green cross = subject centroid, yellow trail = centroid path.
frame 0 / 0

3. Signals measured from those pixels

Subject brightness time series in gray levels (green) with the best-fit periodic component at the estimated rate (orange dashes, only drawn when a rate is resolvable).
Autocorrelation of the detrended brightness series against lag. The search window is lag 10 to 37 (0.40 Hz to 1.60 Hz, i.e. 24 to 96 breaths per minute). The orange marker is the winning lag. A window of 5 seconds holds at least two full cycles only above about 24 bpm, so slower rhythms are reported as not resolvable rather than guessed.

4. Measured values against the printed thresholds

SignalMeasuredThreshold printed on screenResult
No capture yet. Press "Record 5s from webcam" or "Run sample clip".
Every measured number above is computed from pixel values in this page. "crossed" means the measured value fell outside the printed threshold; the verdict below is the highest severity among the rows that were crossed.