Skip to content

Devicely: A Python package for reading, timeshifting and writing sensor data

License

Notifications You must be signed in to change notification settings

hpi-dhc/devicely

Repository files navigation

pyOpenSci status PyPI version PyPI pyversions Actions Status: test Coverage Badge DOI Project Status: Active – The project has reached a stable, usable state and is being actively developed. Binder

Devicely Logo

Devicely is a Python package for reading, de-identifying and writing data from various health monitoring sensors. With devicely, you can read sensor data and have it easily accessible in dataframes. You can also de-identify data and write them back using their original data format. This makes it convenient to share sensor data with other researchers while mantaining people's privacy.

Documentation

PyPi

Conda-forge

Installation

PyPi (current release)

Installing devicely is as easy as executing:

pip install devicely

Conda-forge (current release)

To install devicelythrough conda-forge:

conda config --add channels conda-forge
conda config --set channel_priority strict

Once the conda-forge channel has been enabled, devicely can be installed with:

conda install devicely

List all of the versions of devicely available on your platform with:

conda search devicely --channel conda-forge

Locally (development version)

git clone git@github.com:hpi-dhc/devicely.git
cd devicely
pip install .

Sneak Peek

All devices contain the following methods as exemplified through the EmpaticaReader:

empatica_reader = devicely.EmpaticaReader(path_to_empatica_files)
empatica_reader.timeshift()
empatica_reader.write(path_to_write_files)

You can also try this notebook with examples and sample data or check our binder:

Binder

Quick Start

To get started quickly, follow our quick-start guide.

Or check the full documentation: https://hpi-dhc.github.io/devicely/

Supported Sensors

  • Empatica E4 is a wearable device that offers real-time physiological data acquisition such as blood volume pulse, electrodermal activity (EDA), heart rate, interbeat intervals, 3-axis acceleration and skin temperature.

  • Biovotion Everion is a wearable device used for the continuous monitoring of vital signs. Currently, it measures the following vital signs: heart rate, blood pulse wave, heart rate variability, activity, SPO2, blood perfusion, respiration rate, steps, energy expenditure, skin temperature, EDA / galvanic skin response (GSR), barometric pressure and sleep.

  • 1-lead ECG monitor FarosTM 180 from Bittium is a one channel ECG monitor with sampling frequency up to 1000 Hz and a 3D acceleration sampling up to 100Hz.

  • Spacelabs (SL 90217) is an oscillometric blood pressure (BP) monitor which can be used to automatically track a person's BP in specificed time intervals.

  • TimeStamp for Android allows you to record the timestamp of an event at the time it occurs. It also allows you to create specific tags such as "Running" or "Walking" and timestamp those specific activities.

  • Shimmer Consensys GSR is a device that is used to collect sensor data in real time and it contains sensors such as GSR / EDA, photoplethysmography (PPG), 3-axis accelerometer, 3-axis gyroscope, 3-axis magnetometer & integrated altimeter.

  • Muse S headband is a consumer grade headband consisting of 4 electrodes electroencephalography (EEG) sensors, 3-axis accelerometer (ACC), gyroscope, and photoplethysmography (PPG) sensors.

How to Contribute

If you want to be part of this mission, please check our documentation on how to contribute here.

Authors

* Ariane Sasso
* Jost Morgenstern
* Felix Musmann
* Bert Arnrich

Contributors

* Arpita Kappattanavar
* Bjarne Pfitzner
* Lin Zhou
* Pascal Hecker
* Philipp Hildebrandt
* Sidratul Moontaha

Citation

Sasso, A., Morgenstern, J., Musmann, F., & Arnrich, B. (2021). Devicely: A Python package for reading, timeshifting and writing sensor data. Journal of Open Source Software, 6(66), 3679. https://doi.org/10.21105/joss.03679

BibTeX

@article{Sasso2021,
  doi = {10.21105/joss.03679},
  url = {https://doi.org/10.21105/joss.03679},
  year = {2021},
  publisher = {The Open Journal},
  volume = {6},
  number = {66},
  pages = {3679},
  author = {Ariane Sasso and Jost Morgenstern and Felix Musmann and Bert Arnrich},
  title = {Devicely: A Python package for reading, timeshifting and writing sensor data},
  journal = {Journal of Open Source Software}
}