[Eeglablist] BCILab - Epoching Question

Alex Abe nabra005 at odu.edu
Tue Aug 16 12:47:59 PDT 2016


Hello everyone,

With regards to BCIlab, when there are multiple classes/markers is it
possible to use
'EpochExtraction' with multiple time windows of equal length, instead of
the usual way of using a single time window that applies to all markers ?

eg.

Present Way:

myapproach = {'SpecCSP','SignalProcessing',{'EpochExtraction',[0.1
0.5],'FIRFilter','off',...
                                              'IIRFilter',[4 6 28 30]}};

 [trainloss,lastmodel,laststats] =
bci_train('Data',both_sessions,'Approach',myapproach, ...

'EvaluationScheme',{'chron',5,5},'TargetMarkers',{'Delayedevent_House','Cat','Dog'});



Since I have 3 markers, how can I modify 'myapproach' to incorporate
epoching in such a fashion that that I can capture the delayed House event
appropriately?:

Possible Way ??

myapproach = {'SpecCSP','SignalProcessing',{'EpochExtraction',[0.5 1.0, *0.1
0.5, 0.1 0.5*],'FIRFilter','off',...
                                              'IIRFilter',[4 6 28 30]}};

Alex




On Mon, Aug 15, 2016 at 3:00 PM, <eeglablist-request at sccn.ucsd.edu> wrote:

