Skip to main content

Wearable Data Processing Toolkit

Project description

FLIRT

Python Versions PyPI Documentation Status Binder

⭐️ Simple. Robust. Powerful.

FLIRT is a Feature generation tooLkIt for weaRable daTa such as that from your smartwatch or smart ring. With FLIRT you can easily transform wearable data into meaningful features which can then be used for example in machine learning or AI models.

In contrast to other existing toolkits, FLIRT (1) focuses on physiological data recorded with (consumer) wearables and (2) calculates features based on a sliding-window approach. FLIRT is an easy-to-use, robust and efficient feature generation toolkit for your wearable device!

FLIRT Workflow

➡️ Are you ready to FLIRT with your wearable data?

Main Features

A few things that FLIRT can do:

  • Loading data from common wearable device formats such as from the Empatica E4 or Holter ECGs
  • Overlapping sliding-window approach for feature calculation
  • Calculating HRV (heart-rate variability) features from NN intervals (aka inter-beat intervals)
  • Deriving features for EDA (electrodermal activity)
  • Computing features for ACC (accelerometer)
  • Provide and prepare features in one comprehensive DataFrame, so that they can directly be used for further steps (e.g. training machine learning models)

😎 FLIRT provides high-level implementations for fast and easy utilization of feature generators (see flirt.simple).

🤓 For advanced users, who wish to adapt algorithms and parameters do their needs, FLIRT also provides low-level implementations. They allow for extensive configuration possibilities in feature generation and the specification of which algorithms to use for generating features.

Installation

FLIRT is available from PyPI and can be installed via pip:

pip install flirt

Alternatively, you can checkout the source code from the GitHub repository:

git clone https://github.com/im-ethz/flirt

Quick example

Generate a comprehensive set of features for an Empatica E4 data archive with a single line of code 🚀

import flirt
features = flirt.with_.empatica('./1234567890_A12345.zip')

Check out the documentation and exemplary Jupyter notebooks.

Roadmap

Things FLIRT will be able to do in the future:

  • Use FLIRT with Oura's smart ring and other consumer-grade wearable devices
  • Use FLIRT with Apple Health to derive meaningful features from long-term data recordings
  • Feature generation for additional sensor modalities such as: blood oxygen saturation, blood volume changes, respiration rate, and step counts

Authors

Made with ❤️ at ETH Zurich.

Check out all authors.

FAQs

  • How does FLIRT distinguish from other physiological data processing packages such as neurokit?
    While FLIRT works with physiological data like other packages, it places special emphasis on the inherent challenges of data processing obtained from (consumer) wearable devices such as smartwaches instead of professional, medical-grade recording devices such as ECGs or EEGs. As an example, when processing data from smartwatches, one could be confronted with inaccurate data, which needs artifact removal, or measurement gaps, which need to be dealt with.

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

flirt-0.0.2.tar.gz (34.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flirt-0.0.2-py3-none-any.whl (42.3 kB view details)

Uploaded Python 3

File details

Details for the file flirt-0.0.2.tar.gz.

File metadata

  • Download URL: flirt-0.0.2.tar.gz
  • Upload date:
  • Size: 34.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 pkginfo/1.7.0 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for flirt-0.0.2.tar.gz
Algorithm Hash digest
SHA256 aa4edc02805c77216edf68625942f596e33021b40c2a08457074a205e249a4e6
MD5 a416ceb7ce99c0f9c905e9a1a81e0788
BLAKE2b-256 bad355e03fd5481c29e99c1c6bc711a3856bde563baf13f9b0a12722952d7abc

See more details on using hashes here.

File details

Details for the file flirt-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: flirt-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 42.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 pkginfo/1.7.0 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for flirt-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2f1bc1a2ab41fc283710eef9fde22d7210dc79109f70dfb128412788b65ede0b
MD5 7621178f7efbbb73c8fa5e4bcf9dc3d8
BLAKE2b-256 2d2489b4f341c27fab5941272099e055e940c70ee7e381a863fb5770930b80fd

See more details on using hashes here.

Supported by

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