MATLAB Interface

IMPORTANT: The Open Ephys GUI documentation has migrated to a new site – please visit https://open-ephys.github.io for the most up-to-date information.

The MATLAB Interface is designed to stream live data from Open Ephys to a MATLAB session on the same network. This plugin is still in early development stages and currently only supports streaming a single channel of data at a time.

 

Function

The MATLAB Interface currently streams a single channel of data from the Open Ephys GUI to a running MATLAB session. The streaming channel can be switched on the fly during acquisition. This is particularly useful when setting up experiments using high-channel count electrodes, such as Neuropixels probes, and running basic tests without having to build a separate Open Ephys plugin. Instead, only the MATLAB script needs to be modified to alter how the incoming data is processed. A MATLAB API along with examples is included with the source code. A MATLAB template class is included below:

 

classdef MyClass < GenericProcessor properties %define any variables you want to keep track of here (see examples) end methods function self = MyClass(host, port) self = self@GenericProcessor(host, port); %Initialize any variables here (see examples) self.process(); end end methods (Access = protected) function process(self) while (true) process@GenericProcessor(self); numSamples = self.dataIn.numSamplesFetched; data = self.dataIn.continuous(1:end); %Do whatever you want with the data here (see examples) end end end end

 

Parameters saved

none for now.

Upgrades needed

  • Add event streaming

  • Support streaming multiple channels simultaneously

  • Send events back to Open Ephys

Attribution

Developed and maintained by Pavel Kulik (pavel@open-ephys.org)