Openvibe Intro

Openvibe Intro

1 Introduction to OpenViBE Jussi T. Lindgren, PhD [email protected] HYBRID / Inria Rennes J. T. Lindgren / OpenViBE 1 2 Part I What is OpenViBE? J. T. Lindgren / OpenViBE 2 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 2 3 An open source software platform for BCI Enjoyed by research labs, clinicians, teachers, game developers and hobbyists worldwide J. T. Lindgren / OpenViBE 3 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 3 4 OpenViBE Team 2013 Coordination at Inria (group HYBRID @ Rennes, France) • http://team.inria.fr/hybrid/ • Primary research area: Virtual Reality • Project leader: Anatole Lécuyer • OpenViBE lead engineers: Jozef Legény & Jussi T. Lindgren Landscape at Inria: • Involved teams : HYBRID (Rennes), ATHENA (Sophia), POTIOC (Bordeaux), NEUROSYS (Nancy) • Involved personnel: 5 researchers & 5 developers Industry: • Earlier OpenViBE developers Yann Renard & Laurent Bonnet now work at a related startup J. T. Lindgren / OpenViBE 4 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 4 5 Key features of OpenViBE • Data acquisition from various biosignal devices • Graphical design of signal processing chains • Plugins for DSP, classification, visualization and more • Online and offline data processing • Core in C++. Interfaces with script languages and various file formats. J. T. Lindgren / OpenViBE 5 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 5 Computer A or B 6 Client (”Designer”) Architecture Network acquisition ACME Amplifier TCP/IP Filter Computer A Server Classifier ACME Display Driver VRPN server • Boxes are plugins • Solid arrows denote EBML- encoded streams of different Arbitrary DAG designs are possible types (signal, stimulation, ...) (Shown chain is for illustration only) J. T. Lindgren / OpenViBE 6 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 6 7 Server: Its mostly about drivers Vendor Devices BrainMaster Atlantis, Discovery Brain Products actiCHamp, BrainAmp, ... Emotiv EPOC g.Tec gUSBamp, gMobilab+ MicroMed SD LTM MindMedia NeXus32B NeuroSky MindSet (MindWave in SVN) OpenEEG MonolithEEG, Modular EEG P2 TMSi Porti32 + more unstable, unsupported & beta drivers + drift correction, software tagging, … J. T. Lindgren / OpenViBE 7 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 7 8 “Designer” Client Make your own DSP chains No programming skills required J. T. Lindgren / OpenViBE 8 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 8 9 Client plugins include DSP Basic math, detrending, epoching, spatial and temporal filters, spectral analysis, signal generators, statistics, FastICA, windowing, ... Visualizations Signal, Power Spectrum, Graz, Matrix, Topographic Maps: 2D & 3D, Cue Image, Voxel Display, ... Classifiers SVM, LDA Other Script language interfaces, file I/O, etc ... J. T. Lindgren / OpenViBE 9 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 9 10 Client: Various real-time displays J. T. Lindgren / OpenViBE 10 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 10 11 Some approaches implemented on OpenViBE P300 Neurofeedback SSVEP Motor Imagery J. T. Lindgren / OpenViBE 11 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 11 12 OS’es & dev-tools supported Linux: source only GNU C++ build environment required Ubuntu: LTS & latest. Fedora: 2 latest Windows: binary available or compile with MSVC In SVN: Visual Studio IDE support (release in June-July 2013) Windows XP & Windows 7 J. T. Lindgren / OpenViBE 12 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 12 13 Software requirements • Mandatory dependencies • Server: Cmake, Boost, GTK • Client: Cmake, Boost, Ogre, OIS, CEGUI, GTK, Expat • Strong recommendations • Client: VRPN, ITPP • Optional • Client: ALUT, Eigen3, Lua, Matlab, Python27, Vorbis • On Linux, most dependencies are used from distribution packages or downloaded by the installer • On Windows, the installer downloads the deps J. T. Lindgren / OpenViBE 13 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 13 14 License v0.15.0 and before: Codebase mostly under LGPL 2 Some plugins under GPL2 Near future: The whole codebase will likely switch to Want to see your code in the OpenViBE distribution? • New stuff : New plugins, drivers, scenarios and applications can be freely contributed. You keep your rights. • Changes to core components: Rights transfer to Inria required J. T. Lindgren / OpenViBE 14 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 14 15 Commitment to OpenViBE • Past development effort: ≈ 22 man-years at Inria (and various multi-partner projects since 2005) • On-going support (2013-2015): 4 Inria engineers with 100% allocation to OpenViBE • Inria startup: Mensia Technologies (launched in Nov 2012) can support commercial users of OpenViBE More information at http://openvibe.inria.fr J. T. Lindgren / OpenViBE 15 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 15 16 Part II Interoperability J. T. Lindgren / OpenViBE 16 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 16 17 Current I/O plugins in OpenViBE File I/O Direct I/O Format Read Write Type Read Write BCI2000 X Lua Stim Stim BCI comp. IIIb ASCII Matlab X X Brainamp X Python X X TCP/IP EBML CSV X X VRPN X X EDF X GDF X X OV (≈ EBML) X X Raw X J. T. Lindgren / OpenViBE 17 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 17 18 Understanding OpenViBE Well-defined kernel interfaces and stream specifications exist Good to know… • OpenViBE uses 32:32 fixed point simulated time, in seconds • OpenViBE .ov files are catenated EBML chunks w/o headers • There is no SDK: build against the OpenViBE source tarball User and developer documentation gets you started http://openvibe.inria.fr/documentation-index/ J. T. Lindgren / OpenViBE 18 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 18 19 Making OpenViBE understand ‘XYZ’ Plugin contributions are very welcome E.g. • Readers/writers for new file formats • Language plugins (like Matlab & Python boxes) • Boxes to pass data to/from external software • Drivers that actually read from another application • TiA plugin already exists as an extension from Gipsa-Lab J. T. Lindgren / OpenViBE 19 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 19 20 We’re happy to collaborate on developments Catch us by email, forum, or IRC http://openvibe.inria.fr/contact/ J. T. Lindgren / OpenViBE 20 J.T. Lindgren: Introduction to OpenViBE BCI Meeting 2013 / M-5 20 .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    20 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us