Manuals & Downloads / Repository

From Neuroelectric's Wiki
Revision as of 15:10, 14 October 2013 by Giulio.ruffini (talk | contribs) (Neuroelectrics FAQ)
Jump to: navigation, search

In this page you can find links to our manuals and to a code repository. Many of these links are equivalent to those in our Download section in the Neuroelectrics website.

Neuroelectrics' systems include | Enobio (EEG) and | StarStim (EEG/tCS) class devices as well as our universal software controller - | Neuroelectrics Instrument Controller (NIC). Manuals and other downloads are available for both.

Neuroelectrics Download Area for Manuals and software

Please visit

Neuroelectrics FAQ

Is Enobio/StarStim a Dry Electrode system?

Yes, our devices can be used in dry mode for EEG recording (not for stimulation). We provide EEG dry electrode front-ends for the forehead and scalp. The two CMS/DRL electrodes require gel to increase CMRR and improve immunity to artifacts.

Is skin preparation critical when using Enobio/StarStim?

No, the system can be used without the usual skin preparation (scrubbing), although scrubbing will improve signal quality. Preparation for an EEG measurement is very simple, just fit the electrodes to the headband or cap, place on the head and ensure good contact between the electrodes and the skin. Cleaning the CMS/DRL application area and/or scrubbing a bit is recommended, since they provide a common ground to the other electrodes.

What is the battery life of Enobio and StarStim? Enobio has a battery life of >16 hours on a full charge. StarStim's battery life will vary depending on use (EEG or Stimulation). An indication is that for 50% time share of EEG/Stimulation use, battery life is > 8 h.

How does the device communicate with the computer? Communication of Enobio or StarStim devices is achieved via the standard Bluetooth wireless protocol, already included in most computers today (we provide a bluetooth dongle with our systems in case your computer does not provide Bluetooth). Most computers and USB Bluetooth dongles are therefore compatible with our systems. Contact for more information about Bluetooth and for dongle support.

What does the provided NIC software do? Enobio/StarStim's software (Neuroelectrics Instrument Controller or NIC) is an application (Windows, OS X) that manages all aspects of device control, including data recording, data display, montage preparation, brain stimulation protocols and wireless communication between the device and the host computer. NIC designed as a generic Neuroelectrics Instrument Controller, and it can handle Enobio and StarStim class devices. It also offer interactivity with our devices using other software.

Can I build custom applications? Yes, a fully documented API is provided for custom applications. The NE API consists on a set of classes that permit the access to the Enobio or StarStim device and the data that it provides. The main class to access the device is Enobio3G. This class provides methods for opening the device, starting and stopping the data streaming and configuring the device. Please download our toolkit for documentation.

What operating systems are compatible with the Neuroelectrics software? NIC is currently available for Windows (XP, VISTA, Windows 7 and 8) and MAC OS X (Snow Leopard, Lion and Moutain Lion).

What is the EEG data format of produced by Enobio or StarStim? Enobio and StarStim can write data in several formats. From our simple, full 24 bit ASCII file of tab delimited columns (our ".easy" data format) to the (16 bit) EDF+ standard. You can save EEG, accelerometry (3 axis) and data markers using these formats.

Can Enobio /StarStim data be accessed by other applications? Yes, NIC provides a TPC/IP socket in order to stream data to any TCP/IP capable application in real-time.

In what data format is the raw data streamed? Raw data is transmitted according to the Neuroelectrics Datagram Protocol. You can find the latest version of the protocol in our support site.

What is the signal SNR? EEG Signal-to-Noise Ratio (SNR) is 83dB.

What is the smallest measurable signal that can be measured by Enobio/StarStim? The smallest measurable signal is determined by the amplifier noise level. Amplifier noise for low frequencies is 0.5 μV rms.

What is the EEG resolution of our devices in µV? The EEG signal resolution is 0.048 µV (dynamic range from -0.4 to 0.4 V).

What is the input noise? The background EEG noise is 10-100 µV which is much higher than the Enobio/StarStim amplifier noise. Device electronic noise adds only a few percent to the total noise level.

What is the effective dynamic range in bits? The dynamic range is 24 bit.

