Skip to main content

Python package to process wearable accelerometer data

Project description

actipy

A Python package to process accelerometer data.

Axivity3 (.cwa), Actigraph (.gt3x), and GENEActiv (.bin) files are supported, as well as custom CSV files.

Axivity3 is the activity tracker watch used in the large-scale UK-Biobank accelerometer study.

Getting started

Prerequisite

  • Python 3.8 or greater

    $ python --version  # or python3 --version
    
  • Java 8 (1.8.0) or greater

    $ java -version
    

Install

$ pip install actipy

Usage

Process an Axivity3 (.cwa) file:

import actipy

data, info = actipy.read_device("sample.cwa.gz",
                                 lowpass_hz=20,
                                 calibrate_gravity=True,
                                 detect_nonwear=True,
                                 resample_hz=50)

Output:

data [pandas.DataFrame]
                                 x         y         z  temperature
 time
 2014-05-07 13:29:50.430 -0.513936  0.070043  1.671264    20.000000
 2014-05-07 13:29:50.440 -0.233910 -0.586894  0.081946    20.000000
 2014-05-07 13:29:50.450 -0.080303 -0.951132 -0.810433    20.000000
 2014-05-07 13:29:50.460 -0.067221 -0.976200 -0.864934    20.000000
 2014-05-07 13:29:50.470 -0.109617 -0.857322 -0.508587    20.000000
 ...                           ...       ...       ...          ...

info [dict]
 Filename                 : data/sample.cwa.gz
 Filesize(MB)             : 69.4
 Device                   : Axivity
 DeviceID                 : 13110
 ReadErrors               : 0
 SampleRate               : 100.0
 ReadOK                   : 1
 StartTime                : 2014-05-07 13:29:50
 EndTime                  : 2014-05-13 09:50:33
 NumTicks                 : 51391800
 WearTime(days)           : 5.847725231481482
 NumInterrupts            : 1
 ResampleRate             : 100.0
 NumTicksAfterResample    : 25262174
 LowpassOK                : 1
 LowpassCutoff(Hz)        : 20.0
 CalibErrorBefore(mg)     : 82.95806873592024
 CalibErrorAfter(mg)      : 4.434966371604519
 CalibOK                  : 1
 NonwearTime(days)        : 0.0
 NumNonwearEpisodes       : 0
 ...

Refer to the Data Dictionary for a comprehensive list of outputs.

If you have a CSV file that you want to process, you can also use the data processing routines from actipy.processing:

import actipy.processing as P

data, info_lowpass = P.lowpass(data, 100, 20)
data, info_calib = P.calibrate_gravity(data)
data, info_nonwear = P.detect_nonwear(data)
data, info_resample = P.resample(data, sample_rate)

See the documentation for more.

Contributing

If you would like to contribute to this repository, please check out CONTRIBUTING.md. We welcome contributions in the form of bug reports, feature requests, and pull requests.

License

See LICENSE.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

actipy-3.0.7.tar.gz (71.8 kB view details)

Uploaded Source

Built Distribution

actipy-3.0.7-py3-none-any.whl (54.7 kB view details)

Uploaded Python 3

File details

Details for the file actipy-3.0.7.tar.gz.

File metadata

  • Download URL: actipy-3.0.7.tar.gz
  • Upload date:
  • Size: 71.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for actipy-3.0.7.tar.gz
Algorithm Hash digest
SHA256 3269282aafcbd787d1c100eb02df08b3bebd4f65e8c3165d6f5d5d701a0b154b
MD5 858996b4b43d03cde7026ab8c1c2a051
BLAKE2b-256 4dbcef75b056fe927235dd12bdd3e00740cf02e66408d9813f59f909142a6c86

See more details on using hashes here.

File details

Details for the file actipy-3.0.7-py3-none-any.whl.

File metadata

  • Download URL: actipy-3.0.7-py3-none-any.whl
  • Upload date:
  • Size: 54.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for actipy-3.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d8b9c053b045f23f427d612251bf6d8ceee266632e4b5e2bc4b253af8761c96d
MD5 df50687ed1a1ed8b2df08eb2d0239558
BLAKE2b-256 da5713000c466fbab54668fbf694f696b6b9d432663f148a7c64887d6ef546c9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page