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:
Code Block | ||
---|---|---|
| ||
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)