Difference between revisions of "Data Processing"

From Neuroelectric's Wiki
Jump to: navigation, search
Line 15: Line 15:
 
Here is a more sophisticated example:
 
Here is a more sophisticated example:
  
% This is a an example file to read NE data.
+
This is a an example file to read NE data. First we load the file - change the filename below as needed. The file  should be in the Matlab working directory in this case:
% First we load the file - change the filename below as needed. The file  should be in
 
% the Matlab working directory in this case:
 
 
   
 
   
 
>> d=load(‘20120731153351_enobiodata.easy’);
 
>> d=load(‘20120731153351_enobiodata.easy’);
 
   
 
   
% Next we define the time axis using the last column in the data (in ms Unix time):
+
Next we define the time axis using the last column in the data (in ms Unix time):
  
time=d(:,end); % time stamp is in the last column - in ms Unix time
+
>> time=d(:,end); % time stamp is in the last column - in ms Unix time
  
time=time-time(1); % set clock to zero in first sample
+
>> time=time-time(1); % set clock to zero in first sample
  
time=time/1000; % change time units to seconds  
+
>> time=time/1000; % change time units to seconds  
 
   
 
   
% Example one: we plot channel 1 in mV  
+
Example one: we plot channel 1 in mV  
  
figure(1); plot(time, d(:,1)/1e6); % divide by one million to go to mV
+
>> figure(1); plot(time, d(:,1)/1e6); % divide by one million to go to mV
  
xlabel(‘Time from start (s)’);  
+
>> xlabel(‘Time from start (s)’);  
  
ylabel(‘Voltage (mV)’);
+
>> ylabel(‘Voltage (mV)’);
  
title(‘Channel 1 data’);
+
>> title(‘Channel 1 data’);
 
   
 
   
% Example two: we plot channels 1 to 8 in uV
+
Example two: we plot channels 1 to 8 in uV
  
figure(2); plot(time, d(:,1:8)/1e3); % divide by one thousand to go to uV
+
>> figure(2); plot(time, d(:,1:8)/1e3); % divide by one thousand to go to uV
  
xlabel(‘Time from start (s)’);
+
>> xlabel(‘Time from start (s)’);
  
ylabel(‘Voltage (uV)’);
+
>> ylabel(‘Voltage (uV)’);
  
legend({‘Ch1’,’Ch2’,’Ch3’,’Ch4’,’Ch5’,’Ch6’,’Ch7’,’Ch8’});
+
>> legend({‘Ch1’,’Ch2’,’Ch3’,’Ch4’,’Ch5’,’Ch6’,’Ch7’,’Ch8’});
  
title(‘Channels 1-8 data’);
+
>> title(‘Channels 1-8 data’);
  
ylim([-200 200]); % fix the y-axis limits to plu/minus 200 uV
+
>> ylim([-200 200]); % fix the y-axis limits to plu/minus 200 uV
  
  

Revision as of 12:21, 10 October 2013

In this page you will find some tips on how to analyze NE instrument data. This includes EEG data and accelerometry.

We discuss data analysis with Matlab and with NIC-Offline


Matlab tools

When EEG data is recorded by NIC from Enobio or StarStim instruments, several files are created. These include an .info file and an .easy file. "Easy" format data is, well, easy to load into a program such as Matlab. Here is an example in Matlab:

>> MyData= load('201320020020data.easy');


Here is a more sophisticated example:

This is a an example file to read NE data. First we load the file - change the filename below as needed. The file should be in the Matlab working directory in this case:

>> d=load(‘20120731153351_enobiodata.easy’);

Next we define the time axis using the last column in the data (in ms Unix time):

>> time=d(:,end); % time stamp is in the last column - in ms Unix time

>> time=time-time(1); % set clock to zero in first sample

>> time=time/1000; % change time units to seconds

Example one: we plot channel 1 in mV

>> figure(1); plot(time, d(:,1)/1e6); % divide by one million to go to mV

>> xlabel(‘Time from start (s)’);

>> ylabel(‘Voltage (mV)’);

>> title(‘Channel 1 data’);

Example two: we plot channels 1 to 8 in uV

>> figure(2); plot(time, d(:,1:8)/1e3); % divide by one thousand to go to uV

>> xlabel(‘Time from start (s)’);

>> ylabel(‘Voltage (uV)’);

>> legend({‘Ch1’,’Ch2’,’Ch3’,’Ch4’,’Ch5’,’Ch6’,’Ch7’,’Ch8’});

>> title(‘Channels 1-8 data’);

>> ylim([-200 200]); % fix the y-axis limits to plu/minus 200 uV


Spectrogram with TMS

NIC Offline