Does Enobio or StarStim provide a line noise filter? The devices does not apply a line noise filter. Instead, the NIC software optionally uses a real-time 50/60 Hz line noise cancellation algorithm that conserves the original signal. This filter can optionally be applied by the user to the recorded data.

Is the DRL/CMS electrodes contact important? Yes, the DRL/CMS contact is very important for high quality measurements. Please follow the procedures outlined in the User Manual to achieve best performance.

Is the DRL/CMS circuit the Common Mode Reference? Yes, the DRL/CMS provides a common reference point between the body and the device circuitry.

What is a differential reference? Any electrode(s) can be used as a differential reference for the other channels; the choice is made entirely in software. When no reference is selected in software, the signals are displayed with respect to the CMS electrode. The use of a differential referencing improves the CMRR of the measurements and therefore the signal quality. Such referencing can be done offline, once the data is recorded.

What is the lowest frequency measurable with Enobio/StarStim? Our devices allow for measurements of signals from DC to 250Hz and expands the low frequency domain to true DC.

What is the Analog bandwidth of Enobio? The analog bandwidth of the signal is DC to 125Hz.

Does Enobio/StarStim have adjustable filters? Yes, the NIC user interface allows the user to select a digital filter implemented in software. However, such filters are only used for visualization of the data. Data is alwasys recorded in full bandwidth.

Does Enobio/StarStim have variable sample-rates? No, Enobio uses a sampling rate of 500Hz per channel for EEG (100 SPS for accelerometry data). Optionally, we provide 1000 S/s systems. Contact us for more information.

Does Enobio/StarStim have an adjustable Analog Gain? No, the Enobio is provided with a fixed analogue gain. This value is selected to accommodate large artifacts and electrode drifts without loss in signal performance. It is possible to use different gains for special applications. If you would like to explore a better SNR at the ADC stage please contact the Enobio support team.

What is the input impedance? The DC input impedance of the amplifiers is 1GOhm. However, input impedance is not the best measure of dry electrode quality. Common-Mode Rejection Ratio is a better measure of the electrode quality, Enobio provides 115 dB of CMRR.

Matlab code

Data Analysis

You can find here a zip file containing the following:

- NE_Viewer.m, a Matlab code to read and plot NE files, together with  
- some data  in .easy format and 
- a folder with the figures NE_Viewer.m generates with this data. 

The data and code are provided as examples of how to use Matlab to read and plot data.

The call used to generate the plots in the folder is

>> NE_Viewer('20130925192801_PatientTMS.easy',999,500,{'Fp1','Fp2','F3','F4','C3','C4','P3','Cz'});

The 999 mean "do average referencing" and the 500 is the sampling rate in S/s. The rest are electrode labels (the data has been collected using a StarStim 8 channels system).

Here is the header of NE_Viewer:

function [NEdata NEdataRefFilPack]= ...
                     NE_Viewer(filepath, ref, fs, LabelsElectrodes,band,T) 
