Connecting OpenVibe with BCILAB using labstreaminglayer
-
- Posts: 16
- Joined: Thu Oct 11, 2012 11:24 am
Connecting OpenVibe with BCILAB using labstreaminglayer
Hi,
We wanted to use EEG data recorded from the BrainProducts ActiChamp EEG system for online analysis in BCILAB. http://sccn.ucsd.edu/wiki/BCILAB
Apparently, this can be done using Lab Streaming Layer https://code.google.com/p/labstreaminglayer/.
LSL provides a version of the OpenVibe Acquisition Server that allows its recording application to read data that is read by the OpenVibe Acquisition Server (OVAS). This is provided as OVAS-for-LSL https://code.google.com/p/labstreaminglayer/wiki/OVAS.
However, this distribution does not have the driver for ActiChamp EEG device in the list, so we are not able to connect the OVAS to the EEG device. Any way the Actichamp driver provided in the OpenVibe v0.15 can be integrated into this version of the OpenVibe acquisition server?
Thanks
We wanted to use EEG data recorded from the BrainProducts ActiChamp EEG system for online analysis in BCILAB. http://sccn.ucsd.edu/wiki/BCILAB
Apparently, this can be done using Lab Streaming Layer https://code.google.com/p/labstreaminglayer/.
LSL provides a version of the OpenVibe Acquisition Server that allows its recording application to read data that is read by the OpenVibe Acquisition Server (OVAS). This is provided as OVAS-for-LSL https://code.google.com/p/labstreaminglayer/wiki/OVAS.
However, this distribution does not have the driver for ActiChamp EEG device in the list, so we are not able to connect the OVAS to the EEG device. Any way the Actichamp driver provided in the OpenVibe v0.15 can be integrated into this version of the OpenVibe acquisition server?
Thanks
Re: Connecting OpenVibe with BCILAB using labstreaminglayer
Hi,
I had a look at it. It is nice to see the signal forwarded from OpenVibe to Matlab in real-time. There are students in my lab that we will prefer it like this.
It could be done in several ways:
1) The driver is integrated in OVAS LSL version - doable, but then when you recompile you need ActiChamp SDK. So I myself not having this SDK (headers and libs) - I can not produce such executable that has both.
2) The LSL streaming implemented in 0.14 by the LSL team is transferred to 0.15 version (which has the driver), but then I do not have the SDK again.
3) A box for the OpenVibe designer is probably the best thing in the sense that this way any device supported by the AS can be streamed through LSL. This way you do not provide a custom version of the AS that lowers the number of supported devices. A drawback is that you will need to start two applications: the AS and the Designer. Bu then you can read files with OpenVibe readers and stream them to Matlab.
If I have some time then I might be able to produce this box.
The opposite can also be useful because I see that LSL supports some devices, not provided by the OpenVibe AS. For us this will be Biosemi and Eyelink eyetracker.
Anton Andreev,
Gipsa-lab
I had a look at it. It is nice to see the signal forwarded from OpenVibe to Matlab in real-time. There are students in my lab that we will prefer it like this.
It could be done in several ways:
1) The driver is integrated in OVAS LSL version - doable, but then when you recompile you need ActiChamp SDK. So I myself not having this SDK (headers and libs) - I can not produce such executable that has both.
2) The LSL streaming implemented in 0.14 by the LSL team is transferred to 0.15 version (which has the driver), but then I do not have the SDK again.
3) A box for the OpenVibe designer is probably the best thing in the sense that this way any device supported by the AS can be streamed through LSL. This way you do not provide a custom version of the AS that lowers the number of supported devices. A drawback is that you will need to start two applications: the AS and the Designer. Bu then you can read files with OpenVibe readers and stream them to Matlab.
If I have some time then I might be able to produce this box.
The opposite can also be useful because I see that LSL supports some devices, not provided by the OpenVibe AS. For us this will be Biosemi and Eyelink eyetracker.
Anton Andreev,
Gipsa-lab
Re: Connecting OpenVibe with BCILAB using labstreaminglayer
Done.
The Gipsa-lab extensions dll version 2.1 now contains the box for the streaming you need :
http://code.google.com/p/openvibe-gipsa ... /Downloads
It works well with Matlab.
Also with C++. You can acquire the signal from OpenVibe using the following code:
Have fun,
Anton
The Gipsa-lab extensions dll version 2.1 now contains the box for the streaming you need :
http://code.google.com/p/openvibe-gipsa ... /Downloads
It works well with Matlab.
Also with C++. You can acquire the signal from OpenVibe using the following code:
Code: Select all
#include "../../../include/lsl_cpp.h"
#include <vector>
#include <iostream>
using namespace std;
/**
* This is a minimal example that demonstrates how a multi-channel stream of a particular name (here: OpenVibe Stream) can be
* resolved into an inlet, and how the raw sample data & time stamps are pulled from the inlet.
*/
typedef float float32;
int main(int argc, char* argv[]) {
using namespace lsl;
// resolve the stream of interest & make an inlet to get data from the first result
std::vector<stream_info> results = resolve_stream("name","OpenVibe Stream");
stream_inlet inlet(results[0]);
int NbChan = results[0].channel_count();
// receive data & time stamps forever (not displaying them here)
std::vector<float32> sample(NbChan);
while (true)
{
double ts = inlet.pull_sample(&sample[0],NbChan);
std::cout << "channel 1: " << sample[2] <<"\n";
}
return 0;
}
Anton
Re: Connecting OpenVibe with BCILAB using labstreaminglayer
Stimulations can also be exported now.
Re: Connecting OpenVibe with BCILAB using labstreaminglayer
The LSL Export box by Gipsa-lab is now integrated by Inria in the latest source code of OpenVibe - after 0.17.
Please test and report back.
Please test and report back.
-
- Posts: 16
- Joined: Thu Oct 11, 2012 11:24 am
Re: Connecting OpenVibe with BCILAB using labstreaminglayer
We managed to setup OpenVibe 0.17 with the GIPSA extension 2.1 compatible with this version.
However, we are not able to "connect" and "play" the Actichamp with the OpenVibe Acqusition Server. The following is the error log:
Though the Actichamp device does link with then native Actichamp Connector provided by LSL https://code.google.com/p/labstreamingl ... /ActiChamp, But the OpenVibe Acquisition Server is unable to connect.
When we try to configure the driver properties for ActiChamp in OpenVibe Acquisition Server, on clicking "apply", the application stops working and gives the following error message:
How can this be resolved?
However, we are not able to "connect" and "play" the Actichamp with the OpenVibe Acqusition Server. The following is the error log:
Code: Select all
[ INF ] Connection succeeded !
[ INF ] Starting the acquisition...
[ INF ] Now acquiring...
[WARNING] After 5000 milliseconds, did not receive anything from the driver - Timed out
[ INF ] Stopping the acquisition.
[ INF ] Disconnecting.
When we try to configure the driver properties for ActiChamp in OpenVibe Acquisition Server, on clicking "apply", the application stops working and gives the following error message:
How can this be resolved?
Re: Connecting OpenVibe with BCILAB using labstreaminglayer
The driver is produced by Mensia: http://www.mensiatech.com/new-openvibe- ... p-devices/
Documentation: http://openvibe.inria.fr/brainproducts- ... mp-driver/
Documentation: http://openvibe.inria.fr/brainproducts- ... mp-driver/
-
- Posts: 16
- Joined: Thu Oct 11, 2012 11:24 am
Re: Connecting OpenVibe with BCILAB using labstreaminglayer
toncho11 wrote:The driver is produced by Mensia: http://www.mensiatech.com/new-openvibe- ... p-devices/
Documentation: http://openvibe.inria.fr/brainproducts- ... mp-driver/
This would require building from sources? It doesn't seem to be part of the binaries of Openvibe 0.17.
Re: Connecting OpenVibe with BCILAB using labstreaminglayer
Hi sumitsoman!
I'm Laurent Bonnet, working at Mensia Technologies. Maybe I can help on that
Recent bug reports indicated that the actiCHamp driver was indeed not working properly with openvibe 0.17.0.
We contributed a patch recently that corrects some bugs, included the error while configuring the device (integrated in release 0.17.1), but the "timeout" error you get here is still present (no samples received).
This is due to the driver not finding a specific actichamp file when running.
We are still discussing the best way to correct this ASAP!
Meanwhile, a very easy quickfix can be performed:
I hope this helps!
Laurent-
I'm Laurent Bonnet, working at Mensia Technologies. Maybe I can help on that
Recent bug reports indicated that the actiCHamp driver was indeed not working properly with openvibe 0.17.0.
We contributed a patch recently that corrects some bugs, included the error while configuring the device (integrated in release 0.17.1), but the "timeout" error you get here is still present (no samples received).
This is due to the driver not finding a specific actichamp file when running.
We are still discussing the best way to correct this ASAP!
Meanwhile, a very easy quickfix can be performed:
- Go into openvibe installation folder (default should be something like C:/Program Files (x86)/openvibe)
- Go into the folder bin
- Copy the file ActiChamp.bit
- Go back one folder level up (into the root installation folder)
- Paste the file
I hope this helps!
Laurent-
Re: Connecting OpenVibe with BCILAB using labstreaminglayer
Hello everyone!
I have a BrainMaster Discovery 24E amplifier which is not present in the lab streaming layer Supported EEG Hardware https://github.com/sccn/labstreaminglay ... vices.wiki
Since BrainMaster Discovery 24E is present in the OpenVIBE supported hardware, I record raw EEG using BrainMaster amplifier but then I want to transfer those recorded data in edf or gdf file format to BCILAB for analysis.
Can anyone suggest me on how to export OpenVIBE recorded EDF or GDF files in BCILAB for Offline analysis?
Best Regards,
Madi
I have a BrainMaster Discovery 24E amplifier which is not present in the lab streaming layer Supported EEG Hardware https://github.com/sccn/labstreaminglay ... vices.wiki
Since BrainMaster Discovery 24E is present in the OpenVIBE supported hardware, I record raw EEG using BrainMaster amplifier but then I want to transfer those recorded data in edf or gdf file format to BCILAB for analysis.
Can anyone suggest me on how to export OpenVIBE recorded EDF or GDF files in BCILAB for Offline analysis?
Best Regards,
Madi