<div dir="ltr">Hello all,<div><br></div><div>I am having difficulty with a script I obtained for processing startle data in EEGlab:<br clear="all"><div><br></div><div><div>%% High pass filter</div><div>        [HP28_1,HP28_2] = butter(2,28/(EEG.srate/2),'high');    % generate filter coefficient for 4th order 28Hz High pass Butterworth filter</div><div>        EEG.data = filtfilt(HP28_1,HP28_2,EEG.data);  %apply that filter to ORB channel; filter order is divided by 2 because we use the filtfilt function to avoid phase shifts in the data</div><div><br></div><div>%% Rectify </div><div>        EEG.data = abs(EEG.data); %the 'abs' function rectifies the data</div><div>        </div><div>%% Low pass filter </div><div>        [LP30_1,LP30_2] = butter(2,30/(EEG.srate/2),'low');    % generate filter coefficient for 4th order 30Hz Low pass Butterworth filter</div><div>        EEG.data = filtfilt(LP30_1,LP30_2,EEG.data);  %%apply that filter to ORB channel; filter order is divided by 2 because we use the filtfilt function to avoid phase shifts in the data</div><div><br></div><div>%% Epoch and baseline correct</div><div>        EventCodes = num2cell(unique([EEG.event.type])); %Extract event codes for epoching            </div><div>        EEG = pop_epoch( EEG, EventCodes, [-0.05 0.25], 'epochinfo', 'yes');  %Epoch file for events that indicate startle probes</div><div>        EEG = pop_rmbase( EEG, [-50   0]); %Baseline correct</div><div><br></div><div>%% Mark and reject trials with excessive artificat </div><div>        Artifact = squeeze(max(EEG.data(1,1:find(EEG.times==0),:)) - min( EEG.data(1,1:find(EEG.times==0),:)) > 40); %Identify trials with greater than 40 microvolt deflections in baseline</div><div>        EEGNA = pop_select(EEG,'notrial', find(Artifact)); %Reject these trials </div><div>        </div><div>%% Score startle peaks </div><div>        STLResponse = squeeze(max(EEG.data(1,find(EEG.times==20):find(EEG.times==100),:))); %Identify peak response of startle trials in scoring window</div><div>        STLResponse = [[EEG.event.type]' STLResponse]; %Store peak values by event type </div></div><div><br></div><div>I get the following output:</div><div><br></div><div>pop_epoch():64 epochs selected</div><div>Epoching...</div><div>pop_epoch():64 epochs generated</div><div>pop_epoch(): checking epochs for data discontinuity</div><div>pop_rmbase(): Removing baseline...</div><div>Warning: Concatenation involves an empty array with an incorrect number of rows.</div><div>This may not be allowed in a future release.</div><div><br></div><div>I am not sure what is the issue here, but after "STLResponse = squeeze(max(EEG.data(1,find(EEG.times==20):find(EEG.times==100),:))); %Identify peak response of startle trials in scoring window" I end up with an empty 0 by 64 matrix. </div><div><br></div><div>I am just a little new to this and can't seem to figure out what is going on here.</div><div><br></div><div>Thank you!</div><div>Tara</div><div><br></div>
</div></div>