0001 function [data] = vb_trial_extractor_show_tag_trial(data)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 if ~exist('data', 'var')
0018 error('data is a required parameter.');
0019 end
0020
0021
0022
0023
0024 H = data.H;
0025 if isempty(get(H.tag_listbox, 'String'))
0026 set(H.tag_file_push, 'Enable', 'off');
0027 set(H.tag_selected_trial_push, 'Enable', 'off');
0028 set(H.trial_set_listbox, 'String', '');
0029 set(H.trial_set_listbox, 'Value', 1);
0030 set(H.preview_push, 'Enable', 'off');
0031 set(H.trial_select_all_push, 'Enable', 'off');
0032 return;
0033 end
0034
0035 selected = get(H.tag_listbox, 'Value');
0036 tags_trial_ix = [];
0037 for k=1:length(selected)
0038 line = selected(k);
0039
0040
0041 tags_trial_ix = [tags_trial_ix; ...
0042 vb_tag_get_trial_index(data.label_list{line})];
0043 end
0044 tags_trial_ix = unique(tags_trial_ix);
0045 trial_set = data.trial_list(tags_trial_ix);
0046 Ntrial = length(trial_set);
0047
0048 trial_list_str = cell(0);
0049 if Ntrial
0050
0051 [tmp, time_ix] = sort([trial_set.from]);
0052
0053
0054 data.showing_trial_ix = tags_trial_ix(time_ix);
0055 trial_set = trial_set(time_ix);
0056
0057 MEGinfo = vb_continuous_file_get_meg_info(data.continuous_file);
0058 MEGinfo = vb_meginfo_set_pre_trigger(MEGinfo, 0);
0059
0060 from = vb_index_to_time([trial_set.from], MEGinfo) / 1000;
0061 to = vb_index_to_time([trial_set.to], MEGinfo) / 1000;
0062 onset =vb_index_to_time([trial_set.onset], MEGinfo) / 1000;
0063
0064 for k=1:Ntrial
0065 trial_list_str{k} = ...
0066 sprintf('%3d : %.3f - %.3f (onset : %.3f)\n', k, ...
0067 from(k), to(k), onset(k));
0068 end
0069
0070
0071 set(H.tag_file_push, 'Enable', 'on');
0072 set(H.tag_selected_trial_push, 'Enable', 'on');
0073 set(H.preview_push, 'Enable', 'on');
0074 set(H.trial_select_all_push, 'Enable', 'on');
0075 end
0076
0077 set(H.trial_set_listbox, 'String', trial_list_str);
0078 if max(get(H.trial_set_listbox, 'Value')) > Ntrial
0079 set(H.trial_set_listbox, 'Value', Ntrial);
0080 end
0081
0082 set(H.trial_num_text, 'String', sprintf('Trial list[sec] (number of trials = %d)', size(trial_list_str,2)));
0083
0084
0085
0086
0087 if nargout ~= 1
0088 error('function caller should receive vb_trial_extractor object.');
0089 end