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

vb_trial_extractor_create_trigger

PURPOSE ^

Create trigger object from GUI input.

SYNOPSIS ^

function [trig_obj] = vb_trial_extractor_create_trigger(data)

DESCRIPTION ^

 Create trigger object from GUI input.
 [USAGE]
    [trig_obj] = vb_trial_extractor_create_trigger(data);
 [IN]
    data : vb_trial_extractor object
 [OUT]
    trig_obj : trigger 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 [trig_obj] = vb_trial_extractor_create_trigger(data)
0002 % Create trigger object from GUI input.
0003 % [USAGE]
0004 %    [trig_obj] = vb_trial_extractor_create_trigger(data);
0005 % [IN]
0006 %    data : vb_trial_extractor object
0007 % [OUT]
0008 %    trig_obj : trigger object.
0009 %
0010 % Copyright (C) 2011, ATR All Rights Reserved.
0011 % License : New BSD License(see VBMEG_LICENSE.txt)
0012 
0013 %
0014 % --- Previous check
0015 %
0016 if ~exist('data', 'var')
0017     error('data is a required parameter.');
0018 end
0019 
0020 %
0021 % --- Main Procedure
0022 %
0023 
0024 H = data.H;
0025 
0026 % get selected trigger channel
0027 ch_name_list = get(H.trigger_channel_listbox, 'String');
0028 ch_name      = ch_name_list(get(H.trigger_channel_listbox, 'Value'));
0029 Nch          = size(ch_name, 1);
0030 % selected slope
0031 slope_selected = get(H.trigger_slope_popup, 'Value');
0032 slope_item     = get(H.trigger_slope_popup, 'String');
0033 
0034 % Create trigger
0035 trig_type_list  = get(H.trigger_type_popup, 'String');
0036 trig_type = trig_type_list{get(H.trigger_type_popup, 'Value')};
0037 trig_slope = slope_item{slope_selected};
0038 try
0039 switch(trig_type)
0040     case 'analog'
0041         trig_level = str2double(get(H.analog_level_edit, 'String'));
0042         trig_obj = vb_analog_trigger_new(ch_name, trig_slope, trig_level);
0043     case 'voice'
0044         trig_obj = vb_voice_trigger_new(ch_name, ...
0045                    data.voice_parm.optional_parm.status_level, ...
0046                    data.voice_parm.optional_parm.t_period, ...
0047                    data.voice_parm.advanced_parm.p_val, ...
0048                    data.voice_parm.advanced_parm.t_smooth);
0049     case 'emg'
0050         trig_obj = vb_emg_trigger_new(ch_name, ...
0051                    data.emg_parm.optional_parm.status_level, ...
0052                    data.emg_parm.optional_parm.t_event, ...
0053                    data.emg_parm.advanced_parm.t_smooth, ...
0054                    data.emg_parm.optional_parm.t_period, ...
0055                    data.emg_parm.advanced_parm.p_val);
0056     case 'integer'
0057         bitpattern = get(H.integer_level_edit, 'String');
0058         offset  = data.trigger_adjust_parameter.Data_offset;
0059         bitmask = data.trigger_adjust_parameter.Bitmask;
0060         trig_obj = vb_integer_trigger_new(ch_name, trig_slope, bitpattern, bitmask, offset);
0061     case 'bit'
0062         bit_number = uint32(str2double(get(H.bit_level_edit, 'String')));
0063         offset  = data.trigger_adjust_parameter.Data_offset;
0064         bitmask = data.trigger_adjust_parameter.Bitmask;
0065         trig_obj = vb_bit_trigger_new(ch_name, trig_slope, bit_number, bitmask, offset);
0066     case 'multi channel pattern'
0067         table_ix = [];
0068         for k=1:Nch
0069             table_ix = [table_ix; strmatch(ch_name{k}, data.multi_channel_pattern(:, 1), 'exact')];
0070         end
0071         channel_pattern = [data.multi_channel_pattern{table_ix, 2}];
0072         trig_obj = vb_multi_trigger_new(ch_name, trig_slope, channel_pattern);
0073 end
0074 catch
0075     [msg, msg_f] = vb_get_error_msg(lasterror);
0076     errordlg(msg_f, 'Trigger information');
0077     return;
0078 end
0079

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