📄 erp_plot_option_ui.m
字号:
%-------------------- time interval selection ----------------------
x = left_margin;
y = (num_line-6) * factor_line;
w = 0.3;
h = 1 * factor_line;
pos = [x y w h];
h1 = uicontrol('parent',h01, ... % x-axis tick interval label
'units','normal', ...
'style','text', ...
'fontunits','normal', ...
'fontsize',0.55, ...
'horizon','left', ...
'back', [0.8 0.8 0.8], ...
'string', 'Time Axis Tick Interval:', ...
'position',pos);
x = x + w;
y = (num_line-6) * factor_line;
w = 0.15;
pos = [x y w h];
x_tick_interval = uicontrol('parent',h01, ... % x-axis select
'units','normal', ...
'style','popupmenu', ...
'fontunits','normal', ...
'fontsize',0.55, ...
'horizon','left', ...
'back', [1 1 1], ...
'string',[' '], ...
'value', 1, ...
'callback', 'erp_plot_option_ui(''select_x_tick_interval'');', ...
'position',pos);
%-------------------- y-axis interval selection -------------------
x = left_margin;
y = (num_line-8) * factor_line;
w = 0.3;
pos = [x y w h];
h1 = uicontrol('parent',h01, ... % y-axis tick interval label
'units','normal', ...
'style','text', ...
'fontunits','normal', ...
'fontsize',0.55, ...
'horizon','left', ...
'back', [0.8 0.8 0.8], ...
'string', 'Amplitude Tick Interval:', ...
'position',pos);
x = x + w;
y = (num_line-8) * factor_line;
w = 0.15;
pos = [x y w h];
y_tick_interval = uicontrol('parent',h01, ... % y-axis select
'units','normal', ...
'style','popupmenu', ...
'fontunits','normal', ...
'fontsize',0.55, ...
'horizon','left', ...
'back', [1 1 1], ...
'string',[' '], ...
'value', 1, ...
'callback', 'erp_plot_option_ui(''select_y_tick_interval'');', ...
'position',pos);
x = left_margin;
y = (num_line-10) * factor_line;
w = 0.3;
pos = [x y w h];
h1 = uicontrol('parent',h01, ... % font size label
'units','normal', ...
'style','text', ...
'fontunit','normal', ...
'fontsize', 0.55, ...
'horizon','left', ...
'back',[0.8 0.8 0.8], ...
'string','Font Size:', ...
'position',pos);
x = x + w;
y = (num_line-10) * factor_line;
w = 0.15;
pos = [x y w h];
font_size_hdl = uicontrol('parent',h01, ... % font size select
'units','normal', ...
'style','popupmenu', ...
'fontunits','normal', ...
'fontsize',0.55, ...
'horizon','left', ...
'back',[1 1 1], ...
'string', ['6 ';'8 ';'10';'11';'12';'14';'16';'18'], ...
'value', 1, ...
'callback', 'erp_plot_ui(''choose_font_size'');', ...
'position',pos);
x = left_margin;
y = (num_line-12) * factor_line;
w = 0.17;
pos = [x y w h];
h1 = uicontrol('parent',h01, ... % wave size label
'units','normal', ...
'style','text', ...
'fontunit','normal', ...
'fontsize', 0.55, ...
'horizon','left', ...
'back',[0.8 0.8 0.8], ...
'string','Wave Size:', ...
'position',pos);
x = x + w;
w = 0.28;
h = 0.8 * factor_line;
pos = [x y w h];
hc_wavesize = uicontrol('parent',h01, ... % wave size slider
'style','slider', ...
'units','normal', ...
'min',0.005, ...
'max',0.3, ...
'value',0.07, ...
'sliderstep',[0.01,0.1], ...
'callback', 'erp_plot_ui(''move_slider'');', ...
'position',pos);
%-------------------- selection button -------------------
x = x + w + 0.1;
y = (num_line-12) * factor_line;
w = 0.15;
h = 1 * factor_line;
pos = [x y w h];
h1 = uicontrol('parent',h01, ... % OK button
'unit','normal', ...
'fontunit','normal', ...
'fontsize',0.55, ...
'horizon','center', ...
'string', 'OK', ...
'callback', 'erp_plot_option_ui(''click_ok'');', ...
'position',pos);
x = x + w + 0.05;
pos = [x y w h];
h1 = uicontrol('parent',h01, ... % Cancel button
'unit','normal', ...
'fontunit','normal', ...
'fontsize',0.55, ...
'hor','center', ...
'string', 'Cancel', ...
'callback', 'erp_plot_option_ui(''click_cancel'');', ...
'position',pos);
x = 0.01;
y = 0;
w = 1;
pos = [x y w h];
h1 = uicontrol('parent',h01, ... % Message Line
'style','text', ...
'units','normal', ...
'horizon','left', ...
'fontunit','normal', ...
'fontsize',0.55, ...
'back',[0.8 0.8 0.8], ...
'fore',[0.8 0.0 0.0], ...
'String','', ...
'tag', 'MessageLine', ...
'position',pos);
wave_order = getappdata(h0,'wave_order'); % [idx,subj_idx,cond_idx]
num_group = getappdata(h0,'num_group');
if view_option == 1
set(cond_in_subj_lbl, 'visible', 'on');
set(cond_in_subj_hdl, 'visible', 'on');
set(subj_in_cond_lbl, 'visible', 'on');
set(subj_in_cond_hdl, 'visible', 'on');
session_info = getappdata(h0,'session_info');
subj_name = session_info.subj_name; % cond_name = ave_name below
selected_subjects = find(getappdata(h0,'selected_subjects'));
subj_name = subj_name(selected_subjects);
if ~isempty(subj_name)
set(cond_in_subj_hdl, 'value', 1, ...
'string', char([{'(none)'} subj_name]));
end
elseif view_option == 2
set(cond_in_subj_lbl, 'visible', 'on');
set(cond_in_subj_hdl, 'visible', 'on');
set(subj_in_cond_lbl, 'visible', 'on', 'string', 'All Grps in:');
set(subj_in_cond_hdl, 'visible', 'on');
for i=1:num_group
subj_name{i} = ['group ' num2str(i)];
end
if ~isempty(subj_name)
set(cond_in_subj_hdl, 'value', 1, ...
'string', char([{'(none)'} subj_name]));
end
elseif view_option == 3
set(rescale_hdl, 'visible', 'on');
elseif view_option == 4
pos = get(h01, 'position');
set(h01, 'position', [pos(1)-0.05 pos(2) pos(3)+0.1 pos(4)]);
pos = get(cond_in_subj_grp, 'position');
set(cond_in_subj_grp, 'visible', 'on', 'position', [pos(1) pos(2) 0.09 pos(4)]);
pos = get(cond_in_subj_lbl, 'position');
set(cond_in_subj_lbl, 'visible', 'on', 'position', [pos(1)+0.1 pos(2) 0.12 pos(4)]);
pos = get(cond_in_subj_grp_hdl, 'position');
set(cond_in_subj_grp_hdl, 'visible', 'on', 'position', [pos(1)+0.09 pos(2) 0.14 pos(4)]);
pos = get(subj_in_cond_grp, 'position');
set(subj_in_cond_grp, 'visible', 'on', 'position', [pos(1) pos(2) 0.09 pos(4)]);
pos = get(subj_in_cond_lbl, 'position');
set(subj_in_cond_lbl, 'visible', 'on', 'position', [pos(1)+0.1 pos(2) 0.12 pos(4)]);
pos = get(subj_in_cond_grp_hdl, 'position');
set(subj_in_cond_grp_hdl, 'visible', 'on', 'position', [pos(1)+0.09 pos(2) 0.14 pos(4)]);
for i=1:num_group
grp_name{i} = ['grp ' num2str(i)];
end
if ~isempty(grp_name)
set(cond_in_subj_grp, 'value', 1, 'string', char(grp_name));
set(subj_in_cond_grp, 'value', 1, 'string', char(grp_name));
end
result_file = getappdata(h0,'datamat_file');
load(result_file, 'datamat_files','common_conditions');
rri_changepath('erpresult');
% grp = get(cond_in_subj_grp, 'value');
grp = 1;
load(datamat_files{grp}, 'session_info', 'selected_subjects');
subj_name = session_info.subj_name(find(selected_subjects));
if ~isempty(subj_name)
set(cond_in_subj_grp_hdl, 'value', 1, ...
'string', char([{'(none)'} subj_name]));
end
elseif view_option == 5
pos = get(h01, 'position');
set(h01, 'position', [pos(1)-0.05 pos(2) pos(3)+0.1 pos(4)]);
pos = get(cond_in_subj_grp_corr, 'position');
set(cond_in_subj_grp_corr, 'visible', 'on', 'position', [pos(1) pos(2) 0.09 pos(4)]);
pos = get(cond_in_subj_lbl, 'position');
set(cond_in_subj_lbl, 'visible', 'on', 'position', [pos(1)+0.1 pos(2) 0.12 pos(4)]);
pos = get(cond_in_subj_grp_corr_hdl, 'position');
set(cond_in_subj_grp_corr_hdl, 'visible', 'on', 'position', [pos(1)+0.09 pos(2) 0.14 pos(4)]);
pos = get(subj_in_cond_grp_corr, 'position');
set(subj_in_cond_grp_corr, 'visible', 'on', 'position', [pos(1) pos(2) 0.09 pos(4)]);
pos = get(subj_in_cond_lbl, 'position');
set(subj_in_cond_lbl, 'visible', 'on', 'position', [pos(1)+0.1 pos(2) 0.12 pos(4)], 'string', 'All Beh in:');
pos = get(subj_in_cond_grp_corr_hdl, 'position');
set(subj_in_cond_grp_corr_hdl, 'visible', 'on', 'position', [pos(1)+0.09 pos(2) 0.14 pos(4)]);
for i=1:num_group
grp_name{i} = ['grp ' num2str(i)];
end
if ~isempty(grp_name)
set(cond_in_subj_grp_corr, 'value', 1, 'string', char(grp_name));
set(subj_in_cond_grp_corr, 'value', 1, 'string', char(grp_name));
end
result_file = getappdata(h0,'datamat_file');
warning off;
load(result_file, 'datamat_files','common_conditions','behavname','bscan');
warning on;
if ~exist('bscan','var') | isempty(bscan)
bscan = 1:sum(common_conditions);
end
rri_changepath('erpresult');
% grp = get(cond_in_subj_grp, 'value');
grp = 1;
load(datamat_files{grp}, 'session_info', 'selected_subjects');
% subj_name = session_info.subj_name(find(selected_subjects));
if ~isempty(behavname) % (subj_name)
set(cond_in_subj_grp_corr_hdl, 'value', 1, ...
'string', char([{'(none)'} behavname]));
end
end
wave_name = getappdata(h0,'wave_name'); % wave_name string
selected_wave = getappdata(h0,'selected_wave'); % based on
% selected_cond & selected_subj
wave_name = wave_name(selected_wave);
wave_selection = getappdata(h0,'wave_selection') + 1;
avg_name = getappdata(h0,'avg_name'); % avg_name string
selected_avg = find(getappdata(h0,'selected_conditions'));
avg_name = avg_name(selected_avg); % = cond_name
avg_selection = getappdata(h0,'avg_selection') + 1;
if view_option == 1
if ~isempty(avg_name)
set(avg_lst_hdl, 'value', avg_selection, ...
'string', char([{'(none)'} avg_name]));
set(subj_in_cond_hdl, 'value', 1, ...
'string', char([{'(none)'} avg_name]));
end
elseif view_option == 2
result_file = getappdata(h0,'datamat_file');
load(result_file, 'datamat_files', 'common_conditions');
rri_changepath('erpresult');
load(datamat_files{1}, 'session_info');
set(subj_in_cond_hdl, 'value', 1, 'string', ...
char([{'(none)'} session_info.condition(find(common_conditions))]));
elseif view_option == 4
avg_name = session_info.condition(find(common_conditions));
set(subj_in_cond_grp_hdl, 'value', 1, ...
'string', char([{'(none)'} avg_name]));
elseif view_option == 5
selected_common = find(common_conditions);
selected_common = selected_common(bscan);
conditions_common = zeros(1,length(common_conditions));
conditions_common(selected_common) = 1;
avg_name = session_info.condition(find(conditions_common));
set(subj_in_cond_grp_corr_hdl, 'value', 1, ...
'string', char([{'(none)'} avg_name]));
end
set(wave_lst_hdl, 'value', wave_selection, ...
'string', char([{'(none)'} wave_name]));
y_interval = getappdata(h0,'y_interval');
y_interval_cell = {};
for i=1:length(y_interval)
y_interval_cell = [y_interval_cell, {sprintf('%g',y_interval(i))}];
end
y_interval = char(y_interval_cell);
set(y_tick_interval, 'string', y_interval);
x_interval = getappdata(h0,'x_interval');
x_interval_cell = {};
for i=1:length(x_interval)
x_interval_cell = [x_interval_cell, {sprintf('%d ms',x_interval(i))}];
end
x_interval = char(x_interval_cell);
set(x_tick_interval, 'string', x_interval);
x_interval_selection = getappdata(h0,'x_interval_selection');
set(x_tick_interval, 'value', x_interval_selection);
y_interval_selection = getappdata(h0,'y_interval_selection');
set(y_tick_interval, 'value', y_interval_selection);
font_size_selection = getappdata(h0,'font_size_selection');
set(font_size_hdl, 'value', font_size_selection);
rescale = getappdata(h0,'rescale');
set(rescale_hdl, 'value', rescale);
eta = getappdata(h0,'eta');
set(hc_wavesize, 'value', eta);
setappdata(h01,'option_fig',h01);
setappdata(h01,'wave_lst_hdl',wave_lst_hdl);
setappdata(h01,'avg_lst_hdl',avg_lst_hdl);
setappdata(h01,'x_tick_interval',x_tick_interval);
setappdata(h01,'y_tick_interval',y_tick_interval);
setappdata(h01,'rescale_hdl',rescale_hdl);
setappdata(h01,'font_size_hdl', font_size_hdl);
setappdata(h01,'hc_wavesize',hc_wavesize);
% the following variables will be assigned by the interactive
% action functions, but may be used before assignment. so,
% initial it
%
setappdata(h01,'wave_selection',getappdata(h0,'wave_selection'));
setappdata(h01,'avg_selection',getappdata(h0,'avg_selection'));
setappdata(h01,'x_interval_selection',getappdata(h0,'x_interval_selection'));
setappdata(h01,'y_interval_selection',getappdata(h0,'y_interval_selection'));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -