<div dir="ltr"><div>Hi, I am having some trouble getting the ft_preprocessing function to work. <div><br></div><div><span style="font-size:12.8px">The ft_definetrial function works and gives the trl matrix in the cfg output. </span></div><div><br></div><div>As best as I can tell the read data function is returning a matrix that is smaller than the dimensions of the event sample indexes (by several orders of magnitude) from the read event function. I confirmed with EEG lab's loading function that the data matrix is thee same size. </div><div><br></div><div>What is odd is that this script was working several weeks ago...<br><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I get this error:</div><div style="font-size:12.8px"><div>Error using ft_read_data (line 221)</div><div>cannot read data after the end of the file</div><div><br></div><div>Error in ft_preprocessing (line 576)</div><div>      dat = ft_read_data(cfg.datafile, 'header', hdr, 'begsample', begsample, 'endsample', endsample, 'chanindx', rawindx,</div><div>      'checkboundary', strcmp(cfg.continuous, 'no'), 'dataformat', cfg.dataformat) </div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Posted below is my code leading up to the execution of the function. Any and all helps you can give me would be greatly appreciated </div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><div>%% Set up fieldtrip path</div><div>ft_dir = 'C:\Users\Public\Documents\<wbr>Euler_electrophys (Not backed up)\EEG_scripts\fieldtrip-<wbr>master';</div><div>addpath(ft_dir);</div><div>ft_defaults; % run this line ft needs it</div><div>clc</div><div><br></div><div>%% Load data</div><div><br></div><div>datainfo.origdir = input('Please copy and paste the filepath for the .CNT file ', 's');</div><div>%datainfo.savdir = input('Please copy and paste the filepath for save directory ', 's');</div><div>datainfo.SID = input('Enter the Subject Name, e.g., Hick99 use lowercase!!', 's');</div><div>datainfo.hp = input('Was the data highpass filtered at 0.1Hz? (y/n)', 's');</div><div>cd(datainfo.origdir); % cd into the S's directory</div><div>wrkdir = pwd;</div><div>%go get the scalp maps</div><div>% use the line below on MJE's computer upstairs</div><div>%chanlocdir = 'C:\Users\u0850304.ADCSBS\<wbr>Documents\MATLAB\euler_<wbr>electrophys\All_purpose_fxs';</div><div>% use the line below on the downstairs lab computer</div><div> chanlocdir = 'C:\Users\Public\Documents\<wbr>Euler_electrophys (Not backed up)\EEG_scripts\All_purpose_<wbr>fxs\Waveguard_scalp_<wbr>coordinates';</div><div>cd(chanlocdir);</div><div>load WG64_4topoplot.mat</div><div>cd(wrkdir);</div><div><br></div><div>%find the exact file we need</div><div>myfname = dir(strcat(datainfo.SID, '*', 'hick', '*','.cnt')); %Note that the file needs to end in ft.cnt/ft.trg</div><div>exactname = <a href="http://myfname.name/" target="_blank">myfname.name</a>;</div><div>datainfo.sourcepth = strcat(datainfo.origdir, '\',  exactname); %set file path for the data</div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><div>cfg.trialfun='trialfun_Hick_<wbr>tm2';</div><div>cfg.datainfo=datainfo;</div><div>cfg.padding=0;</div><div>cfg.padtype='data';</div><div>cfg.continuous='yes';</div><div>cfg.datafile=datainfo.<wbr>sourcepth;</div><div>cfg.headerfile=datainfo.<wbr>sourcepth;</div><div>cfg.dataset=datainfo.<wbr>sourcepth;</div><div>cfg.fsample=512;</div><div><br></div><div>cd(cfg.datainfo.origdir); </div><div>fileattrib;</div><div>savep=ans.Name;</div><div>newfolder = strcat(datainfo.SID, '_FT');</div><div>mkdir(newfolder); % Create new folder in Current Subject folder for FT output</div><div>cfg.datainfo.savepath = strcat(savep,'\', newfolder); %create save path to new folder</div><div><br></div><div>cfg.hdr   = ft_read_header(cfg.datafile); %things I think fieldtrip needs according to site </div><div>cfg.event = ft_read_event(cfg.datafile);</div><div>cfg.data = ft_read_data(cfg.datafile);</div><div>%% Define Trial Stuff</div><div>% How much time, in seconds, is retained on either side of trigger codes</div><div><br></div><div>%cfg.trialdef.eventtype= 'backpanel trigger';</div><div>%cfg.trialdef.eventvalue= '55 ';</div><div>cfg.trialdef.pre= 1; % in seconds</div><div>cfg.trialdef.post= 1; % in seconds</div><div><br></div><div>%% read the header (needed for the samping rate) and the events</div><div>evtsamps   = [cfg.event.sample]';% for the events of interest, find the sample numbers (these are integers)</div><div>Evtypes    = {cfg.event.value}';% for the events of interest, find the trigger values (these are strings in the case of BrainVision)</div><div><br></div><div>evtsamps=evtsamps(2:end); %Trim off first event that crashes script</div><div>Evtypes =Evtypes (2:end);</div><div><br></div><div>evtypes=zeros(length(Evtypes),<wbr>1);</div><div>for kk=1:length(evtsamps); %Convert string to numbers</div><div>evtypes(kk) = str2double(Evtypes{kk}); % </div><div>end</div><div><br></div><div>pretrig  = -round(cfg.trialdef.pre  * cfg.hdr.Fs); % pre-stimulus boundary in samples </div><div>posttrig =  round(cfg.trialdef.post * cfg.hdr.Fs); % post-STIMULUS boundary in samples</div><div><br></div><div>%% Trial definition</div><div>[cfg]=ft_definetrial(cfg);</div><div>data=ft_preprocessing(cfg);</div></div><div style="font-size:12.8px"><br></div></div></div><div><br></div><div><br></div><br clear="all"><div><div class="gmail_signature"><div dir="ltr">Ty McKinney<div>Graduate Student-University of Utah</div><div><a href="mailto:ty.mckinney.412@gmail.com" target="_blank">ty.mckinney.412@gmail.com</a></div><div>385<span style="font-size:12.8px">.321.4061</span></div></div></div></div>
</div>