Mitsar.API for Matlab

Flying screens

EEGStudio.API

The Mitsar EEGStudio API for Matlab is designed in the form of a .NET Application comprised of Server and Client components. The Server component is built in into your EEGStudio software and is available upon purchase of the corresponding module. The Client component is compiled and is available in the form of EEGStudio_[date].dll supplied with your installation and located in the ..\EEG2Matlab\DLL folder.

This implementation uses relatively novel Matlab feature (starting R2009) that allows to execute .NET scripts and is based on an inter-process communication via Named Pipes protocol provided by the .NET framework.

Easy to use

Note that our solution does not implement a direct EEG machnie > MatLab communication. This way we exempt the researcher from the need to duplicate all necessary preprocessing steps (montaging, notchfiltering and etc.) in MatLab.

In our solution the researcher conditions the multichannel EEG timeseries using a convenient and easy to use EEGStudio interface. Then, upon user request the EEGStudio assumes the role of a server and streams the data to MatLab for real-time processing within BCI, neurofeedback or other user specific application.

While we think that split between standardized and user specific signal processing labor is natural and the most convenient we do also recognize that in some cases it is desirable to get access to the raw data and therefore provide such an option for EEGStudio software to stream nonmontaged and non-temporally filtered data into Matlab.

Wrapper

In order to further simplify the use of our API we developed a simple and concise Matlab wrapper class named EEGStudio (EEGStudio.m). Its methods implement basic features necessary to establish communication between Matlab and EEGStudio, to display the acquired timesries and save the input and derived data to the disk.

MainTimer

EEGStudio class uses MatLab timer object(MainTimer) that can be programmed by the user for any period (iTimerPeriod) and number of repetitions (iTimerRepeats) to call any user defined callback function(default sTimerCBFunction) implementing all necessary processing and display.

In the current implementation the callback function only served the purpose of displaying the multichannel timeseries.

Short Latency Access

Our solution provides short latency access to the real-time data in a high-level programming environment such as Matlab. This allows to use the variety of toolboxes implementing well thought through signal processing, optimization, pattern classification and etc algorithms.

We hope that this API will find its users among researchers actively involved in development of new signal processing techniques for neurofeedback and brain-computer interface applications.


Devices supported

All devices supportted by EEGStudio


Hardware Requirements

  • Intel or AMD based PC, minimum 1GHz CPU clock, minimum 2 GB RAM, 20GB hard drive
  • One free USB port on your PC

Software Requirements

  • Windows 7
  • 32/64 bit MATLAB 2010 and later