LogoLogo
  • Start Here
    • Introduction to NCIL
      • Welcome
      • Mission Statement
      • Getting Started
      • Make this handbook better!
  • Policies & Expectations
    • Working in NCIL
      • Aaron's Philosophy on Supervision
      • General Policies
      • Roles & Expectations
        • Interpersonal and Working Relationships
        • Lab Director: Aaron Newman
        • Lab Manager: Cindy Hamon-Hill
        • Collaborators
        • Postdocs
        • Lab Research Assistants
        • Graduate Students
        • Undergraduate Students
      • Work Ethic
        • Vacations & Absences
      • Money
        • Employment
        • Undergraduate Research Awards
        • Graduate Student Funding
    • Communication
      • Basecamp
      • Lab Meetings
      • Communication Among Lab Members
      • Communicating with Research Participants
      • Website & Social Media
      • Meetings with Supervisor
      • Response Times
    • Lab Space and Resources
      • Hours of Operation
        • After-Hours Research
      • Safety
    • Intellectual Property
      • Data
      • Authorship
      • Publishing: Where and When
  • Data Management & Analysis
    • Data Science Tools
      • Jupyter
        • JupyterLab
      • Python
      • R
      • How to set up your computer for NCIL data science
    • Servers & Computers
      • Accounts
      • File Server (NCILNAS)
        • Accessing NCILNAS
      • Compute Server
        • Jupyter
        • VS Code - Setup
        • VS Code - Everyday Use
      • GitHub Copilot
    • Data Analysis
      • Behavioural Data
      • EEG Analysis
      • fMRI Analysis
        • Processing fMRI Data with SPM
        • fMRI Analysis in SPM
      • Power analysis with simR in R
    • Data Management
      • Github
      • Open Science
    • Learn Some Coding
  • How To Run Experiments
    • How to Get a Research Study Started
      • Research Ethics
      • Your Research Protocol
        • Components of a Research Protocol
      • Pilot Testing
    • Running a Participant
      • Communicating With Participants
      • Recruiting
      • Before Each Participant Arrives
      • When a Participant is in the Lab
    • Experiment Programming
      • Stimulus Presentation Programs
      • Brain-Computer Interface Programs (BCI)
      • EEG Trigger Codes
        • Lab Streaming Layer
        • Trigger Code Hardware Setup
        • Timing Test
    • Data Storage & Protection
    • Word Similarity Measures
  • Communicating Science
    • Submitting papers to Aaron for review
    • Lab Meeting Talks
    • Independent Study Course
    • Honours Thesis
      • Getting Started
    • Master's Thesis
    • 😓PhD Dissertation
    • PhD Comps
    • Conferences
    • Publications
    • Reviewing Journal Manuscripts
  • Old
    • VS Code on NCIL server
Powered by GitBook
On this page
  • OpenViBE
  • NeuroPype
  • Timeflux

Was this helpful?

  1. How To Run Experiments
  2. Experiment Programming

Brain-Computer Interface Programs (BCI)

A non-exhaustive list

PreviousStimulus Presentation ProgramsNextEEG Trigger Codes

Last updated 2 years ago

Was this helpful?

For BCI designs, there are multiple toolboxes and design software that we can use. Each has their own pros and cons.

Pros

  • A few NCIL members already have some familiarity with it

  • Compatible with Lab Streaming Layer (LSL) and OpenBCI

  • Many ready-to-use paradigms included

  • Commonly used in research

Cons

  • Uses Lua programming language, not Python

  • Poor documentation—not detailed or updated often

  • Only compatible with Windows or Linux

Pros

  • Uses Python

  • Compatible with PsychoPy, LSL, OpenBCI, and BrainProducts that we use in the lab

  • Compatible with Mac, Windows, and Linux

  • Has built-in nodes for LDA, SVM, and many other classifiers, and you’re able to code your own

  • Has a web API so you’re not limited to a desktop/laptop to present your stimulus presentation

  • Increasingly prevalent in the literature

  • Documentation seems to be very detailed

  • Free for academic research or for events like hackathons

Cons

  • Requires a computer with four cores

    • Most newer laptops have over four cores, plus in-lab computers do. Older laptops often have less than four, so it might limit who can use NeuroPype at hackathons

  • Subscription for commercial use

Pros

  • Uses nodes written in YAML to acquire, monitor, and record data

  • Uses nodes written in Python to process data and implement commands in real-time

  • Uses packages we already use—pandas, scipy, scikit-learn, and others

  • Compatible with Psychopy, LSL, OpenBCI devices

  • Completely free and open-source

Cons

  • Relatively new—documentation is still in development

  • Not currently widely used

OpenViBE
NeuroPype
Timeflux