Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.8.0] — 2026-08-05

### Changed
- **`group_qom`, `pose_qom` and `normalized_qom` return different numbers.** They are re-exported
from `micromotion`, which released 1.0.0 today, and the change is a correctness fix rather than a
refinement. They averaged over every marker at every frame while the underlying
`band_limited_qom` interpolates gaps, so an occluded marker contributed a near-zero speed and
still counted in the divisor. The result tracked how much the cameras saw rather than how much
the body moved: 16 to 17 per cent low on a realistic dropout pattern, with the speed series
correlating up to +0.70 with the per-frame count of visible markers.

The new default, `normalize="visible"`, excludes each marker at the frames where that marker was
absent, and lands within 0.8 per cent of the unoccluded value. Pass `normalize="worn"` to
reproduce a figure published with an earlier release, and say which you used. Pose data from a
clean, well-lit recording with no dropouts is unaffected; occluded mocap is affected most.

- The `micromotion` floor is `>=1.0.0`, which is a correctness floor rather than a documentation
one: below it the re-exported function returns the confounded number.

## [1.7.1] — 2026-08-05

### Fixed
Expand Down
11 changes: 10 additions & 1 deletion docs/releases.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Release Notes

The current stable release is **MGT-python 1.7.1**.
The current stable release is **MGT-python 1.8.0**.

Install or upgrade from PyPI:

Expand All @@ -16,6 +16,15 @@ which is the single source of truth for release notes.

## Recent highlights

### 1.8.0

- **Quantity of motion over a group of markers returns a different number, and the old one was
confounded.** `group_qom`, `pose_qom` and `normalized_qom` come from `micromotion`, which
released 1.0.0 today. They used to average over every marker at every frame while gaps were
interpolated, so an occluded marker contributed almost no speed and still counted in the divisor,
and the result tracked camera coverage rather than movement. The new default excludes a marker at
the frames where it was absent. Pass `normalize="worn"` to reproduce an older figure.

### 1.7.1

- **The published API pages described a band the package no longer uses.** They showed
Expand Down
9 changes: 5 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "musicalgestures"
version = "1.7.1"
version = "1.8.0"
description = "Musical Gestures Toolbox for Python"
readme = "README.md"
license = {text = "GPL-3.0-or-later"}
Expand All @@ -25,9 +25,10 @@ classifiers = [
]
dependencies = [
# >=0.3 was wrong twice over: no such release exists on PyPI below 0.6, and the functions
# this package re-exports arrived much later. 0.15.2 is the floor that makes the
# committed API pages true, since they are generated from that package's docstrings.
"micromotion>=0.15.2",
# this package re-exports arrived much later. The floor is now 1.0.0, where `group_qom`
# stopped counting markers it could not see. Below that the re-exported function returns a
# different, confounded number, so this is a correctness floor and not only a docs one.
"micromotion>=1.0.0",
"numpy",
"pandas",
"matplotlib",
Expand Down
Loading