[FieldTrip] Help with definetrial for EGI .mff file

Schoffelen, J.M. (Jan Mathijs) janmathijs.schoffelen at donders.ru.nl
Wed Apr 19 19:40:20 CEST 2023


Hi Mathew,

I am a bit surprised that you think that you need to adjust the ft_trialfun_general. The idea is that this function is quite generic, and given the scenario that you sketch, you probably don’t need to change any fieldtrip function. The partial error that you report is difficult to evaluate, since it’s only partial. Right now it’s just random guessing as to what might be going on. The error looks as if MATLAB tries to access a structure’s field called headerfile, but for some reason in does not exist in the struct that it is evaluating.

for instance, if you define on the matlab command line the following struct:

x.a = 1;

and then query x.b, you get the error you report.

What is the full error stack, i.e. which line in which matlab function is throwing the error?  And what is the code that you try to execute (i.e. the specification of the cfg, and the fieldtrip function you are calling).

Good luck,
Jan-Mathijs


On 19 Apr 2023, at 16:27, Varghese Mathew 1881002 via fieldtrip <fieldtrip at science.ru.nl<mailto:fieldtrip at science.ru.nl>> wrote:

Hi
I am doing analysis on Netstation EGI .mff file using Fieldtrip, I have tried using .mff file directly and after converting to EDF. However, I am getting error in defining trials. Mostly I get an error message  Unrecognized field name "headerfile"  .
I would like to know how to go about this in EDF or .mff format.
It will also be helpful if someone can help with how to modify ft_trialfun_general for .mff file as well.
I am pasting the code I used, below.
cfg=[]
cfg.dataset = 'E:\FT\OP17.mff';
cfg.dataformat = 'egi_mff_v3'
cfg.headerformat = 'egi_mff_v3'
cfg.trialdef.eventtype = 'stim';
cfg.trialdef.prestim = 1;
cfg.trialdef.poststim =1;
cfg.trialdef.eventvalue = {'01''02''03''04'};
cfg.trialfun = 'ft_trialfun_general_stimmod';
cfg = ft_definetrial(cfg)


For modifying trialfun_general

function [trl, event] = ft_trialfun_general_stimmod(cfg)
event = ft_read_event(cfg.dataset, 'headerformat', 'egi_mff_v3');
% Find trigger values
trigger = [event(strcmp('stim', {event.type})).value]';
% Note: Replace 'STI101' with the label of the trigger channel that
% contains the trigger values for your data
% Define trial segments
trl = [];
for j = 1:length(trigger)
if any(trigger(j) == [01 02 03 04])
trlbegin = event(j).sample;
trlend = trlbegin + 1000; % define trial length as 1 second
offset = 0; % no offset
newtrl = [trlbegin trlend offset trigger(j)];
trl = [trl; newtrl];
end
end
Please help with the issue, as I am trying to pick up analysis using Fieldtrip and I do not have a coding background.
Looking forward for a response,

Sincerely
--
Varghese Mathew

_______________________________________________
fieldtrip mailing list
https://mailman.science.ru.nl/mailman/listinfo/fieldtrip
https://urldefense.com/v3/__https://doi.org/10.1371/journal.pcbi.1002202__;!!HJOPV4FYYWzcc1jazlU!8eNI3v7br-aNv3JFKJb7V4Q_aWWLR3pG3xSWq653eKc8M3szkc7gmh51AkzytjbLsNllQtMkOdF4QKsVIokOhTwtxZRljnjlhEkwJA$

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20230419/b568536c/attachment.htm>


More information about the fieldtrip mailing list