0001 function data = vb_signal_processor_update_screen(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 paraemter.');
0018 end
0019
0020
0021
0022
0023 H = data.H;
0024 d = vb_define_signal_processor;
0025
0026
0027
0028 set(H.input_file_listbox, 'String', data.input_files);
0029
0030
0031 selected = get(H.input_file_listbox, 'Value');
0032 if isempty(selected) || selected <= 0
0033 selected = 1;
0034 set(H.input_file_listbox, 'Value', 1);
0035 end
0036 Nfiles = length(data.input_files);
0037 if selected > Nfiles && selected ~= 1
0038 selected = Nfiles;
0039 set(H.input_file_listbox, 'Value', Nfiles);
0040 end
0041
0042
0043 if isempty(data.input_files) || ...
0044 exist(data.input_files{selected}, 'file') ~= 2
0045 set(H.input_file_remove_push, 'Enable', 'off');
0046 set(H.input_file_view_push, 'Enable', 'off');
0047 else
0048 set(H.input_file_remove_push, 'Enable','on');
0049 set(H.input_file_view_push, 'Enable', 'on');
0050 end
0051
0052
0053
0054
0055
0056 H = data.H;
0057 group = [H.file_type_meg_radiobutton; ...
0058 H.file_type_eeg_radiobutton];
0059 set(group, 'Value', 0);
0060
0061
0062 switch(data.file_type)
0063 case 'MEG'
0064 set(H.file_type_meg_radiobutton, 'Value', 1);
0065 case 'EEG'
0066 set(H.file_type_eeg_radiobutton, 'Value', 1);
0067 otherwise
0068 error('Invalid File type was specified.');
0069 end
0070
0071
0072
0073 Nprocess = length(data.process_list);
0074 parm_names = cell(0);
0075 focus_line = get(H.process_list_listbox, 'Value');
0076
0077 for k=1:Nprocess
0078 parm_names{k} = vb_table_query_value(d.type_str_table, ...
0079 data.process_list{k}.type);
0080 end
0081 set(H.process_list_listbox, 'String', parm_names);
0082 if focus_line > Nprocess && focus_line ~= 1
0083 focus_line = Nprocess;
0084 set(H.process_list_listbox, 'Value', Nprocess);
0085 end
0086 btn_proclist = [H.process_list_remove_push, ...
0087 H.process_list_edit_push, ...
0088 H.process_list_view_push, ...
0089 H.process_list_upper_push, ...
0090 H.process_list_lower_push];
0091 if Nprocess == 0
0092 set(btn_proclist, 'Enable', 'off');
0093 else
0094 set(btn_proclist, 'Enable', 'on');
0095 end
0096
0097
0098
0099 if ~isempty(data.process_list)
0100 selected_filt_type = data.process_list{focus_line}.type;
0101 response_filters = {d.TYPE_PROCESSING_HIGHPASS;
0102 d.TYPE_PROCESSING_LOWPASS;
0103 d.TYPE_PROCESSING_BANDPASS;
0104 d.TYPE_PROCESSING_STOPBAND};
0105 set(H.process_list_view_push, 'Enable', 'off');
0106 for k=1:length(response_filters)
0107 if isequal(selected_filt_type, response_filters{k})
0108 set(H.process_list_view_push, 'Enable', 'on');
0109 end
0110 end
0111 end
0112
0113
0114
0115 set(H.output_file_listbox, 'String', data.output_files);
0116 selected = get(H.output_file_listbox, 'Value');
0117 if isempty(selected) || selected <= 0
0118 selected = 1;
0119 set(H.output_file_listbox, 'Value', 1);
0120 end
0121 if selected <= 0|| (selected > Nfiles && selected ~= 1)
0122 selected = Nfiles;
0123 set(H.output_file_listbox, 'Value', Nfiles);
0124 end
0125 if isempty(data.output_files) || ...
0126 exist(data.output_files{selected}, 'file') ~= 2
0127
0128 set(H.output_file_view_push, 'Enable', 'off');
0129 else
0130 set(H.output_file_view_push, 'Enable', 'on');
0131 end
0132
0133 if ~isempty(data.input_files) && ~isempty(data.process_list)
0134 set(H.exec_push, 'Enable', 'on');
0135 else
0136 set(H.exec_push, 'Enable', 'off');
0137 end
0138
0139
0140
0141 if nargout ~= 1
0142 error('function caller should receive data object.');
0143 end
0144