<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hi Merlin,
<div class=""><br class="">
</div>
<div class="">I don’t care too much about code that has been provided by third parties :), so I will only comment on the screen output of your data structure:</div>
<div class=""><br class="">
</div>
<div class="">
<div>
<blockquote type="cite" class="">
<div class="">
<div dir="ltr" class=""><br class="">
label: {7×1 cell}<br class="">
hdr: [1×1 struct]<br class="">
fsample: 500<br class="">
trial: [240×7 single]<br class="">
time: [1 1 1 1 1 1 1]<br class="">
dimord: 'chan_freq'<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>This is inconsistent and indeed prone to give troubles.</div>
<div><br class="">
</div>
<div>The label field suggests that there are 7 channels in your data, which is in line with the second dimension (i.e. the numbor of columns) in the trial field. Assuming that the 240 rows correspond to the number of observations in your data, the appropriate
dimord of the data structure should read ‘rpt_chan_<somethingelse>’. Given your context you seem to be working with spectral estimates (but without a time dimension per trial), so I don’t understand why in the reported data structure, there’s a ’time’ mentioned.
Moreover, if the data matrix indeed is <number-of-observations> x <number-of-channels> the implicit third dimension (either ‘freq’, or ’time’, in your case ‘freq') seems to be singleton.</div>
<div><br class="">
</div>
<div>This would translate to a <data>.time, or <data>.freq field consisting of just a single element, with the appropriate value for the frequency.</div>
<div><br class="">
</div>
<div>As a side note, since you are dealing with frequency domain data, there’s no need to call ft_timelockanalysis, nor to call ft_preprocessing or ft_datatype_timelock</div>
<div><br class="">
</div>
<div>I suggest that you search the documentation on the website for information about the definition of a ‘freq’ structure (ft_datatype_freq) which is what you seem to be importing directly.</div>
<div><br class="">
</div>
<div>Good luck</div>
<div><br class="">
</div>
<div>Jan-Mathijs</div>
<div><br class="">
</div>
<div><br class="">
</div>
<div><br class="">
</div>
<div><br class="">
</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div dir="ltr" class=""><br class="">
<br class="">
Error using fixsampleinfo<br class="">
unexpected dimord<br class="">
<br class="">
Error in ft_datatype_timelock (line 152)<br class="">
timelock = fixsampleinfo(timelock);<br class="">
<br class="">
Error in ft_checkdata (line 281)<br class="">
data = ft_datatype_timelock(data, 'hassampleinfo', hassampleinfo);<br class="">
<br class="">
Error in ft_preprocessing (line 274)<br class="">
data = ft_checkdata(data, 'datatype', {'raw+comp', 'raw'}, 'hassampleinfo', 'yes');<br class="">
<br class="">
Error in Mean_data_prep (line 33)<br class="">
Data=ft_preprocessing(cfg, Data);
<div class=""><br class="">
</div>
<div class="">My code is based on literature that provide their fieldtrip code: "EEG alpha–theta dynamics during mind wandering in the context of breath focus meditation: An experience sampling approach with novice meditation practitioners"</div>
<div class=""><br class="">
</div>
<div class="">My data are Matlab 3D arrays of size 36 x 120 x 7, which represent subjects x trial x channels where the data is the mean theta frequency of each 5-second trial and electrode. The code I'm using to convert data is present below:</div>
<div class="">
<div class="gmail-rtcContent" style="padding:30px">
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(14,0,255)" class="">function
</span>[DATA, layout]=Mean_data_prep(data, Participant_index, index, Name)</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">load(<span style="color:rgb(167,9,245)" class="">'electrode19.mat'</span>)</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">load(<span style="color:rgb(167,9,245)" class="">'chanlocs.mat'</span>)</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">DATA = cell(1, max(unique(Participant_index)));</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(0,128,19)" class="">%for each participant, load data in struct form and prepare for</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(0,128,19)" class="">%fieldtrip</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(14,0,255)" class="">for
</span>i=1:max(unique(Participant_index))</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(14,0,255)" class="">if
</span>i == 1 || i == 3 || i == 6 || i == 9 || i == 10 <span style="color:rgb(0,128,19)" class="">
%|| i == 4 || i == 7 || i == 5 || i == 8 || i == 21</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(14,0,255)" class="">continue</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(14,0,255)" class="">end</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">clear <span style="color:rgb(167,9,245)" class="">
Data</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data=struct();</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data.label=electrode19;</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data.hdr.nChans=numel(electrode19);</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data.hdr.label=electrode19';</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data.hdr.Fs=500;</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data.fsample=500;</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">data_sel = data(Participant_index(index) == i, :,:);</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(14,0,255)" class="">if
</span>size(data_sel, 1) ~= 1</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">data_sel = reshape(data_sel, [], size(data_sel, 3));</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(14,0,255)" class="">else</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">data_sel = squeeze(data_sel);</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(14,0,255)" class="">end</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
</div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data.trial = data_sel;</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data.time=ones(1,size(data_sel,2));</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data.hdr.nSamples=1;</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data.dimord = <span style="color:rgb(167,9,245)" class="">
'chan_freq'</span>;</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">cfg=[];</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data=ft_preprocessing(cfg, Data);</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data = ft_timelockanalysis(cfg, Data);</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(0,128,19)" class="">%Data = ft_datatype_timelock(Data);</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(0,128,19)" class="">% Data.trialinfo=labels;</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">cfg.layout = <span style="color:rgb(167,9,245)" class="">
'biosemi32.lay'</span>;</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">Data.layout = ft_prepare_layout(cfg);</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">layout = ft_prepare_layout(cfg);</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(0,128,19)" class="">%Data.layout=Data;</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">DATA{i} = Data;</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class="">DATA{i} = NaN;</span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(0,128,19)" class="">% else</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(0,128,19)" class="">% x = x - 1;</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(0,128,19)" class="">% end</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
</div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(14,0,255)" class="">end</span></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""></span></div>
<div class="gmail-lineNode" style="font-size:10pt;font-family:Menlo,Monaco,Consolas,"Courier New",monospace">
<span style="white-space:pre" class=""><span style="color:rgb(14,0,255)" class="">end</span></span></div>
</div>
</div>
<div class="">I have changed the dimord and other factors of this code, but I believe the issue is the Data.time variable as I have functioning code that is suitable for a 4D array with time in the last dimension. If anyone knows how to correct this error code,
it would be appreciated.</div>
<div class="">Best</div>
<div class="">Merlin</div>
</div>
_______________________________________________<br class="">
fieldtrip mailing list<br class="">
<a href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmailman.science.ru.nl%2Fmailman%2Flistinfo%2Ffieldtrip&data=05%7C01%7Cfieldtrip%40science.ru.nl%7C5e2be508ab3840b49dfc08dbcf1ca314%7C084578d9400d4a5aa7c7e76ca47af400%7C1%7C0%7C638331494113455677%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=nBcHltwn40E11MmPIsreKqhzWwjt8g2fYmApIEFvQXs%3D&reserved=0" originalsrc="https://mailman.science.ru.nl/mailman/listinfo/fieldtrip" shash="NUyae4elj79PaeG+WHHH3cOEyITfnQaq+2rYEAQxP3NTDRnwChoBlRzJqCmholZzv4OoFtpo1Vule82Qj+nLQPTumkmwDxuZyQS4g4eNa2mB4i1LXELPZ/IhBB39GrXz78KC80etzgKRQIdjSnKx2e7pSTLmS6gamam8yGgrhag=" class="">https://mailman.science.ru.nl/mailman/listinfo/fieldtrip</a><br class="">
https://doi.org/10.1371/journal.pcbi.1002202<br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>