Table of Contents

Real-time processing of EEG/MEG data with Matlab

We are working on the real-time support for data analysis (feature extraction and classification) in FieldTrip. Besides feature extraction and classification, which are both needed for BCI and neurofeedback applications, we have implemented support for real-time processing of EEG/MEG data in MATLAB in general.

Integration with other software and with acquisition systems

Transmitting data from an acquisition system to a FieldTrip buffer

Acquisition system or protocol Matlab-based stand-alone (C/C++) other solutions
ANT NeuroSDK ft_realtime_asaproxy NeuroSDK toolkit
BrainVision Remote Data Access (RDA) ft_realtime_brainampproxy rda2ft (coming soon) BCI2000, using FieldTripBuffer filter
CTF/VSM MedTech AcqBuffer + ft_realtime_ctfproxy acq2ft
Micromed ft_realtime_micromedproxy
Neuralynx ft_realtime_neuralynxproxy nlx2ft
Neuromag under development
Siemens MR scanners PixelDataGrabber
Testing: sine waves ft_realtime_signalproxy sine2ft, demo_sinewave
Testing: fMRI data ft_realtime_fmriproxy nii_to_buffer

Reading data from the FieldTrip buffer into analysis platforms

Analysis platform Interface type
BCI2000 RDA streaming interface (demo_buffer_rda)
BrainStream directly supported through Matlab binding

Language bindings for integration with custom applications

Language Client Server Notes
C yes yes Reference implementation
C++ yes yes (C) Thin wrapper classes for handling client requests
Matlab yes yes Full support via MEX files
Python (Numpy) yes no Incomplete so far, work in progress

Closing the loop

For a real-time BCI system, it is important that a control signal somehow can be used to close the loop towards the subject. Here you can find a description on the options that you have for closing the loop from within your Matlab-based BCI application.

Additional documentation on real-time analysis

Tutorials

2009/05/05 14:01 Robert Oostenveld

Example scripts

2010/05/17 15:22  
2009/04/21 12:23  
2010/05/17 15:22  
2009/04/21 12:23  
2010/05/17 15:22  
2009/04/21 12:23  
2010/05/17 15:22  
2009/04/21 12:23  
2010/05/17 15:23  
2009/04/21 12:05  
2009/04/20 23:01 Robert Oostenveld
2009/12/02 15:34  
2010/05/17 15:22  

Frequently asked questions

2009/06/17 16:48 Robert Oostenveld
2010/02/04 09:22