0001 function [data] = vb_trial_extractor_extract_trial(data)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 if ~exist('data', 'var')
0017 error('data is a required parameter.');
0018 end
0019
0020
0021
0022
0023
0024
0025 try
0026 H = data.H;
0027 if ~ishandle(data.H.figure)
0028 H = -1;
0029 end
0030 catch
0031 H = -1;
0032 end
0033
0034 h = -1;
0035 if isfield(data, 'batch_mode') && data.batch_mode
0036 vb_disp('Now extracting trials. Please wait');
0037 else
0038 h = msgbox('Now extracting trials...', 'Please wait');
0039 btn = findall(h, 'Style', 'pushbutton');
0040 set(btn, 'Visible', 'off');
0041 end
0042
0043 pause(0.1);
0044
0045
0046 trial_list = vb_continuous_file_extract_trial(data.continuous_file, ...
0047 data.trigger_list, data.trial_setting);
0048
0049 Ntrigger = length(data.trigger_list);
0050
0051 data.trial_list = [];
0052 data.label_list = cell(0);
0053 data.output_file = cell(0);
0054 if isstruct(H)
0055 set(H.tag_listbox, 'String', '', 'Value', 1);
0056 set(H.trial_set_listbox, 'String', '', 'Value', 1);
0057 set(H.output_listbox, 'String', '', 'Value', 1);
0058 end
0059
0060 for k=1:Ntrigger
0061
0062 data.label_list{k} = vb_tag_new(['TRIGGER' num2str(k)]);
0063
0064 trial_set = trial_list{k};
0065
0066
0067 for j=1:length(trial_set)
0068
0069 data.trial_list = [data.trial_list; trial_set(j)];
0070
0071 data.label_list{k} = vb_tag_add_trial_index(data.label_list{k}, ...
0072 length(data.trial_list));
0073 end
0074 end
0075
0076 if ishandle(h), delete(h); end
0077
0078
0079
0080
0081 if nargout ~= 1
0082 error('function caller should receive vb_trial_extractor object.');
0083 end
0084