[FieldTrip] Where to add a trialfun?

Ana Laura Diez Martini diezmartini at gmail.com
Tue Sep 30 00:11:40 CEST 2014


Dear Arjen and Nietzsche,

I tried debugging with dbstop if error and cfg.debug = 'saveonerror' and
matlab points to:

% discard the repeated values
idx = any(diff(trl(:,1),1,1),2);
trl = trl(idx,:);

It does seem it is not reading the events. When I read them with the raw
data, they seem to be there, with the DIN prefix. Any idea?

On Mon, Sep 29, 2014 at 8:57 AM, Arjen Stolk <a.stolk8 at gmail.com> wrote:

> 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
>>
>
>
> _______________________________________________
> 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/5e397d35/attachment-0002.html>


More information about the fieldtrip mailing list