% NE_Viewer(filepath) reads Enobio/StarStim (3G, released 2012) data in  
% ASCII (.txt or ".easy") or EDF format, and plots parts of it together 
% with its PSD and spectrogram.
% This function is provided as is as an example on how to work with NE instrument 
% data.
% Enobio/StarStim (8 or 20 or 32 Ch) data file path (mandatory) and other optional
% entries: "ref" the optional reference channel (use 0 for none, 999 for 
% an all electrode average), "fs" the sampling rate in S/s, 
% "LabelsElectrodes" a structure containing channel names, and "band" a 
% 2-element array with the low and high filtering frequency, e.g., 
% band=[1 40], in Hz. Finally, "T" is an arracy specifiying initital and 
% final time to analyze (in seconds), e.g., T=[10 130].
% Returns the original, raw data pack, NEdata, as a Matlab variable.
% preserving the units (e.g., nV, ms). It also returnes NEdataRefFilPack, 
% the processed (referenced, detreneded, filtered) data (in uV). The time
% stamp (in seconds from start of the take) is provided in the last column.
% SIDE EFFECTS: creation of "figures" directory if it does not exist, 
%               creation of data plot figures of all Enobio channels, etc. 
%       out = NE_Viewer(filepath) plots the data in the filepath
%       (filepath includes path relative to the Matlab current working 
%       directory of full absolute path), its PSD and spectrogram for each channel, 
%       etc., for 8 channels. As default it assumes a 500 Samples/s
%       sampling rate, and does not reference the data to any other
%       channel.  The code puts figures in a directory under the working
%       directory.
%       NE_Viewer(filepath, ref) references the data to a chosen channel 
%       (ref should be a Channel number from 1 to 8 (or 20 for Enobio20), 
%       or zero to force no reference - the default). A reference = 999
%       means the average of all electrodes is used as reference.
%       In addition, using the call NE_View(filepath, ref, fs) allows 
%       for changing the sampling rate fs in Samples/s. 
%       Use a structure with LabelsElectrodes such as 
%         >> LabelsElectrodes={'Ch1','Ch2','Ch3','Ch4','Ch5','Ch6','Ch7','Ch8'}
%       with 
%         >> NE_View(filepath, ref, fs, LabelsElectrodes) 
%       to add LabelsElectrodes to channel IDs in plots.
% EXAMPLE: assuming the data is in a folder called "data", 
%          NE_Viewer('./data/EC.txt')   % uses all defaults
%          NE_Viewer('./data/EC.txt',1)    % spedifies reference channel
%          NE_Viewer('./data/EC.txt',1,500) % specifies Sampling rate
%          To specify channel LabelsElectrodes
%          NE_Viewer('./data/EC.txt',1,500, ...
%                    {'Fp1','Fp2','P3','P4','O1','O1','T7','Pz'} ) 
%          To specifiy a filter band other than the default:
%          NE_Viewer('data/StarStim/20120728085042_TBtACS10Hz1mA.txt',0, ...
%                                                         [],[],[1 60]);
%    As another example, 
%       >> [NEdata NEdataRefFilPack]=NE_Viewer('data/Enobio8.txt');
%   and then plot data vs. time 
%       >> figure; plot(NEdataRefFilPack(:,9), NEdataRefFilPack(:,1));
%       NE ASCII files contain one line per time sample. Each line contains
%       first the EEG data (8 or 20 channels, depending on the device, with
%       units in nV), followed by  three acceleration channels (aX,aY,aZ 
%       in mm/s^2- millimeters per second squared), an *optional* external 
%       input channel, a trigger flag (int32) and, finally, 
%       a timestamp in Unix time (ms from Jan 1 1970):
% Ch1(nV) ... Ch8or20(nV) aX(mg) aY(mg) aZ(mg) AddSensor Flags(uint32) TimeStamp (ms)
% Therefore Enobio8/StarStim will have a minimum of 8+2 (10) columns, or 8+3=11 if no 
%   accelerometer or >= 8+4 (with accelerometer). In summary:
%   Enobio8/20
%        10 Columns: no AddSensor, no accelerometer data:
%        11 Comumns: no accelerometer, but there is AddSensor
%        13 Columns: there is accelerometer, but no Addsensor
%        14 Comumns: there is accelerometer, AddSensor.
%   Enobio 20 will have >= 22 and >=24 columns if acc. data present:
%        22 Columns: no AddSensor, no accelerometer
%        23 Comumns: no accelerometer, but there is AddSensor
%        25 Columns: there is accelerometer, no AddSensor 
%        26 Comumns: there is accelerometer, AddSensor.
%   Enobio 32 will have >=34 adn >=36 if acc data is present
%        34 Columns: no AddSensor, no accelerometer
%        35 Comumns: no accelerometer, but there is AddSensor
%        37 Columns: there is accelerometer, no AddSensor 
%        38 Comumns: there is accelerometer, AddSensor.
%   Author(s): G.R. - Neuroelectrics Barcelona SL 
%   Copyright 2011-13 Neuroelectrics Barcelona SL
%   $Revision: 0.1 $  $Date: 2011/11/26 $ 
%   $Revision: 0.2 $  $Date: 2012/07/16 $ 
%   $Revision: 0.3 $  $Date: 2012/11/15 $ 
%   $Revision: 0.4 $  $Date: 2013/01/11 $ 
%   $Revision: 1.0 $  $Date: 2013/01/15 $ 
%   $Revision: 1.1 $  $Date: 2013/01/15 $ 

%   References:
%     [1] Enobio users guide.

MatNIC device controller