Home > functions > gui > preAnalysis > trial_extractor > vb_trial_extractor_show_tag_trial.m

vb_trial_extractor_show_tag_trial

PURPOSE ^

Display trial list according to selected tags.

SYNOPSIS ^

function [data] = vb_trial_extractor_show_tag_trial(data)

DESCRIPTION ^

 Display trial list according to selected tags.

 [USAGE]
    [data] = vb_trial_extractor_show_tag_trial(data);
 [IN]
    data : vb_trial_extractor object.
 [OUT]
    data : vb_trial_extractor object.

 Copyright (C) 2011, ATR All Rights Reserved.
 License : New BSD License(see VBMEG_LICENSE.txt)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [data] = vb_trial_extractor_show_tag_trial(data)
0002 % Display trial list according to selected tags.
0003 %
0004 % [USAGE]
0005 %    [data] = vb_trial_extractor_show_tag_trial(data);
0006 % [IN]
0007 %    data : vb_trial_extractor object.
0008 % [OUT]
0009 %    data : vb_trial_extractor object.
0010 %
0011 % Copyright (C) 2011, ATR All Rights Reserved.
0012 % License : New BSD License(see VBMEG_LICENSE.txt)
0013 
0014 %
0015 % --- Previous check
0016 %
0017 if ~exist('data', 'var')
0018     error('data is a required parameter.');
0019 end
0020 
0021 %
0022 % --- Main Procedure
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     % Get trial index according to tag
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     % Sort by 'from'
0051     [tmp, time_ix] = sort([trial_set.from]);
0052 
0053     % Store showing trial index sorted by time
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;%[msec]->[sec]
0061       to = vb_index_to_time([trial_set.to], MEGinfo) / 1000;  %[msec]->[sec]
0062     onset =vb_index_to_time([trial_set.onset], MEGinfo) / 1000;%[msec]->[sec]
0063     % show trial list
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     % Update button state
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 % Set trial string
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 % Update caption
0082 set(H.trial_num_text, 'String', sprintf('Trial list[sec] (number of trials = %d)', size(trial_list_str,2)));
0083 
0084 %
0085 % --- After check
0086 %
0087 if nargout ~= 1
0088     error('function caller should receive vb_trial_extractor object.');
0089 end

Generated on Tue 27-Aug-2013 11:46:04 by m2html © 2005