There was an error while loading. Please reload this page.
Participants, performers and dancers take the wiki's sentences Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HRX1cv8m5PFVZGjfWZUzJj
The event ranked its measurement devices Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HRX1cv8m5PFVZGjfWZUzJj
The charter sweep reaches the course chapters: motion, level, timing Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HRX1cv8m5PFVZGjfWZUzJj
The renamed pair follows: motion_audio_coupling and warp_audiomotion_beats Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HRX1cv8m5PFVZGjfWZUzJj
Sound–Movement, not Sound–Motion: the toolkit references match their level Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HRX1cv8m5PFVZGjfWZUzJj
Pairings match their level: audio–motion for the data, audio–video for the files Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HRX1cv8m5PFVZGjfWZUzJj
The chapters absorb the tutorials: ten lessons grow by 723 lines The prose that taught from the docs site's User Guide now lives in the course where it belongs. Chapter 4 gains motiongrams, the density-versus- recency lesson and Eulerian magnification; chapter 9 grows from a stub to a full audio lesson; chapter 10 gains backends, landmark extraction and a posture-segmentation section; chapters 2, 3, 5, 6, 11, 13 each take their missing walkthroughs. All images at raw URLs, all internal links verified against the exact filenames, no relative docs paths remain. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HRX1cv8m5PFVZGjfWZUzJj
Renumber the chapters by pedagogy, not history Basics, looking, measuring and segmenting, annotating, and the special formats last: audio moves after the looking block, pose estimation and segmentation move up from the tail, and 360/ambiscape close the course. Every internal link swept in the same pass; the dangling-link check returns empty. Home now presents the chapters as a course in four sections and points to the documentation site for concepts and reference. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HRX1cv8m5PFVZGjfWZUzJj
The page plays its recording, and zoompage() asks in one call
Every chapter opens in plain words, and the grams speak x and y The openings give a dance student ground to stand on before the detail begins --- what a video is, what a threshold ignores, what a skeleton adds --- and Home says the chapters deepen in order. The gram naming follows the axis each keeps, matching the toolbox.
zoomable_page: the audio band and the switchable strips
The overview caption stops apologising: classic orientations now
The scape described before it is credited, and multishot's animate option
Current state only, in the house style History moves out of the wiki: the threshold section now says what the parameter gates rather than what it once did, the attribute-naming passage states the convention instead of narrating the renames, the overnight-run notes describe present cost rather than past bugs, and version numbers survive only where an old installation needs diagnosing. Em dashes unspaced throughout, and bold no longer appears inside sentences; line-opening labels keep theirs.
pose_timeline gets its chapter-12 section, and the new features their pictures Chapter 12 was missing pose_timeline entirely --- it existed only as a bullet in chapter 4. It now has the three views, the strip and bands renders from the bundled dancer.avi, and the honest note that the room view needs a subject who travels. Chapter 4 gains the multishot, motionvectoroverview and motionscape renders beside their bullets.
pose_timeline in the method list Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RDfNkA78LYdttCbqQ9oqfE
Chronophotography is one function now multishot() absorbed stroboscope(), which delegates until 2.0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RDfNkA78LYdttCbqQ9oqfE
plate() and multishot() are MgVideo methods Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RDfNkA78LYdttCbqQ9oqfE
Two chronophotographs, and which to use stroboscope() samples at even intervals onto a mean average frame; multishot() selects for spatial separation onto a median plate. Even sampling is what makes two bodies land in the same place, and a mean average keeps a ghost of everyone who crossed. Both assume a subject who moves through space. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RDfNkA78LYdttCbqQ9oqfE
Letting the recording choose the threshold A fixed threshold cannot serve recordings whose noise differs: on a dance corpus the same threshold=0.05 lit 0.52 times the area the dancers covered in one recording and 1.90 times it in another. noise_floor measures the floor from the material instead, using the room plate to say which pixels have nobody in front of them, so the parameter is a false-positive rate rather than a brightness. Says what it does not buy, since that is the part people will get wrong: equalising the false-positive rate makes maps comparable across recordings and magnitudes LESS comparable. Both approaches are kept. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RDfNkA78LYdttCbqQ9oqfE
Motion vectors as data, the overview sheet and the scape; and threshold's changed meaning Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Add the room, occupancy and soundscape sections, which 1.18.0 shipped
Point the last ten image links at docs/images, where the rest already point wiki_pics and docs/images held the same 43 files twice, 32.7 MB of it, and the main repo has consolidated on docs/images. Ten links here still named wiki_pics --- two in Video Basics and eight in The Effects of Filtering --- and would have 404'd.
Segmentation and annotation: turning a long recording into material a person can annotate The wiki covered turning a video into a picture. Nothing covered the other thing, which is what 1.15.0 to 1.17.0 added: extraction that survives a two-hour file, finding where speech and laughter are, cutting motion into spans, exporting for ELAN, and four views plus a zoomable page for looking at what somebody annotated. Written around the faults rather than the API, because those are what cost time: check_tracks rather than file length, channel correlation before making a file mono, a threshold taken from the distribution rather than chosen because it looks reasonable, and an offset between two rooms that hear each other being a clock offset plus a latency.
Long recordings: what they cost, and two bugs that made them impossible The wiki had no guidance for session-length video, which is where MGT's clip-oriented defaults are expensive and where two 2026 bugs bit hardest. Measured costs on 120 s of 1080p, so a reader can see that motiongrams are ~71% of the work and choose accordingly, plus the two fixes: motion extraction was quadratic in frame count before 1.14.1 (invisible on a clip, ~215 h extrapolated for a 2 h 38 min session), and before 1.14.2 a flat 10 s ffprobe timeout meant a video longer than about twenty minutes could not be OPENED at all. The last one is worth naming in the docs because its symptom is a misleading error --- "Could not count frames. (Is this a video file?)" on a perfectly good MP4 --- which sends people looking at their file rather than at MGT. Release history stays in the changelog per Home.md; this is usage guidance that happens to reference two versions.
Say where results are kept, and which names changed The page described the three result types and never said that a method also stores its result on the video. Adds that, with the rename table and the reason the grams are now named for the picture rather than the axis that was collapsed. Calls out the one pair with no old-name alias. `pixelarray()` is the method that computes the frame average and its result used to be stored under the same name, so a second call raised TypeError; the result is `frameaverage_image` now. That absence is deliberate and needs saying, or it reads as an omission. Full table stays on the docs site; this page keeps its summary role. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Say how to cite the package, now that it has a DOI Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qx7SWwc4XGYgXNNKrcNAgP
Video Basics: a declared frame rate is not a measurement of time The page introduced the frame rate as one of a file's properties and left it there, which invites reading it as a fact. Everything the toolbox reports about when something happened is that number multiplied or divided by something, and a wrong one rescales the answer rather than raising. The numbers make the point better than the argument does. On a 29.97 fps clip whose movement has a true rhythm of 2.00 Hz, the file's own rate returns 120 beats a minute; told 25 the same code returns 100, told 20 it returns 80, told 15 it returns 60. Two scripts in one study held the rate as a constant of 20 and 15 against footage that was 25, and the error was invisible because it was consistent. Also the quieter version, which the corpus has met more than once: a header describes a file and does not guarantee its contents. A clip encoded at 25 fps from a source that changed five times a second declares 25, carries the right number of frames, lasts the right length, and repeats four fifths of them. Every header-based check agrees with itself. It matters most for anything measuring change between frames, which is most of this toolbox, since a repeated frame reads as stillness that was never there. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qx7SWwc4XGYgXNNKrcNAgP
The QoM page: never average the raw acceleration magnitude A stationary accelerometer reads 1 g, so the time-average of the raw vector norm is 1 g plus a small movement term and varies mostly by calibration. It is not a tilt measure either, since rotating a vector does not change its norm. Measured on a standstill competition with 56 entrants ranked on that average: 11 scored below 1 g, which a calibrated sensor held still cannot do; the score correlated with band-limited quantity of motion at rho = 0.16, p = 0.25, while real movement spanned a factor of 7.8; and grouped by which of eight sensor units a competitor wore, the score separated the groups at H = 48.1, p = 3.4e-08 where movement did not, H = 6.8, p = 0.45. Rescoring on movement moves 40 of 56 more than ten places and empties the podium. Says which of the existing functions avoids it, and the two habits that generalise: check that a score's range is physically possible before asking whether it is interesting, and treat a measure that separates devices better than people as a measure of the devices. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qx7SWwc4XGYgXNNKrcNAgP
Threshold cost: 0.2 percent on the full 345-clip corpus, superseding 0.4 from 83