Skip to main content

Python API for Mentalab biosignal aquisition devices

Project description

.. image:: logo.png
:scale: 100 %
:align: center





==================
Explorepy overview
==================

Explorepy is Mentalab's open-source Python-based biosignal acquisition API for working with Mentalab Explore device. Amongst many things, it provides the following features:

* Real-time streaming of ExG, orientation and environmental data
* Real-time visualization
* Data recording in CSV and BDF+ formats
* LSL integration
* Impedance measurement
* Explore device configuration


Quick installation
==================

Requirements
------------

* Python 3.5 or newer version
* Visual Studio 2015 community edition (only Windows)
* Bluetooth header files (only Linux -> use this command: ``sudo apt-get install libbluetooth-dev``)


Please check out the `installation page <https://explorepy.readthedocs.io/en/latest/installation.html>`_ for more detailed instructions.

To install ``explorepy`` from PyPI run:
::

pip install explorepy


To install the latest development version (git must be installed before running this command):
::

pip install git+https://github.com/Mentalab-hub/explorepy


Get started
===========

CLI command
-----------
For a simple, quick start of Explorepy, run:

``explorepy acquire -n Explore_XXXX``

Enter ``explorepy -h`` for help.


Python code
-----------

When working in Python, the following connects to the Explore device and prints the data.

::

import explorepy
explorer = explorepy.Explore()
explorer.connect(device_name="Explore_XXXX") # Put your device Bluetooth name
explorer.acquire()

You can also visualize the data in real-time.

::

import explorepy
explorer = explorepy.Explore()
explorer.connect(device_name="Explore_XXXX") # Put your device Bluetooth name
explorer.visualize(bp_freq=(.5, 30), notch_freq=50)

EEG:

.. image:: /images/Dashboard_EEG.jpg
:width: 800
:alt: EEG Dashboard

ECG with heart beat detection:

.. image:: /images/Dashboard_ECG.jpg
:width: 800
:alt: ECG Dashboard

Documentation
=============

For the full documentation of the API, visit: https://explorepy.readthedocs.io/


Authors
=======
- `Mohamad Atayi`_
- `Salman Rahman`_
- `Andreas Gutsche`_
- `Masooma Fazelian`_
- `Philipp Jakovleski`_
- `Sebastian Herberger`_


.. _Mohamad Atayi: https://github.com/bmeatayi
.. _Salman Rahman: https://github.com/salman2135
.. _Andreas Gutsche: https://github.com/andyman410
.. _Masooma Fazelian: https://github.com/fazelian
.. _Philipp Jakovleski: https://github.com/philippjak
.. _Sebastian Herberger: https://github.com/SHerberger

License
=======
This project is licensed under the `MIT <https://github.com/Mentalab-hub/explorepy/blob/master/LICENSE>`_ license. You can reach us at contact@mentalab.com.






Changelog
=========

1.1.0 (27-08-2020)
------------------
* MacOS support
* Fix bugs
* Add module disable/enable feature
* Enhanced user interface
* Add unique lsl stream names


1.0.0 (22-05-2020)
------------------
* Add ExploreSDK as the Bluetooth interface
* New dark theme
* Record module in dashboard
* Improvement in visualization perfrmance
* CLI migration to Click


0.6.0 (17-02-2020)
------------------
* EDF (BDF+) file writer
* Channel disable/enable feature
* Calibration of movement sensors
* Extraction of physical orientation (angle and rotation)
* Soft marker event
* Visualization performance enhancement
* Automatic number of channel and sampling rate detection
* Exception handling improvement
* Command for soft reset of Explore
* Marker visualization


0.5.0 (25-11-2019)
------------------
* Impedance measurement
* Send commands to device
* Configuring device settings
* Update push to lsl feature

0.4.0 (09-09-2019)
------------------
* Added marker feature
* Timer based recording
* Fixed a bug in csv file writer
* Fixed a bug in device reconnect
* Improved performance of dashboard visualization


0.3.1 (28-05-2019)
------------------
* Fixed a bug in 8-channel ExG packet conversion
* Fixed a minor bug in the record function
* Updated the documentation


0.3.0 (10-05-2019)
------------------
* Explore dashboard
* Real-time visualization of ExG and orientation signal
* Device information in Dashboard
* Environmental data (battery, temperature and light)
* Real-time bandpass filter
* New packet structures (ADS1294R & ADS1298R)
* Heart rate estimation and R-peaks detector in dashboard


0.2.0 (2019-03-08)
------------------

* Added real-time recording feature
* Added Command Line Interface
* Added lsl integration
* Added new packet classes
* Fixed reconnect issues
* Removed input requests inside functions


0.1.0 (2019-01-18)
------------------

* First release on PyPI.


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

explorepy-1.1.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distributions

explorepy-1.1.0-cp37-cp37m-win_amd64.whl (126.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

explorepy-1.1.0-cp36-cp36m-win_amd64.whl (126.6 kB view details)

Uploaded CPython 3.6m Windows x86-64

File details

Details for the file explorepy-1.1.0.tar.gz.

File metadata

  • Download URL: explorepy-1.1.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7

File hashes

Hashes for explorepy-1.1.0.tar.gz
Algorithm Hash digest
SHA256 50ddf30b50caf3d0cd9aec615231b45f2842ae31476668e3b2913bf5f71e8f88
MD5 9688bc05f89f07dc823ec117039c9810
BLAKE2b-256 e2e7b6756cad03dd1c7162a99bf0b2fe2ca4c195c98a545ee473bf3b834af6b7

See more details on using hashes here.

File details

Details for the file explorepy-1.1.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: explorepy-1.1.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 126.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7

File hashes

Hashes for explorepy-1.1.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 70808e3b8f24f3fc4ec4973d8d95651e6878204d0f98fbe83819602a344ad2f2
MD5 fc530bb794143c7b6d9d2b24d574f6cf
BLAKE2b-256 68e6714a46cf20a695bd641106ad4c8cae6d7fc2ae41258ef34b4ada00078810

See more details on using hashes here.

File details

Details for the file explorepy-1.1.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: explorepy-1.1.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 126.6 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7

File hashes

Hashes for explorepy-1.1.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 7465e4303f44e62fea58966fdb7559e4db7d6b0fc2b05e500919310c5394db71
MD5 5ee2febc867ed36014aacbc570caac88
BLAKE2b-256 264bf84c3aa520a809686b47a3c4e04dd52d12b089b09fd3cfd682391169cd80

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