micromotion
Analysis of human micromotion in motion time series: optical marker data, body-worn accelerometers, respiration belts and force plates.
The measure the package exists for is quantity of motion — the average speed of a body part, band-limited to 0.2–10 Hz, in millimetres per second. It applies equally to all three sensor families because the shared abstraction is the frequency band, not the instrument.
pip install micromotion
import micromotion as mm
rec = mm.read("Standstill2017/mocap_data/A0001.tsv") # dispatches on content, not extension
head = rec.marker("P01")
mm.qom(head, rec.fs, kind="position").mean_mm_s
Documentation
| Reference documentation | how to use it, every function, the conventions |
| Wiki | why it works this way — traps, recipes, open questions |
| Changelog | what changed, and why |
New to it: Getting started, then The two bands, which is the one convention you cannot skip.
What is in it
| Module | Contents |
|---|---|
qom |
quantity of motion from position or acceleration |
filters |
the band definitions, band-pass, low-pass, high-pass, cardiac notch |
resample |
rate measurement, downsample-only resampling, irregular-to-regular gridding |
validate |
checks that fail loudly on silently-wrong data |
posture, balance |
sway geometry, centre-of-pressure measures |
spectral, physio |
cardiac and respiratory peaks, band power, breathing rate |
dynamics |
DFA, multifractality, recurrence, surrogates, entropy |
group |
whether these people moved at the same moments |
align, circular |
offsets between clocks; directional statistics |
io, record |
one reader per corpus layout, a content sniffer, a common record type |
Why it exists
It was built while constructing a single analysis across every dataset in the Oslo Standstill Database. There were 159 analysis scripts, of which 58 defined their own band-pass filter and 37 computed quantity of motion. The project's central measure existed in dozens of copies that did not all agree, and the disagreements were invisible.
Every default here was measured rather than assumed, and the reasoning is kept beside it. The traps page lists the mistakes that shaped the design; each one happened, produced a believable wrong number, and raised nothing at the time.
Requirements
Python 3.10+, numpy, scipy, pandas.
Licence
GPL-3.0-or-later. If you use it, please cite it — see CITATION.cff.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file micromotion-0.8.1.tar.gz.
File metadata
- Download URL: micromotion-0.8.1.tar.gz
- Upload date:
- Size: 123.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be292fdfcbf1cc9ec70331ee3a1c714122463fd98aea9cb424b78eda1424b6c6
|
|
| MD5 |
74370e0216abc19b45a51b944ec266a7
|
|
| BLAKE2b-256 |
6b96df2dba6f1acf21ecd44a04dde38cab23db6eda0e89ff167f49628ec00291
|
Provenance
The following attestation bundles were made for micromotion-0.8.1.tar.gz:
Publisher:
publish.yml on fourMs/micromotion
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
micromotion-0.8.1.tar.gz -
Subject digest:
be292fdfcbf1cc9ec70331ee3a1c714122463fd98aea9cb424b78eda1424b6c6 - Sigstore transparency entry: 2293969739
- Sigstore integration time:
-
Permalink:
fourMs/micromotion@9fdc298b5662f68b8cee1c053d289edb7093b246 -
Branch / Tag:
refs/tags/v0.8.1 - Owner: https://github.com/fourMs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9fdc298b5662f68b8cee1c053d289edb7093b246 -
Trigger Event:
release
-
Statement type:
File details
Details for the file micromotion-0.8.1-py3-none-any.whl.
File metadata
- Download URL: micromotion-0.8.1-py3-none-any.whl
- Upload date:
- Size: 86.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32f1d8035b6aaf70ff67a80beb796a030ed4caaad6aa543cc000c8e2c6d590ae
|
|
| MD5 |
bb61cd10ca0018f7ab859e38e787b8d9
|
|
| BLAKE2b-256 |
23deac5496cf53a9b452fac8b4d566bf8815e696892a666f63b2594e0615df18
|
Provenance
The following attestation bundles were made for micromotion-0.8.1-py3-none-any.whl:
Publisher:
publish.yml on fourMs/micromotion
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
micromotion-0.8.1-py3-none-any.whl -
Subject digest:
32f1d8035b6aaf70ff67a80beb796a030ed4caaad6aa543cc000c8e2c6d590ae - Sigstore transparency entry: 2293969756
- Sigstore integration time:
-
Permalink:
fourMs/micromotion@9fdc298b5662f68b8cee1c053d289edb7093b246 -
Branch / Tag:
refs/tags/v0.8.1 - Owner: https://github.com/fourMs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9fdc298b5662f68b8cee1c053d289edb7093b246 -
Trigger Event:
release
-
Statement type: