Git Product home page Git Product logo

rest's Introduction

REST (Real-time EEG Source-mapping Toolbox): Online ICA and Source Localization


REST provides an easy-to-use and interactive platform to perform source-space analysis on live-streaming electroencephalographic (EEG) data in near real-time with visualizations of estimated independent source activations, corresponding source scalp topographies, source locations, as well as other measures.

To use REST

  • Run the test_script.m to see if REST can be correctly set up in your environment. The script will run REST in playback mode with the demo dataset. If a pipeline designer GUI pops up, just close it so that REST can continue. In the end, you will see the REST visualization GUI pop up that shows the playback data stream, online decomposed independent components, etc. See the Video Tutorials section below for instruction of how to interact with REST interface.

  • To work with your own data stream, create a Lab Streaming Layer (LSL) stream for the data you wish REST to work with. To do this, look at the lab streaming layer github at https://github.com/sccn/labstreaminglayer to find how to interface with your data recording setup.

  • Open test_script.m to see the example script. Set opts.playback to 0 (false) to enable online streaming mode. If calibration data is defined, the pipeline will be initialized with the data. Otherwise, the pipeline will be initialized with data (default 10-sec) collected on-line. If a headModel is defined, "localize" option in REST will be enable. Type help REST for more details.

  • REST is still in beta version. If you encounter any problem using REST or have any suggestion, please contact us at shh078 at ucsd dot edu.

Video Tutorials

There are some video primers on how to use REST available on YouTube. The (first video)[https://www.youtube.com/watch?v=W5mAAS0xxio] is an overview of the layout and basic features of REST. The (second video)[https://www.youtube.com/watch?v=Ud2XNQy1FkE] is an example of how to use REST for real-time eye-component rejection. More videos may come.

Files description:

  • test_script.m - Example script that shows how to run REST (streaming example data).
  • make_headModel.m - Make your own head model for source localization. Type help make_headModel for more information.
  • /functions/ - All REST functions including online ICA and source localization.
    • /pipeline/ - Contains functions for the processing pipeline
    • /vis/ - Contains functions for visualizations
      • vis_stream_ORICA.m - Altered version of BCILAB's vis_stream.m for use in REST to show time series.
  • /GUI/ - GUI files and figures.
    • REST.m (.fig) - Main GUI for visualization and interacting with data stream and sources.
    • selStream.m (.fig) - selStream GUI allows user to select a LSL stream that REST works with.
  • /data/ - Demo datasets, channel locations, head models, and config files.
  • /dependencies/ - Necessary functions from BCILAB, MoBILAB, liblsl and other sources.
  • flt_orica.m - BCILAB filter function for Online Recursive ICA [2]. Locate in \dependencies\BCILAB\code\filters.

References

[1] L. Pion-Tonachini, S.-H. Hsu, S. Makeig, T.-P. Jung, G. Cauwenberghs, "Real-Time EEG Source-Mapping Toolbox (REST): Online ICA and Source Localization," in IEEE EMBS, 2015.

[2] S.-H. Hsu, T. R. Mullen, T.-P. Jung and G. Cauwenberghs, "Real-time adaptive EEG source separation using online recursive independent component analysis," IEEE transactions on neural systems and rehabilitation engineering, 24(3), pp.309-319, 2016.

2017/07/06 Luca Pion-Tonachini / Sheng-Hsiou Hsu @ SCCN, UCSD

rest's People

Contributors

goodshawn12 avatar lucapton avatar

Watchers

James Cloos avatar Hang Wu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.