> Send eeglablist mailing list submissions to
>         eeglablist at sccn.ucsd.edu
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://sccn.ucsd.edu/mailman/listinfo/eeglablist
> or, via email, send a message with subject or body 'help' to
>         eeglablist-request at sccn.ucsd.edu
>
> You can reach the person managing the list at
>         eeglablist-owner at sccn.ucsd.edu
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of eeglablist digest..."
>
> Today's Topics:
>
>    1. problem in BCILAB-1.1 version (brian baloch)
>    2. Re: Units in output of timefreq - wavelet normalization
>       (Norman Forschack)
>    3. uimenu issue (Quitadamo, Lucia)
>    4. BCI-Lab question (Alex Abe)
>    5. Re: headplot.m and 2014b -- can't seem to plot a head (Nick Wan)
>    6. Re: Trigger manipulation (Stephen Politzer-Ahles)
>    7. Re: Trigger manipulation (Tarik S Bel-Bahar)
>    8. Re: headplot.m and 2014b -- can't seem to plot a head
>       (Tarik S Bel-Bahar)
>    9. Re: Artifact rejection on continuous data (Tarik S Bel-Bahar)
>   10. SIFT resampling surrogate distributions with 1 trial
>       (Winslow Strong)
>
>
> ---------- Forwarded message ----------
> From: brian baloch <brian.baloch at gmail.com>
> To: <eeglablist at sccn.ucsd.edu>
> Cc:
> Date: Sun, 14 Aug 2016 15:12:12 +0900
> Subject: [Eeglablist] problem in BCILAB-1.1 version
> Respected Sir,
>
>                       Hope you would be fine. Dear Sir, I am PhD student
> in South Korea. I am working on BCILAB. Sir, I am experiencing one problem
> in BCILAB software during online MATLAB visualization. I am
> using MATLAB2015b. it gives an error of " referred  data is non-existent".
>
> chunk.smax = p.buffer.smax + size(chunk.data,2);
>
> I have been experiencing this error many days. Sir if you tell me solution
> for this, I will be thankful to you.
>
>
>
> Thanks.
>
> Regards
>
>
> ---------- Forwarded message ----------
> From: Norman Forschack <forschack at cbs.mpg.de>
> To: Andreas Widmann <widmann at uni-leipzig.de>
> Cc: eeglablist <eeglablist at sccn.ucsd.edu>
> Date: Mon, 15 Aug 2016 18:19:58 +0200
> Subject: Re: [Eeglablist] Units in output of timefreq - wavelet
> normalization
> Dear all,
>
> I'd like to contribute from the perspective of a discussion on Mike
> Cohen's Blog.
>
> The initial question was, how to obtain an amplitude envelope of a given
> signal which has in fact the same amplitude as the given signal, right?
> So coming from Nicos signal:
>
> clear all
> D = 4;       % total signal duration in seconds.
> sigD = 1;    % duration of the test oscillation within the signal.
> F = 10;      % frequency of the test oscillationin Hz.
> P = .25;     % Phase of the test oscillation. 2 pi radians = 360 degrees
> srate = 256; % sampling rate, i.e. N points per sec used to represent sine
> wave.
> T = 1/srate; % sampling period, i.e. for this e.g. points at 1 ms intervals
> time = T:T:D; % time vector.
>
> sigpoints = length(time)/2 - (sigD*srate)/2:(length(time)/2 +
> (sigD*srate)/2)-1;
> mysig = zeros(1,D*srate);
> mysig(sigpoints) = sin(2*F*time(sigpoints)*pi+ 2*pi*P);
>
> one way to obtain equal amplitudes is to normalize the wavelet by its
> maximal value within the frequency domain:
>
> % some preparations
> mysig = mysig';
> ss = size(mysig);
> cycles = 4;
> dt = 1/srate;
> sf = F/cycles;
> s = 1./(2*pi*sf);
> t = (-4*s:dt:4*s)';
> nM = length(t);
> halfMsiz = (nM-1)/2;
> hz = linspace(0,srate/2,floor(nM/2)+1);
> Ly = ss(1)*ss(2)+nM-1;
> Ly2=pow2(nextpow2(ss(1)*ss(2)+nM-1));
>
> % fft of signal
> X=fft(reshape(mysig,ss(1)*ss(2),1), Ly2);
>
> % building morlet wavelet (without a normalization factor)
> m =   exp(-t.^2/(2*s^2)).*exp(1i*2*pi*F.*t);
> H = fft(m,Ly2); % fft of wavelet
>
> % normalize wavelet spectrum
> H = H./max(H);
>
> y =  ifft(X.*H,Ly2);
> y = y(floor(halfMsiz+1):Ly-ceil(halfMsiz));
> y_amp = 2* abs(y);
>
> figure; plot(time,mysig,'b',time,y_amp,'r')
>
> This seems to work for any combination of srate and cycles (except when
> number of cycles become large) because the signal spectrum is convolved by
> spectral wavelet values being maximally one.
>
> I have not fully worked my way through Andreas' example. It normalizes the
> wavelet in time, not in frequency domain as here. So it is probably not
> comparable.
> But doing time domain normalization within the lines above by just
> replacing the kernel formula:
>
> m =   exp(-t.^2/(2*s^2)).*exp(1i*2*pi*F.*t) ./ sqrt(srate); % unit energy
>
> and commenting out the max(H) normalization, however, yields an amplitude
> envelope which is 2.5 times larger than the original signal amplitude and
> increases when the number of wavelet cycles is increased. But as Andreas
> suggestion referred to the dftfilt3 output, the matter becomes more
> complicated as this function uses it's own normalization factor:
> A = 1./sqrt(s*sqrt(pi));
> and there are problably some more relevant differences (not even going
> into the timefreq function).
>
> In sum, this post may have fostered the general confusion (or at least
> mine) but for a more puristic approach to the matter of wavelet
> normalization, the lines above might be of some value (kudos to mike x
> cohen, of course).
>
> All the best
> Norman
>
>
> ----- On Aug 12, 2016, at 6:06 PM, Andreas Widmann widmann at uni-leipzig.de
> wrote:
>
> > Dear Niko,
> >
> > I’m puzzled by this difference since a long time too (and as you have
> written a
> > book chapter on WT actually I would have hoped you could help resolving
> this
> > issue ;).
> >
> > (Morlet) wavelet normalization always appeared somewhat arbitrary to me
> (as
> > signal amplitude will never be directly reflected across the whole TF
> plane for
> > peaky spectra/time courses). To my understanding the most common
> normalization
> > for wavelets is unit energy (and Gabor). The help text for timefreq
> states that
> > dftfilt3 is "exact Tallon Baudry“. TB (1998, JNeurosci) states that
> "Wavelets
> > were normalized so that their total energy was 1,…“.
> >
> > The wavelets produced by dftfilt3 appear to always have an energy of
> srate (thus
> > they are *not* unit energy normalized?!):
> > [wavelet,cycles,freqresol,timeresol] = dftfilt3(F, ncycles, srate);
> > E = sum( abs( wavelet{ 1 } ) .^ 2 )
> > Consequently, to my understanding the correct „normfactor“ should be
> sqrt( E )
> > or better sqrt( srate ).
> >
> > You might want to confirm by looking at the TF transform of the (real
> part of
> > the) wavelet itself
> > wavelet{ 1 } = wavelet{ 1 } / sqrt( srate ); % Unit energy normalize
> > mysig = zeros(1,D*srate);
> > delay = ceil( ( length( mysig ) - length( wavelet{ 1 } ) ) / 2 );
> > mysig( delay:delay + length(  wavelet{ 1 } ) - 1 )  = real( wavelet{ 1 }
> ) * 2;
> > % Discard imag part
> > normfactor = sqrt( srate );
> > which should now have a peak amplitude of 1 (independent of sampling
> rate and
> > signal duration).
> >
> > As the issue appears to be not only in EEGLAB but also other
> implementations, I
> > always assumed my reasoning to be incorrect. Is it? What am I missing?
> >
> > Best,
> > Andreas
> >
> >> Am 10.08.2016 um 11:58 schrieb Niko Busch <niko.busch at gmail.com>:
> >>
> >> Dear Makoto (and everyone who replied to me personally regarding this
> post),
> >>
> >> thank you for your reply! I see that the result of the wavelet
> transform inside
> >> the timefreq function is dependent on the length of the signal, which
> in turn
> >> is dependent on the number of cycles and sampling rate. However, simply
> >> dividing by the length of the wavelet does not seem to be the solution
> either.
> >> I modified the code below by including a "normalization factor", which
> >> currently is simply the length of the wavelet. Dividing the wavelet
> transformed
> >> amplitudes by this factor gives the right order of magnitude, but the
> results
> >> are still quite off. By increasing the sampling rate or number of
> cycles, the
> >> results are even more off. I believe we are on the right track, but
> something
> >> is still missing. Do you have any ideas?
> >>
> >> Cheers,
> >> Niko
> >>
> >> %% Create sine wave
> >> clear all
> >> D = 4;       % total signal duration in seconds.
> >> sigD = 1;    % duration of the test oscillation within the signal.
> >> F = 10;      % frequency of the test oscillationin Hz.
> >> P = .25;     % Phase of the test oscillation. 2 pi radians = 360 degrees
> >> srate = 256; % sampling rate, i.e. N points per sec used to represent
> sine wave.
> >> T = 1/srate; % sampling period, i.e. for this e.g. points at 1 ms
> intervals
> >> t = [T:T:D]; % time vector.
> >>
> >> sigpoints = length(t)/2 - (sigD*srate)/2:(length(t)/2 +
> (sigD*srate)/2)-1;
> >> mysig = zeros(1,D*srate);
> >> mysig(sigpoints) = sin(2*F*t(sigpoints)*pi+ 2*pi*P);
> >>
> >> %% TF computation
> >> ncycles = 4;
> >>
> >> [wavelet,cycles,freqresol,timeresol] = dftfilt3(F, ncycles, srate);
> >> normfactor = length(wavelet{1});
> >>
> >> [tf, outfreqs, outtimes] = timefreq(mysig', srate, ...
> >>     'cycles', ncycles, 'wletmethod', 'dftfilt3', 'freqscale', 'linear',
> ...
> >>     'freqs', F);
> >>
> >> %% Plot
> >> figure; hold all
> >> plot(t,mysig);
> >> plot(outtimes./1000,abs(tf)./normfactor)
> >> xlabel('Time (seconds)');
> >> ylabel('Amplitude');
> >> legend('input signal', 'wavelet result')
> >>
> >> _______________________________________________
> >> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> >> To unsubscribe, send an empty email to eeglablist-unsubscribe at sccn.
> ucsd.edu
> >> For digest mode, send an email with the subject "set digest mime" to
> >> eeglablist-request at sccn.ucsd.edu
> >
> > _______________________________________________
> > Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> > To unsubscribe, send an empty email to eeglablist-unsubscribe at sccn.
> ucsd.edu
> > For digest mode, send an email with the subject "set digest mime" to
> > eeglablist-request at sccn.ucsd.edu
>
>
>
> ---------- Forwarded message ----------
> From: "Quitadamo, Lucia" <l.quitadamo at aston.ac.uk>
> To: "eeglablist at sccn.ucsd.edu" <eeglablist at sccn.ucsd.edu>
> Cc:
> Date: Sat, 13 Aug 2016 15:20:20 +0000
> Subject: [Eeglablist] uimenu issue
>
> Hello everybody,
>
>
>
> I am creating an EEGLAB plugin for the analysis and detection of
> high-frequency oscillations (HFOs). I have created a set of functions which
> can be called by means of a list of uimenus which I already integrated in
> the EEGLAB interface. I would like to enable some of the uimenus only if
> some variables  (created by different functions) are present in the
> workspace. Do you know how to do that? I have tried with “userdata”
> property, but I have been able just to disable the uimenu at the startup.
>
>
>
> Thanks for your support.
>
>
>
> Best,
>
>
>
> Lucia
>
>
> ---------- Forwarded message ----------
> From: Alex Abe <nabra005 at odu.edu>
> To: <eeglablist at sccn.ucsd.edu>
> Cc:
> Date: Fri, 12 Aug 2016 13:55:17 -0400
> Subject: [Eeglablist] BCI-Lab question
> Hi,
>
> I am running the search function in BCI_lab, and it is giving me an error
> which I am not able to solve. Can any BCI_lab expert help me out ? If I do
> not use search, the program compiles without an error and provides an
> output.
>
> I am using Matlab 2014a version. I tried running on 2011a and it still
> gives me the same error. Do let me know if you need any other info.
>
> My command line that calls the search function is as follows:
>
> myapproach = {'CSP' 'SignalProcessing',{'EpochExtraction',[search(0:0.
> 5:1.0),search(2.0:0.5:3.0)],'FIRFilter',[6 8 29 30]}};
>
>
> The error I receive is below:
>
>
>
> Attempt to reference field of non-structure array.
>
> Error in ParadigmBaseSimplified>@(x)length(x.streams)>1 (line 168)
>                 if any(cellfun(@(x)length(x.streams) > 1,collection))
>
> Error in ParadigmBaseSimplified/calibrate (line 168)
>                 if any(cellfun(@(x)length(x.streams) > 1,collection))
>
> Error in bci_train/@(varargin)instance.calibrate(varargin{:})
>
>
>
> Error in
> bci_train>@(trainset,varargin)utl_complete_model(calibrate_
> func('collection',{trainset},varargin{:}),predict_func)
> (line 704)
>         'trainer', @(trainset,varargin)
>         utl_complete_model(calibrate_func('collection',{trainset},varargin{:}),predict_func),
> ...
>
> Error in utl_evaluate_fold (line 29)
>     model = opts.trainer(trainset,opts.args{:});
>
> Error in par_beginschedule (line 157)
>             sched(t) = {{t,tasks{t}{1}(tasks{t}{2:end})}}; end
>
> Error in par_schedule (line 60)
> id = par_beginschedule(tasks,opts);
>
> Error in utl_crossval (line 200)
>     results = par_schedule(tasks, 'engine',opts.engine_cv,
> 'pool',opts.pool, 'policy',opts.policy);
>
> Error in utl_searchmodel>@(varargin)utl_crossval(data,nestedcv_ctrl,'args',varargin)
> (line 147)
>     objective_function = @(varargin) utl_crossval(data,nestedcv_
> ctrl,'args',varargin);
>
> Error in hlp_wrapresults (line 51)
>         [a{1:len}] = f(varargin{:});
>
> Error in par_beginschedule (line 157)
>             sched(t) = {{t,tasks{t}{1}(tasks{t}{2:end})}}; end
>
> Error in par_schedule (line 60)
> id = par_beginschedule(tasks,opts);
>
> Error in utl_gridsearch (line 146)
> outputs = par_schedule(tasks, 'engine',opts.engine_gs,'pool'
> ,opts.pool,'policy',opts.policy);
>
> Error in utl_searchmodel (line 156)
>     [stats.bestidx,stats.inputs,stats.outputs] =
> utl_gridsearch(gridsearch_ctrl, opts.args{:});
>
> Error in utl_nested_crossval>@(P,varargin)utl_searchmodel(P,opts,'scheme',opts.opt_scheme)
> (line 98)
>     opts.trainer = @(P,varargin) utl_searchmodel(P,opts,'
> scheme',opts.opt_scheme);
>
> Error in utl_evaluate_fold (line 29)
>     model = opts.trainer(trainset,opts.args{:});
>
> Error in par_beginschedule (line 157)
>             sched(t) = {{t,tasks{t}{1}(tasks{t}{2:end})}}; end
>
> Error in par_schedule (line 60)
> id = par_beginschedule(tasks,opts);
>
> Error in utl_crossval (line 200)
>     results = par_schedule(tasks, 'engine',opts.engine_cv,
> 'pool',opts.pool, 'policy',opts.policy);
>
> Error in utl_nested_crossval (line 102)
> [measure,stats] = utl_crossval(data, opts, 'scheme',opts.eval_scheme);
>
> Error in bci_train>run_computation (line 759)
>     [measure,stats] = utl_nested_crossval(opts.data, crossval_args{:});
>
> Error in hlp_scope>make_func/@(f,a,frame__f1)feval(f,a{:})
>
>
>
> Error in hlp_scope (line 51)
> [varargout{1:nargout}] = func(f,varargin);
>
> Error in bci_train (line 730)
> [measure,model,stats] =
> hlp_scope({'fingerprint_check',0,'fingerprint_create',0},@
> run_computation,opts,crossval_args);
>
>
>
> Alex
>
>
> ---------- Forwarded message ----------
> From: Nick Wan <nickwan at aggiemail.usu.edu>
> To: EEGLAB List <eeglablist at sccn.ucsd.edu>
> Cc:
> Date: Fri, 12 Aug 2016 20:48:36 -0600
> Subject: Re: [Eeglablist] headplot.m and 2014b -- can't seem to plot a head
> Hi all, I figured it out. Wasn't converting my angles file right!
>
> On Fri, Aug 12, 2016 at 3:23 AM, Nick Wan <nickwan at aggiemail.usu.edu>
> wrote:
>
>> Hi all,
>>
>> I tried to run
>> >>headplot example
>> It ran, but the plot came up blank. I can rotate the plot, but it's just
>> an empty plot, no head model or anything. I'm running 13.4.3b on r2014b.
>> EEGLAB is at the top of my path list, followed by MATLAB toolboxes.
>>
>> I tried loading in the sample dataset but that also didn't render the 3D
>> plot.
>>
>> Any help would be much appreciated!
>>
>> --
>> Nick Wan
>> Graduate Student
>>
>> Utah State University Psychology Department
>> 2810 Old Main Hill
>> Logan, UT 84322
>>
>> Office: HSRC 004
>> Phone: 435-554-8788
>> Blog: truebra.in
>>
>
>
>
> --
> Nick Wan
> Graduate Student
>
> Utah State University Psychology Department
> 2810 Old Main Hill
> Logan, UT 84322
>
> Office: HSRC 004
> Phone: 435-554-8788
> Blog: truebra.in
>
>
> ---------- Forwarded message ----------
> From: Stephen Politzer-Ahles <politzerahless at gmail.com>
> To: "Haggarty, Connor" <C.J.Haggarty at 2014.ljmu.ac.uk>
> Cc: "eeglablist at sccn.ucsd.edu" <eeglablist at sccn.ucsd.edu>
> Date: Sat, 13 Aug 2016 06:08:07 +0800
> Subject: Re: [Eeglablist] Trigger manipulation
> EEGLAB doesn't have built-in function for this, but ERPLAB's binlister can
> do it. Alternatively, you can just write a MATLAB loop that does it; there
> should be an example or two in some of my previous messages on this list.
>
> Best,
> Steve
>
>
> ---
> Stephen Politzer-Ahles
> University of Oxford
> Language and Brain Lab
> Faculty of Linguistics, Phonetics & Philology
> http://users.ox.ac.uk/~cpgl0080/
> <http://www.nyu.edu/projects/politzer-ahles/>
>
> On Sat, Aug 13, 2016 at 6:07 AM, Stephen Politzer-Ahles <
> stephen.politzer-ahles at ling-phil.ox.ac.uk> wrote:
>
>> EEGLAB doesn't have built-in function for this, but ERPLAB's binlister
>> can do it. Alternatively, you can just write a MATLAB loop that does it;
>> there should be an example or two in some of my previous messages on this
>> list.
>>
>> Best,
>> Steve
>>
>>
>>
>> ---
>> Stephen Politzer-Ahles
>> University of Oxford
>> Language and Brain Lab
>> Faculty of Linguistics, Phonetics & Philology
>> http://users.ox.ac.uk/~cpgl0080/
>>
>> On Fri, Aug 12, 2016 at 9:07 PM, Haggarty, Connor <
>> C.J.Haggarty at 2014.ljmu.ac.uk> wrote:
>>
>>> Hi,
>>>
>>>
>>>
>>> I have a question about changing trigger codes for epochs.
>>>
>>> I am completing a study with somatosensory stimuli.
>>>
>>> One trigger is sent by E-Prime which codes the speed of stroking touch
>>> (delivered by the experimenter), sometime after this a trigger is sent from
>>> a laser showing the exact point at which the experimenter first touches the
>>> participant.
>>>
>>> The laser is the precise onset of touch however, this code is the same
>>> each time. In order to epoch and bin these data properly I need a way to
>>> code the laser trigger so that it is an addition (or some calculation) of
>>> the previous (stimulus type) trigger and the precise stimulus laser onset
>>> trigger.
>>>
>>> Is there some function in EEGLab or some coding that will allow me to do
>>> this?
>>>
>>>
>>>
>>> Thank you
>>>
>>>
>>>
>>> Connor
>>>
>>> ________________________________
>>> Important Notice: the information in this email and any attachments is
>>> for the sole use of the intended recipient(s). If you are not an intended
>>> recipient, or a person responsible for delivering it to an intended
>>> recipient, you should delete it from your system immediately without
>>> disclosing its contents elsewhere and advise the sender by returning the
>>> email or by telephoning a number contained in the body of the email. No
>>> responsibility is accepted for loss or damage arising from viruses or
>>> changes made to this message after it was sent. The views contained in this
>>> email are those of the author and not necessarily those of Liverpool John
>>> Moores University.
>>> _______________________________________________
>>> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
>>> To unsubscribe, send an empty email to eeglablist-unsubscribe at sccn.uc
>>> sd.edu
>>> For digest mode, send an email with the subject "set digest mime" to
>>> eeglablist-request at sccn.ucsd.edu
>>>
>>
>>
>
>
> ---------- Forwarded message ----------
> From: Tarik S Bel-Bahar <tarikbelbahar at gmail.com>
> To: "Haggarty, Connor" <C.J.Haggarty at 2014.ljmu.ac.uk>
> Cc: "eeglablist at sccn.ucsd.edu" <eeglablist at sccn.ucsd.edu>
> Date: Sat, 13 Aug 2016 21:35:54 -0400
> Subject: Re: [Eeglablist] Trigger manipulation
> Hello Connor,some notes below, best wishes.
>
>
> ************************************************************
> *****************
> If you haven't had a chance to, google eeglablist for the past
> mentions and suggestions regarding changing events. "eeglablist + edit
> events". There should  be some code examples there too. Here are some
> recent ones. Check out the function eeg_addnewevents too.
> https://sccn.ucsd.edu/pipermail/eeglablist/2015/009246.html
> https://sccn.ucsd.edu/pipermail/eeglablist/2015/009265.html
>
> There's a range of ways to edit the events, including through the GUI,
> by importing events, and via scripts that modify the EEG.event
> structure. These should all be documented on the wiki and eeglablist.
>
> You can go to Edit > EEG events, modify or add an event, and after
> closing the gui window for event editing, type eegh to see the Event
> Editing command script that was run, which you can copy, modify.
> You'll also want to check help documentation for the function that
> gets run. For example one can create a loop in a small script that go
> through each of the events, has a counter for each kind of event
> you're looking for, and then modifies the label. You could do it event
> by event in loop, or you could have variables to hold the times and
> labels, and then use the eeg_addnewevents function to update the whole
> event structure.
>
> Google the following eeglab wiki pages.
> Chapter_03:_Event_Processing
> A02: Importing Event Epoch Info - SCCN
>
> See also the IV.4.3.EEG.event portion of the eeglab tutorial mirror here:
> cognitrn.psych.indiana.edu/busey/temp/eeglabtutorial4.
> 301/scripttut/script_tutorial.html#EEG.event:
>
>
>
>
>
>
>
>
>
>
> On Fri, Aug 12, 2016 at 9:07 AM, Haggarty, Connor
> <C.J.Haggarty at 2014.ljmu.ac.uk> wrote:
> > Hi,
> >
> >
> >
> > I have a question about changing trigger codes for epochs.
> >
> > I am completing a study with somatosensory stimuli.
> >
> > One trigger is sent by E-Prime which codes the speed of stroking touch
> (delivered by the experimenter), sometime after this a trigger is sent from
> a laser showing the exact point at which the experimenter first touches the
> participant.
> >
> > The laser is the precise onset of touch however, this code is the same
> each time. In order to epoch and bin these data properly I need a way to
> code the laser trigger so that it is an addition (or some calculation) of
> the previous (stimulus type) trigger and the precise stimulus laser onset
> trigger.
> >
> > Is there some function in EEGLab or some coding that will allow me to do
> this?
> >
> >
> >
> > Thank you
> >
> >
> >
> > Connor
> >
> > ________________________________
> > Important Notice: the information in this email and any attachments is
> for the sole use of the intended recipient(s). If you are not an intended
> recipient, or a person responsible for delivering it to an intended
> recipient, you should delete it from your system immediately without
> disclosing its contents elsewhere and advise the sender by returning the
> email or by telephoning a number contained in the body of the email. No
> responsibility is accepted for loss or damage arising from viruses or
> changes made to this message after it was sent. The views contained in this
> email are those of the author and not necessarily those of Liverpool John
> Moores University.
> > _______________________________________________
> > Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> > To unsubscribe, send an empty email to eeglablist-unsubscribe at sccn.
> ucsd.edu
> > For digest mode, send an email with the subject "set digest mime" to
> eeglablist-request at sccn.ucsd.edu
>
>
>
> ---------- Forwarded message ----------
> From: Tarik S Bel-Bahar <tarikbelbahar at gmail.com>
> To: Nick Wan <nickwan at aggiemail.usu.edu>
> Cc: EEGLAB List <eeglablist at sccn.ucsd.edu>
> Date: Sat, 13 Aug 2016 22:03:56 -0400
> Subject: Re: [Eeglablist] headplot.m and 2014b -- can't seem to plot a head
> Hello Nick, there may be a problem with that example, feel free to report
> it on eeglab bugzilla. The steps below take 5 minutes and give you a
> headplot with sample data you can find in your full eeglab folder. As
> usual, googling eeglablist and reviewing the eeglab tutorial for your
> topics can be helpful.
>
>
>
> ************************************************************
> ***************
> The headplot requires co-registration of the correct channels with the
> head, for the currently loaded file. The loaded data also needs to be
> epoched data, I believe.
>
> If you haven't had chance to yet, review the following pages and similar
> pages: https://sccn.ucsd.edu/wiki/Chapter_06:_Data_Averaging
> This shows you how to make plots with tutorial data, an important step.
>
> To get 3d headplots now quickly and easily, do the following steps:
>
> Go to the "sample data" folder in your eeglab folder.
> Load the file "eeglab_data_epochs_ica.set"
> In case you haven't tried the full tutorial yet, this file is used in the
> online eeglab tutorial pages.
>
> Then try either of the following from the GUI
> Plot > Erp Map Series > 3D
> Then go to Plot > Components > 3D
>
> You need to specify a specific time or a specific component in the
> respective gui window. But leave everything else with defaults.
> In both cases (ERPS or Components) you should see a Tailarach
> transformation matrix already in the GUI window that pops up. You can click
> Manual registration if you want to show yourself that the electrode
> locations are properly co-registered with the head (they are).
> This is the transformation matrix that should be in there:
> -0.355789     -6.33688      12.3705    0.0533239    0.0187461     -1.55264
>      1.06367     0.987721     0.932694
>
> Then click OK, and a "example" figure should pop up! Yes ?
>
> *Remember to check google eeglablist and check the online tutorial for
> your topics of interest.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> ---------- Forwarded message ----------
> From: Tarik S Bel-Bahar <tarikbelbahar at gmail.com>
> To: <colivero at sri.utoronto.ca>
> Cc: eeglablist <eeglablist at sccn.ucsd.edu>
> Date: Sat, 13 Aug 2016 22:07:00 -0400
> Subject: Re: [Eeglablist] Artifact rejection on continuous data
> Hello,
> If you're using ERPLAB primarily, you'll want to check with the ERPLAB
> user list.
> See link below for info on basic artifact rejection in eeglab
> https://sccn.ucsd.edu/wiki/Chapter_01:_Rejecting_Artifacts
> There are also multiple options for data rejection available inside
> eeglab, both traditional and ICA based.
> Cheers!
>
>
>
> On Thu, Aug 11, 2016 at 3:14 PM,  <colivero at sri.utoronto.ca> wrote:
> > Hello,
> >
> > I am doing artifact rejection on continuous data using ERPLAB. When I run
> > it, it shows me the scroll plot for me to go over and double check with
> > the marked areas that exceeded the threshold I choose. Is there a way to
> > deselect/unreject some of these marked for rejection areas? I know that
> if
> > you click on the area it deselects but when I press reject it still
> > rejects the areas I deselected. Sometimes it marks areas around my event
> > markers but I do not want these deleted.
> >
> > Any help is greatly appreciated.
> >
> > Thank you
> >
> > _______________________________________________
> > Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> > To unsubscribe, send an empty email to eeglablist-unsubscribe at sccn.
> ucsd.edu
> > For digest mode, send an email with the subject "set digest mime" to
> eeglablist-request at sccn.ucsd.edu
>
>
>
> ---------- Forwarded message ----------
> From: Winslow Strong <winslow.strong at gmail.com>
> To: <eeglablist at sccn.ucsd.edu>
> Cc:
> Date: Sat, 13 Aug 2016 16:57:26 -0700
> Subject: [Eeglablist] SIFT resampling surrogate distributions with 1 trial
> I'd like to use a resampling technique (e.g. bootstrap) to get p-values
> and test stats for SIFT connectivity metrics for 1 subject across n
> conditions.
>
> This is a steady-state condition study, hence there's only 1 trial per
> condition.  I'm trying to analyze whether certain connectivity metrics
> (i.e. their averages over a condition) are statistically significantly
> different across the conditions.  I was under the impression I could use
> SIFT's surrogate distribution generator to obtain the surrogate
> distribution for these calculations, but when I run that from the GUI for
> bootstrap, I get the error:
>
> "Unable to compute bootstrap distributions for a single trial"
>
> Is this surrogate function only designed to do boostrapping over trials?
> Or is there a way to do it over windows within a condition?
>
> _______________________________________________
> eeglablist mailing list eeglablist at sccn.ucsd.edu
> Eeglablist page: http://www.sccn.ucsd.edu/eeglab/eeglabmail.html
> To unsubscribe, send an empty email to eeglablist-unsub at sccn.ucsd.edu
> To switch to non-digest mode, send an empty email to
> eeglablist-nodigest at sccn.ucsd.edu
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20160816/c03106d0/attachment.html>


More information about the eeglablist mailing list