A Python WebSocket server that allows any WebSocket compliant application to communicate with manipulators used in electrophysiology experiments.
Project description
Electrophysiology Manipulator Link
The Electrophysiology Manipulator Link (or Ephys Link for short) is a Python WebSocket server that allows any WebSocket-compliant application (such as Pinpoint (electrophysiology planning tool)) to communicate with manipulators used in electrophysiology experiments.
Currently, Ephys Link only supports Sensapex uMp Micromanipulators. However, this platform is designed to be extensible to other manipulators and more may be added in the future.
Getting Started
Prerequisites
- An x86 Windows PC is recommended to run this server.
- The server has been verified to work well with Sensapex devices on Windows. This is unverified for Linux and macOS. However, developing the server is possible on a Linux operating system (macOS users should virtualize Linux).
- For Sensapex devices, the controller unit must be connected to the PC via an ethernet cable. A USB-to-ethernet adapter is acceptable as well.
- To use the emergency stop feature, ensure an Arduino with the StopSignal sketch is connected to the computer. Follow the instructions on that repo for how to set up the Arduino.
NOTE: Ephys Link is an HTTP server without cross-origin support. The server is currently designed to interface with local/desktop instances of Pinpoint. It will not work with the web browser versions of Pinpoint at this time.
Installation
- Ensure Python 3.10+ and pip are installed
pip install ephys-link --use-pep517
- PEP 517 is needed to allow the Sensapex Manipulator API to be installed
- Run
python -m ephys_link
to start the server- To view available command-line arguments,
run
python -m ephys_link --help
- Note: all arguments are optional and none are needed to use the server normally
- To view available command-line arguments,
run
Usage and more
Complete documentation including API usage and development installation can be found on the Virtual Brain Lab Documentation page for this server.
Citing
If this project is used as part of a research project you should cite the Pinpoint repository. Please email Dan (dbirman@uw.edu) if you have questions.
Please reach out to Kenneth (kjy5@uw.edu) for questions about the Electrophysiology Manipulator Link server. Bugs may be reported through the issues tab.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ephys_link-0.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 277345984554eb79d86c378489e8c4a0f7d921832df0115e0dc0aa2b66d74372 |
|
MD5 | 0a0454079e1f952f892b5a6d271b1197 |
|
BLAKE2b-256 | 86030525e197d35d37b71291b7fb4d127efe0d6df943ff796285880dada2a567 |