Skip to main content

NeuriGUI is a modular, cross-platform and FOSS app for exploring electrophysiological signals in real-time

Project description

Neuri GUI

print("Hello, Volt!")

A graphical interface for electrophysiological biosensors that allows you to:

  1. Set multiple parameters for real-time signal visualization
  2. Forward the signal (raw) in to a serial port located at 127.0.0.1:XYZ. This allows you to connect any of your applications to the GUI and to work with the acquired signal in real-time.
  3. Store the data in an open text format for offline analysis (default: "Neuri_[datetime].txt")

Main view of GUI

Watch the introduction on Youtube:

Watch the introdcution

Compatible devices

  • BioAmp EXG Pill by Upside Down Labs
  • Muse S 2nd Gen by InteraXon Inc. (see statement below)
  • Neuri 1.x by Helment
  • Neuri-Lolin S3-PRO by Helment

⚠️ Warning: Muse devices are best to be used with InteraXon Inc.'s own software packages such as Muse Lab, Muse Direct and the Muse mobile app. They have been refined and optimized over years and you will have a better time using those over the NeuriGUI!

Setup

The GUI is distributed as a Python program. The GUI should work with Python versions 3.9 or higher.

Preparing Python libraries

You can set up the environment (Python libraries) by running: pip install -r requirements.txt (file found in root folder of project)

Please note that the GUI is also using the tkinter framework which is not installable via pip. On Windows, it is automatically installed during installation of Python. On GNU/Linux-based systems, it can be installed via the package manager (apt for Ubuntu): apt install python3-tk

GNU/Linux

Other Linux specific steps are:

  • Python Image Library (PIL): apt install python3-pil.imagetk
  • PyQt dependencies for X server: sudo apt install libgl1-mesa-dev libxcb*-dev libfontconfig1-dev libxkbcommon-x11-dev libgtk-3-dev
  • For compilations with Nuitka: sudo apt install patchelf

Compilation

The compiled version the the Neuri GUI runs way faster and has more stable execution speed of iteration loops inside the backend of the GUI. You can compile the GUI with Nuitka:

  • Windows: nuitka ./gui.py --onefile --enable-plugin=tk-inter --standalone --enable-plugin=pyqt5 --include-data-dir=./frontend/=data --windows-icon-from-ico=frontend/Neuri_logo.ico --windows-disable-console
  • GNU/Linux: nuitka3 ./gui.py --onefile --enable-plugin=tk-inter --standalone --enable-plugin=pyqt5 --include-data-dir=./frontend/=data --windows-icon-from-ico=frontend/Neuri_logo.ico --windows-disable-console (note the 3 in nuitka3 compared to Windows)

Packaging

The GUI is packageable into a Python module. For this, run inside the root folder (NeuriGUI) of the project:

  • Windows: python -m build
  • GNU/Linux: python3 -m build

Installing and running

The GUI can be run directly from an IDE by calling the Run() function found in "./neuri/gui.py". You can also install it as a Python module pointing pip to the root folder of the project (NeuriGUI): pip install ./path/to/NeuriGUI. This will install the module found in "NeuriGUI/dist". You can then run the GUI from your own scripts such as:

import neuri.gui as ng
ng.Run()

Note that your settings are stored in a "settings.cfg" file inside the current workspace directory of the IDE or terminal.

Troubleshooting

  1. If the GUI seems to be stuck, check the following:
  • Did you set the right port (ie COM12 vs COM13)?
  1. GitHub authentication errors might arise from the fact that Python is using the "github" package instead of the "pygithub" one when performing from github import Github. Try uninstalling github and install the pygithub package:
pip uninstall github
pip install pygithub

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

neurigui-2.91.3.tar.gz (474.5 kB view details)

Uploaded Source

Built Distribution

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

neurigui-2.91.3-py3-none-any.whl (484.6 kB view details)

Uploaded Python 3

File details

Details for the file neurigui-2.91.3.tar.gz.

File metadata

  • Download URL: neurigui-2.91.3.tar.gz
  • Upload date:
  • Size: 474.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for neurigui-2.91.3.tar.gz
Algorithm Hash digest
SHA256 c1ad8b81dc0450a0af49c106e56efd6af6b9053e5f319bf9db50fe2fcb91c2df
MD5 ed7efe95d93016010cce55ca35c748e5
BLAKE2b-256 a0e12f85dab4ed1244a56ff45721d812c64428eb051879d28fb281429ffdf810

See more details on using hashes here.

File details

Details for the file neurigui-2.91.3-py3-none-any.whl.

File metadata

  • Download URL: neurigui-2.91.3-py3-none-any.whl
  • Upload date:
  • Size: 484.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for neurigui-2.91.3-py3-none-any.whl
Algorithm Hash digest
SHA256 88611938c24bd04cc3c3d61b90aa3594039932e8b32c3b24090173c8682d4e53
MD5 131b1f7866d67c8d4b86157991747211
BLAKE2b-256 c752973d50589ffa9787b94b3da576a68d84d39150c1418ada6fa739a2d64264

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