Difference between revisions of "Data Processing"

From Neuroelectric's Wiki
Jump to: navigation, search
(Matlab tools)
(Matlab tools)
Line 11: Line 11:
 
'''See [[Manuals & Downloads / Repository | Manuals & Downloads / Repository ]] for more sophisticated sample code to do data analysis.'''
 
'''See [[Manuals & Downloads / Repository | Manuals & Downloads / Repository ]] for more sophisticated sample code to do data analysis.'''
  
Here is an example in Matlab:
+
Here is a simple example in Matlab. 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:
 
+
>> MyData= load('201320020020data.easy');
+
>> d=load(‘20120731153351_enobiodata.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:
+
The data is now loaded as an array in the "d" variable.
 
>> 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
 
 
 
>> xlabel(‘Time from start (s)’);
 
 
 
>> ylabel(‘Voltage (mV)’);
 
  
>> title(‘Channel 1 data’);
+
>> 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
+
'''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
+
>> 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
  
  

Revision as of 14:09, 14 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.

See Manuals & Downloads / Repository for more sophisticated sample code to do data analysis.

Here is a simple example in Matlab. 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’);

The data is now loaded as an array in the "d" variable.

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