Skip to content

Commit 498e400

Browse files
committed
docs: use custom logo.jpg and update README badges
1 parent 1ff93d3 commit 498e400

6 files changed

Lines changed: 94 additions & 2 deletions

File tree

ANNOUNCEMENT_DRAFT.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Drafting your LinkedIn Announcement
2+
3+
This post is designed to be visually engaging and highlight the value to both the neurotech community and researchers.
4+
5+
## Option 1: Feature-Focused (Best with a GIF/Video of the Real-Time Viewer)
6+
7+
**Headline:** ✨ Announcing `python-oephys` v0.1.0: Streamlining Real-Time Electrophysiology! ✨
8+
9+
I’m thrilled to release `python-oephys`, a comprehensive open-source Python toolkit for the [Open Ephys](https://open-ephys.org/) ecosystem. 🦾🧠
10+
11+
Working with high-density neural data shouldn't mean spending weeks on boilerplate I/O. We’ve built this to bridge the gap between acquisition and real-time inference.
12+
13+
**What's inside?**
14+
- 🔴 **Seamless ZMQ Streaming**: Live acquisition directly from the Open Ephys GUI.
15+
- 🎛️ **High-Performance Processing**: Optimized filters and automated signal quality (QC) checks.
16+
- 🤖 **End-to-End ML**: Hybrid CNN-LSTM models for real-time gesture recognition.
17+
- 📊 **Interactive Tooling**: Real-time plots and desktop applications for trial segmentation.
18+
19+
Whether you're building closed-loop systems or performing deep offline analysis, `python-oephys` provides the unified high-performance foundation you need.
20+
21+
🚀 **Get started:** `pip install python-oephys`
22+
💻 **Code & Examples:** [https://github.com/Neuro-Mechatronics-Interfaces/python-open-ephys]
23+
24+
A big thank you to the Neuromechatronics Lab at Carnegie Mellon University for the support in bringing this release to life!
25+
26+
#Neurotech #OpenEphys #EMG #MachineLearning #Python #OpenSource #SignalProcessing #CMU #BrainComputerInterface
27+
28+
---
29+
30+
## Tips for your post:
31+
1. **The Visual is Key**: Record a 15-second screen capture of the `RealTimeEMGViewer` running. It makes the project feel "real" and interactive.
32+
2. **Tag the Lab**: Tag the Neuromechatronics Lab page and any core collaborators like Max Murphy or Adrian Foy.
33+
3. **The First Comment**: LinkedIn loves engagement. Post the link to the GitHub repo in the *first comment* instead of the post body to maximize algorithm reach.

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1+
![Logo](https://raw.githubusercontent.com/Neuro-Mechatronics-Interfaces/python-open-ephys/main/docs/figs/logo.jpg)
2+
13
# Python OEphys
24

3-
[![Python](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/)
5+
[![Docs](https://img.shields.io/badge/docs-online-blue.svg)](https://neuro-mechatronics-interfaces.github.io/python-open-ephys/)
6+
[![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org/)
47
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
58
[![PyPI version](https://badge.fury.io/py/python-oephys.svg)](https://badge.fury.io/py/python-oephys)
9+
[![Downloads](https://pepy.tech/badge/python-oephys)](https://pepy.tech/project/python-oephys)
610

711
**python-oephys** is a comprehensive Python toolkit for working with Open Ephys devices and electrophysiology data. From file loading to real-time ZMQ streaming, signal processing to machine learning, and visualization tools—everything you need for high-density neural data analysis in one package.
812

docs/figs/logo.jpg

471 KB
Loading

paper.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: 'python-oephys: A Unified Python Toolkit for Real-Time Open Ephys Data Processing and Machine Learning'
3+
tags:
4+
- Python
5+
- electrophysiology
6+
- Open Ephys
7+
- EMG
8+
- real-time
9+
- machine learning
10+
authors:
11+
- name: Jonathan Shulgach
12+
orcid: 0000-0000-0000-0000
13+
affiliation: 1
14+
affiliations:
15+
- name: Neuromechatronics Lab, Carnegie Mellon University, Pittsburgh, PA, USA
16+
index: 1
17+
date: 26 January 2026
18+
bibliography: paper.bib
19+
---
20+
21+
# Summary
22+
23+
`python-oephys` is an open-source Python library designed to facilitate the acquisition, processing, and analysis of high-density electrophysiology data, specifically targeting the Open Ephys ecosystem. It provides a unified interface for both offline analysis of binary recordings and real-time streaming via ZeroMQ (ZMQ). Key capabilities include modular signal processing pipelines, automated channel quality assessment, and integrated machine learning models (CNN-LSTM) optimized for low-latency gesture classification.
24+
25+
# Statement of need
26+
27+
The Open Ephys GUI is a widely used platform for neural data acquisition, but researchers often face significant friction when transitioning from raw data acquisition to real-time closed-loop control or advanced offline analysis. Existing tools often handle either file I/O or real-time streaming, but rarely both in a unified, high-performance package.
28+
29+
`python-oephys` satisfies this need by providing:
30+
1. **Unified I/O**: A consistent API for both `.oebin` and `.npz` formats.
31+
2. **Real-time Integration**: Low-latency ZMQ clients that allow Python scripts and GUI applications to react to live neural streams.
32+
3. **ML-Ready Pipelines**: Pre-integrated deep learning architectures tailored for spatio-temporal neural signals, reducing the time required to build predictive models for BCIs or myoelectric control.
33+
34+
# State of the field
35+
36+
Similar tools like `LibEMG` focus on general myoelectric control, while the official `open-ephys-python-tools` provide basic file reading. `python-oephys` bridges these domains by specializing in the high-density spatial configurations typical of Open Ephys hardware while providing the real-time application layer (viewers and decoders) missing from low-level I/O libraries.
37+
38+
# Key Features
39+
40+
- **Real-time ZMQ Client**: Handles multi-channel streaming with minimal overhead.
41+
- **Channel QC**: Implements automated noise floor and saturation detection.
42+
- **EMGClassifierCNNLSTM**: A hybrid neural network for spatio-temporal feature extraction.
43+
- **Applications**: Includes desktop GUIs for data visualization and manual trial segmentation.
44+
45+
# Acknowledgements
46+
47+
This work was supported by the Neuromechatronics Lab at Carnegie Mellon University.
48+
49+
# References

pyproject.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ dependencies = [
3030
"open-ephys-python-tools",
3131
"pylsl",
3232
]
33+
[project.urls]
34+
Homepage = "https://github.com/Neuro-Mechatronics-Interfaces/python-open-ephys"
35+
Documentation = "https://neuro-mechatronics-interfaces.github.io/python-open-ephys/"
36+
Repository = "https://github.com/Neuro-Mechatronics-Interfaces/python-open-ephys.git"
37+
Issues = "https://github.com/Neuro-Mechatronics-Interfaces/python-open-ephys/issues"
38+
3339
# dynamic = ["version"]
3440

3541
[build-system]

src/pyoephys/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
__author__ = "Jonathan Shulgach"
1515
__email__ = "jshulgac@andrew.cmu.edu"
1616
__license__ = "MIT"
17-
__url__ = "https://github.com/jshulgach/intan-python"
17+
__url__ = "https://github.com/Neuro-Mechatronics-Interfaces/python-open-ephys"
1818
__description__ = "Python interface for streaming, parsing, and analyzing Open Ephys files"
1919

2020
submodules = [

0 commit comments

Comments
 (0)