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)