[FieldTrip] Where to add a trialfun?
Arjen Stolk
a.stolk8 at gmail.com
Mon Sep 29 20:57:40 CEST 2014
Hey Ana Laura,
Seems from the error message you're getting
"Attempted to access trl(:,1); index out of bounds because size(trl)=[0,0]."
that none of the triggers were found in your event data. You might wanna
check why this is happening, by debugging 'trialfun_bit2dec' on your input.
Best,
Arjen
2014-09-29 19:00 GMT+02:00 Ana Laura Diez Martini <diezmartini at gmail.com>:
> Thank you again Nietzsche!!
>
> Yes, I was referring to trialfun_bit2dec. I followed your advice and I
> changed definetrial to ft_definetrial and I confirm the function was added
> to my paths. After doing this, the error I get is:
>
> Attempted to access trl(:,1); index out of bounds because size(trl)=[0,0].
>
> Error in trialfun_bit2dec (line 66)
> idx = any(diff(trl(:,1),1,1),2);
>
> Error in ft_definetrial (line 169)
> trl = feval(cfg.trialfun, cfg);
>
> Error in process_ERP_1_fieldtrip (line 95)
> cfg = ft_definetrial(cfg);
>
> This is again the trial definition part in which I think I added what I
> think are useless lines but I was just trying to make it run it.
>
> % TRIAL DEFINITION
> cfg=[];
> cfg.filename = ['myfolders/subject.RAW'];
> cfg.headerfile = ['myfolders/subject.RAW'];
> cfg.dataset = ['myfolders/subject.RAW'];
> cfg.trialfun = 'trialfun_bit2dec'; %% trialfun definition
> cfg.trialdef.eventtype = 'STATUS';
> cfg.trialdef.eventvalue = cgrmrk; % stimulus triggers
> cfg.trialdef.prestim = 0.2; % latency in seconds
> cfg.trialdef.poststim = 1; % latency in seconds
> cfg = ft_definetrial(cfg);
>
> trl = cfg.trl;
> cfg=[];
> cfg.dataset = ['myfolders/subject.RAW'];
> cfg.trl = trl;
> cfg.reref = 'yes';
> cfg.refchannel = ['all'];
>
> Unfortunately using this function is crucial to my analysis because I
> would like to use only Fieldtrip to analyse all my data. Thank you for
> taking all this time.
>
> On Sun, Sep 28, 2014 at 10:53 PM, Lam, Nietzsche <n.lam at fcdonders.ru.nl>
> wrote:
>
>> Hi again Ana Laura,
>>
>> One other thing that I thought of was to make sure that the function
>> "trialfun_bit2dec" is added to your paths in matlab, so that ft_definetrial
>> can find this function.
>>
>> By updating your fieldtrip to the most recent version "trialfun_bit2dec"
>> is *not* included. So you'll need to store that as a separate .m file in a
>> location that can be accessed by the paths set in matlab.
>>
>> Nietzsche
>>
>> ----- Original Message -----
>> > From: "Ana Laura Diez Martini" <diezmartini at gmail.com>
>> > To: "FieldTrip discussion list" <fieldtrip at science.ru.nl>
>> > Sent: Saturday, 27 September, 2014 7:18:25 PM
>> > Subject: Re: [FieldTrip] Where to add a trialfun?
>> > Thank you Nietzsche!
>> >
>> >
>> > I added it where you suggested and now this is the error I get:
>> >
>> >
>> >
>> > Error using feval
>> > Invalid function name 'trialfun_bit2dec(cfg)'.
>> >
>> >
>> > Error in definetrial (line 105)
>> > trl = feval(cfg.trialfun, cfg);
>> >
>> >
>> > Error in process_ERP_1_fieldtrip (line 97)
>> > cfg = definetrial(cfg);
>> >
>> >
>> > Something I was worried about is that I use an old version of
>> > Fieldtrip for my scripts because I wrote them long ago and this
>> > trialfun uses the new format (with 'ft_s',etc.). Could this affect it
>> > in any way?
>> >
>> >
>> > Thanks again!
>> >
>> >
>> > On Fri, Sep 26, 2014 at 11:05 PM, Lam, Nietzsche <
>> > n.lam at fcdonders.ru.nl > wrote:
>> >
>> >
>> > Hi Ana Laura,
>> >
>> > In general, you need to determine which trial function (Trialfun) to
>> > use when using definetrial (see this tutorial:
>> > http://fieldtrip.fcdonders.nl/tutorial/preprocessing under "do the
>> > trial definition for the fully incongruent (FIC) condition).
>> >
>> > Please try adding this: "cfg.trialfun = 'trialfun_bit2dec(cfg)". to
>> > your code before calling definetrial (see below).
>> >
>> > % TRIAL DEFINITION
>> > cfg=[];
>> > cfg.filename = ['my/folders/', subject, '.RAW'];
>> > cfg.headerfile = ['my/folders/', subject, '.RAW'];
>> >
>> > cfg.trialdef.eventtype = 'STATUS';
>> > cfg.trialdef.eventvalue = cgrmrk;
>> > cfg.trialdef.prestim = 0.2;
>> > cfg.trialdef.poststim = 1;
>> > cfg.trialdef.eventtype=?;
>> > cfg.trialfun = 'trialfun_bit2dec(cfg) %% trialfun definition
>> > cfg = definetrial(cfg);
>> >
>> >
>> > As an addition note: based on your error message, it seemed that the
>> > problem was in the function trialfun_bit2dec. However, from the code
>> > you showed us, you haven't referenced/called this function. I was
>> > wondering if the code you provide corresponded to the code that
>> > created your error message? I'm guessing you ran [trl]
>> > =trialfun_bit2dec(cfg) directly (i.e. not via definetrial). In which
>> > case, it was looking for cfg.trialdef.eventtype. You can call
>> > trialfun_bit2dec as long as you have all the relevant information in
>> > the cfg (which is in the code you showed us). Hope this helps.
>> >
>> > Best,
>> > Nietzsche
>> >
>> >
>> >
>> >
>> >
>> >
>> > ----- Original Message -----
>> > > From: "Ana Laura Diez Martini" < diezmartini at gmail.com >
>> > > To: "FieldTrip discussion list" < fieldtrip at science.ru.nl >
>> > > Sent: Saturday, 27 September, 2014 2:42:21 AM
>> > > Subject: [FieldTrip] Where to add a trialfun?
>> > > Hello all! I'm having a simple problem. I want to add this trialfun:
>> > >
>> > >
>> http://fieldtrip.fcdonders.nl/faq/how_can_i_transform_trigger_values_from_bits_to_decimal_representation_with_a_trialfun
>> > >
>> > >
>> > >
>> > > I get this error:
>> > >
>> > >
>> > >
>> > > Reference to non-existent field 'trialdef'.
>> > >
>> > >
>> > > Error in trialfun_bit2dec (line 52)
>> > > if strcmp(event(i).type, cfg.trialdef.eventtype)
>> > >
>> > >
>> > > I'm quite sure it's because I'm not writing it in the correct part
>> > > of
>> > > my script. This is my trial definition part. Where should I add it
>> > > and
>> > > how should I write the line?
>> > >
>> > >
>> > >
>> > > % TRIAL DEFINITION
>> > > cfg=[];
>> > > cfg.filename = ['my/folders/', subject, '.RAW'];
>> > > cfg.headerfile = ['my/folders/', subject, '.RAW'];
>> > >
>> > >
>> > > cfg.trialdef.eventtype = 'STATUS';
>> > > cfg.trialdef.eventvalue = cgrmrk;
>> > > cfg.trialdef.prestim = 0.2;
>> > > cfg.trialdef.poststim = 1;
>> > > cfg.trialdef.eventtype=?;
>> > >
>> > >
>> > > cfg = definetrial(cfg);
>> > >
>> > >
>> > > trl = cfg.trl;
>> > > cfg=[];
>> > > cfg.dataset = ['my/folders/', subject, '.RAW'];
>> > > cfg.trl = trl;
>> > > cfg.reref = 'yes';
>> > > cfg.refchannel = ['all'];
>> > >
>> > >
>> > > THANKS!
>> > > _______________________________________________
>> > > fieldtrip mailing list
>> > > fieldtrip at donders.ru.nl
>> > > http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
>> >
>> > --
>> > Nietzsche H.L. Lam, MSc
>> > PhD Candidate
>> >
>> > Max Planck Institute for Psycholinguistics
>> > Wundtlaan 1, 6525 XD Nijmegen, The Netherlands
>> >
>> > Donders Institute for Brain, Cognition and Behaviour,
>> > Centre for Cognitive Neuroimaging,
>> > Kapittelweg 29, 6525EN Nijmegen, The Netherlands
>> >
>> > n.lam at fcdonders.ru.nl
>> > +31-24-3668219
>> >
>> >
>> > neurobiologyoflanguage.com
>> > _______________________________________________
>> > fieldtrip mailing list
>> > fieldtrip at donders.ru.nl
>> > http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
>> >
>> >
>> > _______________________________________________
>> > fieldtrip mailing list
>> > fieldtrip at donders.ru.nl
>> > http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
>>
>> --
>> Nietzsche H.L. Lam, MSc
>> PhD Candidate
>>
>> Max Planck Institute for Psycholinguistics
>> Wundtlaan 1, 6525 XD Nijmegen, The Netherlands
>>
>> Donders Institute for Brain, Cognition and Behaviour,
>> Centre for Cognitive Neuroimaging,
>> Kapittelweg 29, 6525EN Nijmegen, The Netherlands
>>
>> n.lam at fcdonders.ru.nl
>> +31-24-3668219
>>
>>
>> neurobiologyoflanguage.com
>> _______________________________________________
>> fieldtrip mailing list
>> fieldtrip at donders.ru.nl
>> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
>>
>
>
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20140929/b08a6c54/attachment-0002.html>
More information about the fieldtrip
mailing list