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

vb_trial_extractor_preview_trial

PURPOSE ^

preview trial list

SYNOPSIS ^

function [data] = vb_trial_extractor_preview_trial(data, view_type)

DESCRIPTION ^

 preview trial list

 [USAGE]
    [data] = vb_trial_extractor_preview_trial(data, view_type);
 [IN]
         data : vb_trial_extractor object
    view_type : = 0 : data & trigger data & trial
                = 1 : data & specific trigger channel & trial
 [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_preview_trial(data, view_type)
0002 % preview trial list
0003 %
0004 % [USAGE]
0005 %    [data] = vb_trial_extractor_preview_trial(data, view_type);
0006 % [IN]
0007 %         data : vb_trial_extractor object
0008 %    view_type : = 0 : data & trigger data & trial
0009 %                = 1 : data & specific trigger channel & trial
0010 % [OUT]
0011 %    data : vb_trial_extractor object
0012 %
0013 % Copyright (C) 2011, ATR All Rights Reserved.
0014 % License : New BSD License(see VBMEG_LICENSE.txt)
0015 
0016 %
0017 % --- Previous check
0018 %
0019 if ~exist('data', 'var')
0020     error('data is a required parameter.');
0021 end
0022 if ~exist('view_type', 'var')
0023     view_type = 0;
0024 end
0025 
0026 %
0027 % --- Main Procedure
0028 %
0029 
0030 H = data.H;
0031 
0032 if isempty(data.continuous_file), return; end
0033 org_file = vb_continuous_file_get_filename(data.continuous_file);
0034 if exist(org_file, 'file') ~= 2
0035     return;
0036 end
0037 trial_set = data.trial_list(data.showing_trial_ix);
0038 trial_list_sec = vb_trial_extractor_convert_trial_into_sec(data, trial_set);
0039 
0040 data_ch_list = data.view_data_ch_list;
0041 ext_trig_ch_list = [];
0042 
0043 % Trigger info
0044 proc_parm_list = [];
0045 selected_trig = [];
0046 val = get(H.trigger_list_listbox, 'Value');
0047 if ~isempty(val) && ~isempty(data.trigger_list)
0048     selected_trig = {data.trigger_list{val}};
0049 end
0050 
0051 
0052 for k=1:length(selected_trig)
0053     trig_parm = vb_trigger_get_parameter(selected_trig{k});
0054     trig_ch_list{k,1} = trig_parm.status_ch{1};
0055     % Digital trigger adjustment parameter
0056     if isfield(trig_parm, 'status_mask') && isfield(trig_parm, 'status_offset')
0057         proc_parm.type    = 'digital_data_adjustment';
0058         proc_parm.ch_name = trig_parm.status_ch{1};
0059         proc_parm.parm.bitmask = trig_parm.status_mask;
0060         proc_parm.parm.offset  = trig_parm.status_offset;
0061         proc_parm_list{length(proc_parm_list)+1} = proc_parm;
0062     end
0063 end
0064 
0065 if view_type == 0 % View extract result( trigger (+ data) (+trial) )
0066     % get channel list from Trigger list
0067     for k=1:size(data.trigger_list, 2)
0068         trig = vb_trigger_get_parameter(data.trigger_list{k});
0069         ext_trig_ch_list = [ext_trig_ch_list; trig.status_ch(:)];
0070     end
0071     if ~get(H.view_trial_with_data_check, 'Value')
0072         data_ch_list = [];
0073     end
0074 
0075 elseif view_type == 1 % View extra channel(raw data)
0076     val = get(H.trigger_channel_listbox, 'Value');
0077     if ~isempty(val)
0078         list = get(H.trigger_channel_listbox, 'String');
0079         ext_trig_ch_list = list(val);
0080         trig_ch_list = [];
0081         proc_parm_list = [];
0082         trial_list_sec = [];
0083     end
0084     if ~get(H.view_trig_with_data_check, 'Value')
0085         data_ch_list = [];
0086     end
0087 elseif view_type == 2 % View selected trigger
0088     val = get(H.trigger_list_listbox, 'Value');
0089     if ~isempty(val)
0090         for k=1:size(val,2)
0091             trig = vb_trigger_get_parameter(data.trigger_list{val(k)});
0092             ext_trig_ch_list = [ext_trig_ch_list; trig.status_ch(:)];
0093         end
0094         trial_list_sec = [];
0095         data_ch_list = [];
0096     end
0097 end
0098 
0099 % Launch viewer
0100 [fig] = vb_timeseries_viewer_new(org_file, 30, data_ch_list, ...
0101                       trial_list_sec, unique(ext_trig_ch_list), proc_parm_list);
0102 
0103 % Set title of figure
0104 labels = cell(0);
0105 if ~isempty(trial_list_sec)
0106     title = [];
0107     label_strs = get(H.tag_listbox, 'String');
0108     label_selected = get(H.tag_listbox, 'Value');
0109     Nselected = length(label_selected);
0110     
0111     for k=1:Nselected
0112         title = [title, label_strs{label_selected(k)} ','];
0113     end
0114     title(end) = '';
0115     set(fig, 'Name', ['Label : (' title ')']);
0116     
0117     if Nselected
0118         labels = label_strs(label_selected);
0119     end
0120 end
0121 
0122 % Save viewer info
0123 if ~isfield(data, 'viewer')
0124     data.viewer = cell(0);
0125 end
0126 
0127 s = struct;
0128 s.figure     = fig;
0129 s.labels     = labels;
0130 data.viewer{length(data.viewer)+1} = s;
0131 
0132 %
0133 % --- After check
0134 %
0135 if nargout ~= 1
0136     error('function caller should receive vb_trial_extractor object.');
0137 end

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