flirt

Are you ready to FLIRT with your wearable data?

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

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    3 of 5 committers (60.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.9%) to scientific vocabulary

Keywords

acc ai biosignals digital-biomarker digital-signal-processing eda empatica empatica-e4 flirt health hrv machine-learning mhealth ubiquitous-computing wearables
Last synced: 6 months ago · JSON representation

Repository

Are you ready to FLIRT with your wearable data?

Basic Info
  • Host: GitHub
  • Owner: im-ethz
  • License: other
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage: https://flirt.readthedocs.io
  • Size: 295 MB
Statistics
  • Stars: 74
  • Watchers: 5
  • Forks: 22
  • Open Issues: 9
  • Releases: 0
Topics
acc ai biosignals digital-biomarker digital-signal-processing eda empatica empatica-e4 flirt health hrv machine-learning mhealth ubiquitous-computing wearables
Created over 5 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License

README.md

FLIRT

Python Versions PyPI Documentation Status Binder DOI

⭐️ 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

People

Made with ❤️ at ETH Zurich.
Check out all authors.

In collaboration with the Digital Biomarker Discovery Pipeline.

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.

Citation

Original article: FLIRT: A Feature Generation Toolkit for Wearable Data

@article{flirt2021, title={{{FLIRT}}: A {{Feature Generation Toolkit}} for {{Wearable Data}}}, author={Föll, Simon and Maritsch, Martin and Spinola, Federica and Mishra, Varun and Barata, Filipe and Kowatsch, Tobias and Fleisch, Elgar and Wortmann, Felix}, year={2021}, journal={Computer Methods and Programs in Biomedicine}, doi={10.1016/j.cmpb.2021.106461}, }

Owner

  • Name: ETH Zurich – Chair of Information Management
  • Login: im-ethz
  • Kind: organization
  • Location: Zurich, Switzerland

Bridging Digital and Physical World

GitHub Events

Total
  • Watch event: 7
Last Year
  • Watch event: 7

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 25
  • Total Committers: 5
  • Avg Commits per committer: 5.0
  • Development Distribution Score (DDS): 0.44
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
masquare m****h@e****h 14
sfsouthpalatinate s****l@e****h 6
masquare m****e 3
sfsouthpalatinate 7****e 1
Adrian Lison a****2@u****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 7
  • Total pull requests: 5
  • Average time to close issues: 11 days
  • Average time to close pull requests: about 2 hours
  • Total issue authors: 6
  • Total pull request authors: 4
  • Average comments per issue: 2.14
  • Average comments per pull request: 0.4
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mrucker (2)
  • fanirani101 (1)
  • koenraijer (1)
  • TinasheMTapera (1)
  • evavanweenen (1)
Pull Request Authors
  • adrian-lison (2)
  • hugodecasta (2)
  • enniin (2)
  • HDLuis13 (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 171 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 2
  • Total versions: 2
  • Total maintainers: 1
pypi.org: flirt

Wearable Data Processing Toolkit

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 171 Last month
Rankings
Stargazers count: 9.5%
Forks count: 9.6%
Dependent packages count: 10.0%
Dependent repos count: 11.6%
Average: 12.1%
Downloads: 20.0%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
setup.py pypi