/plugin-GUI

Software for processing, recording, and visualizing multichannel electrophysiology data

Primary LanguageC++

Open Ephys GUI

GUI screenshot

The Open Ephys GUI is designed to provide a fast and flexible interface for acquiring and visualizing data from extracellular electrodes. Compatible data acquisition hardware includes:

The GUI is based around a true plugin architecture, meaning the data processing modules are compiled separately from the main application. This greatly simplifies the process of adding functionality, since new modules can be created without the need to re-compile the entire application.

Our primary user base is scientists performing electrophysiology experiments with tetrodes or silicon probes, but the GUI can also be adapted for use with other types of sensors.

docs latest release platforms language license

Installation

The easiest way to get started is to use the pre-compiled binaries for your platform of choice (links will download a .zip file, which contains a folder with the GUI executable):

The Neuropixels version of the GUI is currently only available for Windows:

To compile the GUI from source, follow the instructions on our wiki for macOS, Linux, or Windows.

How to contribute

The GUI is written in C++ with the help of the Juce framework. Juce includes a variety of classes for audio processing, which have been co-opted to process neural data. It might be necessary to create custom data processing classes in the future, but for now, Juce takes care of a lot of the messy bits involved in analyzing many parallel data streams.

Before you contribute, you'll need to have some familiarity with C++, as well as makefiles (Linux), Xcode (macOS), or Visual Studio (Windows) for building applications.

The recommended way to add new features to the GUI is by building a new plugin. Instructions on creating plugins can be found here. New plugin developers can publish links to their work in this list to make them available to the general public.

If you'd like to make changes to code found in this repository, please submit a pull request to the development branch. Adding new files to the core GUI must be done through the "Projucer," using the "open-ephys.jucer" file. The Projucer makefiles are located in the Projucer/Builds folder, or as part of the Juce source code.