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:
- Open Ephys Acquisition Board (supports up to 512 channels)
- Intan RHD2000 Evaluation System (supports up to 256 channels)
- Intan Recording Controller (supports up to 1024 channels)
- Neuropixels Probes (supports up to 6144 channels)
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.
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.
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.