_images/accelerometerLogo.png

A tool to extract meaningful health information from large accelerometer datasets. The software generates time-series and summary metrics useful for answering key questions such as how much time is spent in sleep, sedentary behaviour, or doing physical activity.

Installation

$ pip install accelerometer

You will also need Java 8 (1.8.0) or greater. Check with the following:

$ java -version

You can try the following to check that everything works properly:

# Create an isolated environment
$ mkdir test_baa/ ; cd test_baa/
$ python -m venv baa
$ source baa/bin/activate

# Install and test
$ pip install accelerometer
$ wget -P data/ http://gas.ndph.ox.ac.uk/aidend/accModels/sample.cwa.gz  # download a sample file
$ accProcess data/sample.cwa.gz
$ accPlot data/sample-timeSeries.csv.gz

Getting started

To extract a summary of movement (average sample vector magnitude) and (non)wear time from raw Axivity .CWA (or gzipped .cwa.gz) accelerometer files:

$ accProcess data/sample.cwa.gz
<output written to data/sample-outputSummary.json>
<time series output written to data/sample-timeSeries.csv.gz>

The main output JSON will look like:

{
    file-name: "sample.cwa.gz",
    file-startTime: "2014-05-07 13:29:50",
    file-endTime: "2014-05-13 09:49:50",
    acc-overall-avg(mg): 32.78149,
    wearTime-overall(days): 5.8,
    nonWearTime-overall(days): 0.04,
    quality-goodWearTime: 1
}

To visualise the time series and activity classification output:

$ accPlot data/sample-timeSeries.csv.gz
<output plot written to data/sample-plot.png>
_images/samplePlot.png

Output plot of overall activity and class predictions for each 30sec time window

Citing our work

When using this tool, please consider the works listed in CITATION.md.

Licence

See LICENSE.md.

Acknowledgements

We would like to thank all our code contributors and manuscript co-authors. Contributors Graph.

Indices and tables