Skip to main content

Python wrapper for reading major bio/physiology data formats (e.g. ECG, PPG, EDA) into a unified accessible interface

Project description

Biobabel : a unified interface for reading a plethora of physiology file formats

Many different file formats exist for physiology signals such as cardiac (ECG, PPG) or respiratory data. Many packages exist in Python to read these formats but they load into different data structures. This package is a wrapper of sorts for already existing tools providing a unified easy-to-use interface.

Installation

python3 -m pip install biobabel

Install latest development version from Github:

python -m pip install --upgrade "biobabel @ git+https://github.com/florisvanvugt/biobabel"

Usage

Command line

From the terminal or command prompt, you can use the following commands. To show basic info about a file, use:

bioinfo <FILENAME>

To preview a file, use the provided script from the command line:

bioview <FILENAME>

Or, for a simpler lightweight viewer:

biobabel <FILENAME>

You can omit <FILENAME> in which case you will be prompted to select a file you want to preview.

To turn one or multiple files into an HTML rendition:

biohtml <FILENAME(s)>

To split a file into multiple files along the marker time series (this will create <FILENAME_001>, <FILENAME_002> etc.:

biosplit <FILENAME>

To merge multiple files into a single output file (assuming that all channels have the same time onset):

biomerge <FILE1> <FILE2> ... <OUTPUT_FILE>

To convert a file to HDF5:

tohdf5 <FILENAME>

Python

Simple usage example in Python:

import biobabel
bio = biobabel.load('tests/example.hdf5')
bio.print()
bio.plot()
bio.save('new_filename.hdf5')

More complete overview of functionality in Jupyter notebook.

Requirements

Physiology dialects

Currently supported dialects are:

  • EDF through PyEDFlib
  • labstreaminglayer (LSL) XDF (alpha) thanks to pyxdf
  • BioPAC Acknowledge (acq) thanks to bioread
  • opensignals ("OpenSignals (r)evolution" thanks to opensignalsreader
  • Biosemi BDF thanks to pybdf
  • Generic CSV (where CSV delimiter is automatically inferred and the time column is guessed as well)
  • Brams-Bio-Box (in-house format, even though the Generic-CSV functionality should take care of this now)
  • hdphysio5 thanks to hdphysio5
  • TeensyECG (in-house format)

Development

Install locally:

pip install .

and editable:

pip install -e .

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

biobabel-1.0.4.tar.gz (34.5 kB view details)

Uploaded Source

Built Distribution

biobabel-1.0.4-py3-none-any.whl (38.4 kB view details)

Uploaded Python 3

File details

Details for the file biobabel-1.0.4.tar.gz.

File metadata

  • Download URL: biobabel-1.0.4.tar.gz
  • Upload date:
  • Size: 34.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for biobabel-1.0.4.tar.gz
Algorithm Hash digest
SHA256 592173ae91eedfe9b1f254a0e48066799cbb37c62c4a14e5d4d46e569ae50ac3
MD5 00c0231eebbd8d3ca81f897eb575e9df
BLAKE2b-256 d194272751df05f9066ec0178a7e25bb8dc7aaafe39dfbe5c3b7a7f3c0afa90c

See more details on using hashes here.

File details

Details for the file biobabel-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: biobabel-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 38.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for biobabel-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 effea2a5e7fcafa0b1764da6fee3c129a17ce34cd91eee6e98828e55a638ce13
MD5 47d675ea10be1a8bcfd676f13cbc9728
BLAKE2b-256 fb7f1cf7e08bece7e1b328bfc4c381ac0a054bd87b76fdb64d97789eace66dc7

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