PhysioLabXR

PhysioLabXR: A Python Platform for Real-Time, Multi-modal, Brain–Computer Interfaces and Extended Reality Experiments - Published in JOSS (2024)

https://github.com/PhysioLabXR/PhysioLabXR-Community

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    5 of 17 committers (29.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: PhysioLabXR
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Size: 664 MB
Statistics
  • Stars: 41
  • Watchers: 2
  • Forks: 15
  • Open Issues: 8
  • Releases: 3
Created over 5 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

Contributors Forks Stargazers Issues MIT License

PhysioLabXR


Logo

A Python Platform for Real-Time, Multi-modal, Brain–Computer Interfaces and Extended Reality Experiments
Explore the docs »

Official website · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

PhysioLabXR Screen Shot

PhysioLabXR is a Python-based App for real-time visualizing, recording, and processing (i.e., training ML models and inferencing) data streams. PhysioLabXR can help you build novel interaction interfaces like BCIs and aid you in running experiments. It works best with multi-modal (e.g., combining EEG and eyetracking, camera with speech), high-throughput (>500Mbps/sec), and real-time data streams.

//: # ()

Check out the paper on Journal of Open Source Software: DOI. Cite:

@article{Li2024, doi = {10.21105/joss.05854}, url = {https://doi.org/10.21105/joss.05854}, year = {2024}, publisher = {The Open Journal}, volume = {9}, number = {93}, pages = {5854}, author = {Ziheng 'Leo' Li and Haowen 'John' Wei and Ziwen Xie and Yunxiang Peng and June Pyo Suh and Steven Feiner and Paul Sajda}, title = {PhysioLabXR: A Python Platform for Real-Time, Multi-modal, Brain–Computer Interfaces and Extended Reality Experiments}, journal = {Journal of Open Source Software} }

Built With

  • Python
  • QT
  • PyQtGraph
  • NumPy
  • ZMQ
  • LSL

(back to top)

Getting Started

Download and run the executable

Download the latest release exe from here, available for Windows, Mac, and Linux.

Install with pip

PhysioLabXR currently supports Python 3.9, 3.10, and 3.11. Support for Python 3.12 is coming soon.

Install PhysioLabXR's PYPI distribution with

sh pip install physiolabxr Then run with

sh physiolabxr

Run from Source

Alternatively, you can clone the repo and run it from the source.

sh git clone https://github.com/PhysioLabXR/PhysioLabXR.git cd PhysioLabXR pip install -r requirements.txt

The entry point to PhysioLabXR is physiolabxr.py, located in the folder named "physiolabxr". From the root folder, you can run it by:

sh python physiolabxr/physiolabxr.py

(back to top)

Usage

For more examples, please refer to the tutorials in the documentation

Tutorials have examples for:

  • Real-time fixation detection (link)
  • Real-time multi-modal event-related-potential classification with EEG and pupillometry
  • P300 speller in Unity
  • Stroop task with PsychoPy (link [https://physiolabxrdocs.readthedocs.io/en/latest/PsychoPy.html])

More are coming soon!

(back to top)

License

Distributed under the 3-Clause BSD License. See LICENSE.txt for more information.

© 2023 The Trustees of Columbia University in the City of New York. This work may be reproduced, distributed, and otherwise exploited for academic non-commercial purposes only. To obtain a license to this work for commercial purposes, please contact Columbia Technology Ventures at techventures@columbia.edu.

(back to top)

Contact

Ziheng 'Leo' Li - zl2990@columbia.edu

(back to top)

Acknowledgments

We would like to express our gratitude for the support from our colleagues at Columbia University and Worcester Polytechnic Institute. We would also like to thank all the community members who have contributed to PhysioLabXR.

(back to top)

Owner

  • Name: PhysioLabXR
  • Login: PhysioLabXR
  • Kind: organization

GitHub Events

Total
  • Create event: 20
  • Issues event: 1
  • Watch event: 7
  • Delete event: 6
  • Issue comment event: 1
  • Member event: 3
  • Push event: 117
  • Pull request review event: 8
  • Pull request review comment event: 7
  • Pull request event: 23
  • Fork event: 2
Last Year
  • Create event: 20
  • Issues event: 1
  • Watch event: 7
  • Delete event: 6
  • Issue comment event: 1
  • Member event: 3
  • Push event: 117
  • Pull request review event: 8
  • Pull request review comment event: 7
  • Pull request event: 23
  • Fork event: 2

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 1,548
  • Total Committers: 17
  • Avg Commits per committer: 91.059
  • Development Distribution Score (DDS): 0.375
Past Year
  • Commits: 63
  • Committers: 7
  • Avg Commits per committer: 9.0
  • Development Distribution Score (DDS): 0.349
Top Committers
Name Email Commits
Ziheng 'Leo' Li s****e@h****m 968
HaowenWeiJohn h****i@w****u 457
yunxiang y****8@c****u 46
junePyo j****h@g****m 20
Zeyi Tong z****3@c****u 11
Jace Li y****2@c****u 10
Millie Wu m****1@g****m 9
HannahZ a****x@g****m 7
lommytea t****7@g****m 4
Hanfei Sun h****8@g****m 3
Adithya N a****0@g****m 3
Andrew S Liang c****w@g****m 3
Anna a****6@g****m 2
Kelvin0023 2****6@q****m 2
jiananli306 3****6 1
Yuyang Li (Ian) 8****o 1
nikolo555 n****2@c****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 15
  • Total pull requests: 105
  • Average time to close issues: 2 months
  • Average time to close pull requests: 10 days
  • Total issue authors: 8
  • Total pull request authors: 16
  • Average comments per issue: 0.87
  • Average comments per pull request: 0.11
  • Merged pull requests: 84
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 25
  • Average time to close issues: N/A
  • Average time to close pull requests: 19 days
  • Issue authors: 1
  • Pull request authors: 6
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.08
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • HaowenWeiJohn (4)
  • lucask07 (3)
  • UdaiLaith (3)
  • ziwen-xie (1)
  • ApocalyVec (1)
  • cmicek1 (1)
  • xichenhe (1)
  • LommyTea (1)
  • Jefferyy-Peng (1)
Pull Request Authors
  • ApocalyVec (36)
  • xichenhe (21)
  • HaowenWeiJohn (19)
  • zeyiiiii (9)
  • Jefferyy-Peng (7)
  • LommyTea (6)
  • nikolo555 (4)
  • Cyno00 (4)
  • zhannahz (2)
  • mstimberg (2)
  • Gear-dev-sudo (2)
  • wutwasthat (1)
  • BRomans (1)
  • InsTiport (1)
  • Adithya1610 (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • PyQt5 *
  • brainflow *
  • ipython *
  • matplotlib *
  • numpy *
  • opencv-python *
  • psutil *
  • pyautogui *
  • pylsl *
  • pyqtgraph *
  • pyserial *
  • pytest-qt *
  • pyxdf *
  • pyzmq *
  • qimage2ndarray *
  • scipy *
  • setuptools *
  • sklearn *
pyproject.toml pypi
.github/workflows/unit-tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • tlambert03/setup-qt-libs v1 composite
physiolabxr/deprecated/recycle_bin/setup.py pypi
requirements.dev.txt pypi
  • PyOpenGL * development
  • PyOpenGL_accelerate * development
  • PyQt6 * development
  • brainflow * development
  • matplotlib * development
  • numba * development
  • numpy >=1.26.0 development
  • opencv-python * development
  • psutil * development
  • pylsl * development
  • pyqtgraph * development
  • pyscreeze * development
  • pyserial * development
  • pytest-qt * development
  • pyxdf * development
  • pyzmq * development
  • scikit-learn * development
  • scipy * development
  • setuptools * development
  • soundfile * development