[Eeglablist] Different baseline correction for different types of event?
James Desjardins
jdesjardins at brocku.ca
Sat Jul 3 10:24:40 PDT 2010
Hi Chris,
I do not know of a way to apply a condition specific baseline
correction in a single command. I have performed a similar
manipulation by segmenting the data into to two files and then
appending them together into a single file using "pop_mergeset". Then
continue further processing on the single appended dataset.
If your data is already segmented into a single file (baseline
corrected to -200ms to 0ms) and you would like to change the baseline
period of your "chx","cix" condition type epochs to -1600ms to
-1400ms, a script like the following should work:
% Create a vector of baseline times plus zero point (ms) and convert
it to data point indices...
ms_vals=[-1800,-1600,0];
pnt_vals=round(ms_vals/(1000/EEG.srate)-((EEG.xmin*1000)/(1000/EEG.srate)-1));
% Obtain indices for epochs of the condition type to be changed...
j=0;
for i=1:length(EEG.event);
trial=EEG.event(i).epoch;
if
(strcmp(EEG.event(i).type,'chx')||strcmp(EEG.event(i).type,'cix'))&& ...
EEG.event(i).latency==pnt_vals(3)+EEG.pnts*(trial-1);
j=j+1;ind(j)=trial;
end
end
% Calculate baseline values for the epochs of the condition type to be
changed...
bl=mean(EEG.data(:,pnt_vals(1):pnt_vals(2),ind),2);
% Subtract baseline values from the epochs of the condition type to be
changed...
for i=1:EEG.nbchan;
for j=1:EEG.pnts;
EEG.data(i,j,ind)=EEG.data(i,j,ind)-bl(i,1,:);
end
end
James Desjardins
Technician, MA Student
Department of Psychology, Behavioural Neuroscience
Cognitive and Affective Neuroscience Lab
Brock University
St. Catharines, ON, Canada
Quoting Retzler Christopher <lpxcr at nottingham.ac.uk>:
> Hi
>
> I'm currently re-anlayzing some data, I have been epoching using the
> following
>
>
>
> EEG = pop_epoch( EEG, { 'cho+' 'cho-' 'chx ' 'cig+' 'cig-'
> 'cix ' }, [-2 2], 'newname', 'epochs', 'epochinfo', 'yes');
>
>
>
> [ALLEEG EEG CURRENTSET] = pop_newset(ALLEEG, EEG, 1, 'overwrite',
> 'on', 'gui', 'off');
>
>
>
> % baseline correct using -200 to 0 as baseline
>
> EEG = pop_rmbase(EEG,[-200 0]);
>
>
>
>
>
> Is it possible to apply seperate baseline corrections to two types
> of events? So for 'chx' and 'cix' events I would like to baseline
> correct at -1800 - -1600 as these are pre-response epochs. For the
> other events I would like to use -200 - 0ms as the baseline (these
> are post-reponse). Ideally I would like to process these events
> together so that I can run the rest of pre-processing on the entire
> data set (i.e. ICA artifact rejection etc) and not have to do it
> twice.
>
>
>
> Many thanks in advance.
>
>
> Chris Retzler
>
> PhD student
> School of Psychology
> University of Nottingham
> University Park
> Nottingham
> NG7 2RD.
> This message has been checked for viruses but the contents of an attachment
> may still contain software viruses which could damage your computer system:
> you are advised to perform your own checks. Email communications with the
> University of Nottingham may be monitored as permitted by UK legislation.
More information about the eeglablist
mailing list