ActiMotus is the data processing algorithms of the Motus system and are developed based on the Acti4 software.
Motus is an activity detection system developed by the National Research Centre for the Working Environment (NFA).
You can read more about the entire Motus system on our webpage.
In this repository you can find the Motus source code.
If you use ActiMotus in your research please cite the system as follows:
APA
The National Research Centre for the Working Environment (NFA). (2024). ActiMotus (2.0.0) [Computer software]. https://github.com/motus-nfa/ActiMotus
BibTex
@software{The_National_Research_Centre_for_the_Working_Environment_NFA_ActiMotus_2024,
author = {The National Research Centre for the Working Environment (NFA)},
month = jul,
title = {{ActiMotus}},
url = {https://github.com/motus-nfa/ActiMotus},
version = {2.0.0},
year = {2024}
}
ActiMotus is based on the physical activity classification software, Acti4. While Acti4 was written in MatLab and developed as an offline software, ActiMotus is written in Python and runs on a cloud service hosted by SENSmotion. ActiMotus contains the same core algorithms and concepts as Acti4, but differs in the following ways (due to back-end memory limitiations):
The execution flow of the scripts is split into two main parts, preprocessing and activity classification
ActiMotus processes accelerometer data in two steps.
Step 1 reads the raw data in 12 hour chunks and runs pre-processing steps. These steps include
- Detecting sampling frequency (either 25 Hz or 12.5 Hz).
- Detecting periods where accelerometer is not worn.
- Computing rolling means and standard deviations of the three axes for overlapping windows of 2 seconds (overlap of 1 second), which are the primary features of the activity classification.
- Computing metrics used in the detection of cycling, estimation of the step count and in rotating the data based on a reference angle. These metrics are used in place of the raw data, which is unavailable in the second step.
The outputs from the processing of step 1 are used as inputs to step 2. In step 2 multiple chunks are read simultaneously such that data is processed for 24 hours at a time. In the second step, the sensor placement is revealed and, depending on this, different processes are activated. From a thigh worn accelerometer, the primary physical activities are classified using the Acti4 algorithm. Further sensors both improve the primary classification and produce angle-inclination signals. The output of step 2 is thus the classified activities on a second to second basis, along with step counts and angle signals (also on a second to second basis).
- Thigh enables the primary activity classification.
- Upper back enchances the detection of lying compared to thigh-only measures. Further, forward bending of the back is measured.
- Arm is used to capture arm inclinations and movement.
New algorithms and sensors are added continuously.
ActiMotus is constantly developed and improved.
The current stable and integrated version of ActiMotus is 2.0.0
For an overview of versions and compatibilities please review our version overview.
If you want to use Motus or are interested in knowing more, please contact motus@nfa.dk.
ActiMotus is published under the BSD 3-Clause License.
All contributions to Motus are welcome. If you have suggestions to features, you can open an issue or create a pull request with suggested changes.