📄 pet_plot_scores_ui.m
字号:
title(sprintf('Permuted design LV greater than observed, %d permutation tests, %d%% crossblock', perm_result.num_perm, cb(lv_idx)));
else
title(sprintf('Permuted behav LV greater than observed, %d permutation tests, %d%% crossblock', perm_result.num_perm, cb(lv_idx)));
end
end
try
txtbox_hdl = getappdata(gcf,'txtbox_hdl');
delete(txtbox_hdl); % clear rri_txtbox
catch
end
return; % PlotDesignLV
%---------------------------------------------------------------------------
function ToggleLegend
h = findobj(gcf,'Tag','LegendMenu');
legend_state = get(h,'Userdata');
switch (legend_state)
case {0},
set(h,'Userdata',1,'Label','&Hide Legend');
DisplayLegend('on');
case {1},
set(h,'Userdata',0,'Label','&Show Legend');
DisplayLegend('off');
end;
return; % ToggleLegend
%---------------------------------------------------------------------------
function DisplayLegend(on_off)
l_hdls = getappdata(gcf,'LegendHdl');
l_hdls2 = getappdata(gcf,'LegendHdl2');
l_hdls3 = getappdata(gcf,'LegendHdl3');
if ~isempty(l_hdls) & ishandle(l_hdls{1}),
set(l_hdls{1},'Visible',on_off);
num_obj = length(l_hdls{2});
for i=1:num_obj,
set(l_hdls{2}(i),'Visible',on_off);
end;
end
if ~isempty(l_hdls2) & ishandle(l_hdls2{1})
set(l_hdls2{1},'Visible',on_off);
num_obj = length(l_hdls2{2});
for i=1:num_obj,
set(l_hdls2{2}(i),'Visible',on_off);
end;
end
if ~isempty(l_hdls3) & ishandle(l_hdls3{1})
set(l_hdls3{1},'Visible',on_off);
num_obj = length(l_hdls3{2});
for i=1:num_obj,
set(l_hdls3{2}(i),'Visible',on_off);
end;
end
return; % DisplayLegend
%---------------------------------------------------------------------------
function ToggleBrainDesignScores
brain_design_state = getappdata(gcf,'PlotBrainDesignState');
is_design_plot = getappdata(gcf, 'is_design_plot');
switch (brain_design_state)
case {0},
if is_design_plot
m_hdl = findobj(gcf,'Tag','BrainDesignMenu');
set(m_hdl,'Label','Hide &Brain vs Design Scores');
else
m_hdl = findobj(gcf,'Tag','BrainBehavMenu');
set(m_hdl,'Label','Hide &Brain vs Behavior Scores');
end
setappdata(gcf,'PlotBrainDesignState',1);
DisplayBrainDesignScores('on');
% set(findobj(gcf,'Tag','LegendMenu'),'Enable','on');
setappdata(gcf,'PlotDesignLVState',0);
if is_design_plot
m_hdl = findobj(gcf,'Tag','DesignLVMenu');
set(m_hdl,'Label','Show Design &Latent Variables');
else
m_hdl = findobj(gcf,'Tag','BehavLVMenu');
set(m_hdl,'Label','Show Behavior &Latent Variables');
end
case {1},
if is_design_plot
m_hdl = findobj(gcf,'Tag','BrainDesignMenu');
set(m_hdl,'Label','Show &Brain vs Design Scores');
else
m_hdl = findobj(gcf,'Tag','BrainDesignMenu');
set(m_hdl,'Label','Show &Brain vs Behavior Scores');
end
setappdata(gcf,'PlotBrainDesignState',0);
DisplayBrainDesignScores('off');
% set(findobj(gcf,'Tag','LegendMenu'),'Enable','off');
end;
return; % ToggleBrainDesignScores
%---------------------------------------------------------------------------
function DisplayBrainDesignScores(on_off)
design_state = getappdata(gcf,'PlotDesignState');
switch (on_off)
case {'on'},
if (design_state == 1), % need to display design scores
h = getappdata(gcf,'main_axes');
axes(h); cla; set(h,'Visible','off');
set(getappdata(gcf,'top_axes'),'Visible','on');
PlotDesignScores;
set(getappdata(gcf,'bottom_axes'),'Visible','on');
PlotBrainDesignScores;
else
h = getappdata(gcf,'top_axes');
axes(h); cla; set(h,'Visible','off');
h = getappdata(gcf,'bottom_axes');
axes(h); cla; set(h,'Visible','off');
h = getappdata(gcf,'main_axes');
axes(h); cla; set(h,'Visible','on');
PlotBrainDesignScores;
end;
case {'off'},
old_legend = getappdata(gcf,'LegendHdl');
if ~isempty(old_legend),
try
delete(old_legend{1});
catch
end;
end;
% DisplayLegend('off');
if (design_state == 1)
h = getappdata(gcf,'top_axes');
axes(h); cla; set(h,'Visible','off');
h = getappdata(gcf,'bottom_axes');
axes(h); cla; set(h,'Visible','off');
h = getappdata(gcf,'main_axes');
axes(h); cla; set(h,'Visible','on');
PlotDesignScores;
else
h = getappdata(gcf,'main_axes');
axes(h); cla; set(h,'Visible','off');
end;
end; % switch
return; % DisplayBrainDesignScores
%---------------------------------------------------------------------------
function ToggleDesignScores
design_state = getappdata(gcf,'PlotDesignState');
is_design_plot = getappdata(gcf, 'is_design_plot');
switch (design_state)
case {0},
if is_design_plot
m_hdl = findobj(gcf,'Tag','DesignMenu');
set(m_hdl,'Label','Hide &Design Scores');
setappdata(gcf,'PlotDesignState',1);
DisplayDesignScores('on');
setappdata(gcf,'PlotDesignLVState',0);
m_hdl = findobj(gcf,'Tag','DesignLVMenu');
set(m_hdl,'Label','Show Design &Latent Variables');
else
m_hdl = findobj(gcf,'Tag','BehavMenu');
set(m_hdl,'Label','Hide &Behavior Scores');
setappdata(gcf,'PlotDesignState',1);
DisplayDesignScores('on');
setappdata(gcf,'PlotDesignLVState',0);
m_hdl = findobj(gcf,'Tag','BehavLVMenu');
set(m_hdl,'Label','Show Behavior &Latent Variables');
end
case {1},
new_state = 0;
if is_design_plot
m_hdl = findobj(gcf,'Tag','DesignMenu');
set(m_hdl,'Label','Show &Design Scores');
else
m_hdl = findobj(gcf,'Tag','BehavMenu');
set(m_hdl,'Label','Show &Behavior Scores');
end
setappdata(gcf,'PlotDesignState',0);
DisplayDesignScores('off');
end;
return; % ToggleDesignScores
%---------------------------------------------------------------------------
function DisplayDesignScores(on_off)
brain_design_state = getappdata(gcf,'PlotBrainDesignState');
switch (on_off)
case {'on'},
if (brain_design_state == 1), % need to display brain/design scores
h = getappdata(gcf,'main_axes');
axes(h); cla; set(h,'Visible','off');
set(getappdata(gcf,'top_axes'),'Visible','on');
PlotDesignScores;
set(getappdata(gcf,'bottom_axes'),'Visible','on');
PlotBrainDesignScores;
else
h = getappdata(gcf,'top_axes');
axes(h); cla; set(h,'Visible','off');
h = getappdata(gcf,'bottom_axes');
axes(h); cla; set(h,'Visible','off');
h = getappdata(gcf,'main_axes');
axes(h); cla; set(h,'Visible','on');
PlotDesignScores;
end;
case {'off'},
old_legend = getappdata(gcf,'LegendHdl2');
if ~isempty(old_legend),
try
delete(old_legend{1});
catch
end;
end;
if (brain_design_state == 1), % need to display brain/design scores
h = getappdata(gcf,'top_axes');
axes(h); cla; set(h,'Visible','off');
h = getappdata(gcf,'bottom_axes');
axes(h); cla; set(h,'Visible','off');
set(getappdata(gcf,'main_axes'),'Visible','on');
PlotBrainDesignScores;
else
h = getappdata(gcf,'main_axes');
axes(h); cla; set(h,'Visible','off');
end;
end; % switch
return; % DisplayDesignScores
%---------------------------------------------------------------------------
function ToggleDesignLV
designlv_state = getappdata(gcf,'PlotDesignLVState');
is_design_plot = getappdata(gcf, 'is_design_plot');
switch (designlv_state)
case {0},
if is_design_plot
setappdata(gcf,'PlotBrainDesignState',0);
m_hdl = findobj(gcf,'Tag','BrainDesignMenu');
set(m_hdl,'Label','Show &Brain vs Design Scores');
DisplayBrainDesignScores('off');
setappdata(gcf,'PlotDesignState',0);
m_hdl = findobj(gcf,'Tag','DesignMenu');
set(m_hdl,'Label','Show &Design Scores');
DisplayDesignScores('off');
m_hdl = findobj(gcf,'Tag','DesignLVMenu');
set(m_hdl,'Label','Hide Design &Latent Variables');
setappdata(gcf,'PlotDesignLVState',1);
DisplayDesignLV('on');
else
setappdata(gcf,'PlotBrainDesignState',0);
m_hdl = findobj(gcf,'Tag','BrainBehavMenu');
set(m_hdl,'Label','Show &Brain vs Behavior Scores');
DisplayBrainDesignScores('off');
setappdata(gcf,'PlotDesignState',0);
m_hdl = findobj(gcf,'Tag','BehavMenu');
set(m_hdl,'Label','Show &Behavior Scores');
DisplayDesignScores('off');
m_hdl = findobj(gcf,'Tag','BehavLVMenu');
set(m_hdl,'Label','Hide Behavior &Latent Variables');
setappdata(gcf,'PlotDesignLVState',1);
DisplayDesignLV('on');
end
% set(findobj(gcf,'Tag','LegendMenu'),'Enable','off');
case {1},
new_state = 0;
if is_design_plot
m_hdl = findobj(gcf,'Tag','DesignLVMenu');
set(m_hdl,'Label','Show Design &Latent Variables');
setappdata(gcf,'PlotDesignLVState',0);
DisplayDesignLV('off');
setappdata(gcf,'PlotDesignState',1);
m_hdl = findobj(gcf,'Tag','DesignMenu');
set(m_hdl,'Label','Hide &Design Scores');
DisplayDesignScores('on');
setappdata(gcf,'PlotBrainDesignState',1);
m_hdl = findobj(gcf,'Tag','BrainDesignMenu');
set(m_hdl,'Label','Hide &Brain vs Design Scores');
DisplayBrainDesignScores('on');
else
m_hdl = findobj(gcf,'Tag','BehavLVMenu');
set(m_hdl,'Label','Show Behavior &Latent Variables');
setappdata(gcf,'PlotDesignLVState',0);
DisplayDesignLV('off');
setappdata(gcf,'PlotDesignState',1);
m_hdl = findobj(gcf,'Tag','BehavMenu');
set(m_hdl,'Label','Hide &Behavior Scores');
DisplayDesignScores('on');
setappdata(gcf,'PlotBrainDesignState',1);
m_hdl = findobj(gcf,'Tag','BrainBehavMenu');
set(m_hdl,'Label','Hide &Brain vs Behavior Scores');
DisplayBrainDesignScores('on');
end
end;
return; % ToggleDesignLV
%---------------------------------------------------------------------------
function DisplayDesignLV(on_off)
design_state = getappdata(gcf,'PlotDesignState');
brain_design_state = getappdata(gcf,'PlotBrainDesignState');
switch (on_off)
case {'on'},
if (design_state == 1)
ToggleDesignScores;
end;
if (brain_design_state == 1)
ToggleBrainDesignScores;
end;
h = getappdata(gcf,'main_axes');
axes(h); cla; set(h,'Visible','off');
h = getappdata(gcf,'top_axes');
axes(h); cla; set(h,'Visible','on');
h = getappdata(gcf,'bottom_axes');
axes(h); cla; set(h,'Visible','on');
PlotDesignLV;
case {'off'},
old_legend = getappdata(gcf,'LegendHdl3');
if ~isempty(old_legend),
try
delete(old_legend{1});
catch
end;
end;
h = getappdata(gcf,'main_axes');
axes(h); cla; set(h,'Visible','off');
h = getappdata(gcf,'top_axes');
axes(h); cla; set(h,'Visible','off');
% PlotDesignScores;
h = getappdata(gcf,'bottom_axes');
axes(h); cla; set(h,'Visible','off');
PlotBrainDesignScores;
end; % switch
return; % DesignLV
%---------------------------------------------------------------------------
function [brainscores, designscores, designlv, ...
cond_name, subj_name_lst, ...
num_cond_lst, num_subj_lst, s, perm_result, datamat_files, num_grp] = ...
load_pls_scores(result_file, is_design_plot)
brainscores = [];
designscores = [];
designlv = [];
cond_name = [];
subj_name_lst = [];
num_cond_lst = [];
num_subj_lst = [];
s = [];
perm_result = [];
datamat_files = [];
num_grp = 1;
if ~exist('result_file','var') | isempty(result_file),
pattern = '*PETresult.mat';
[result_file, path] = uigetfile(pattern,'Load PLS scores');
if isequal(result_file, 0),
return;
end;
result_file = [path, result_file];
end;
try
warning off;
if(is_design_plot)
load(result_file,'brainscores','designscores','designlv', ...
'b_scores','subj_name_lst', ...
'num_cond_lst','num_subj_lst', 's', ...
'perm_result','datamat_files' );
else
load(result_file,'brainscores','behavscores','behavlv', ...
'b_scores','subj_name_lst', ...
'num_cond_lst','num_subj_lst', 's', ...
'perm_result','datamat_files' );
designscores = behavscores;
designlv = behavlv;
end
warning on;
catch
msg = sprintf('Cannot load the PLS result from file: %s',PLSresultFile);
msgbox(['ERROR: ' msg],'modal');
return;
end;
rri_changepath('petresult');
load(datamat_files{1}, 'session_info'); % load the condition from datamat file
cond_selection = [];
warning off;
try
load(result_file, 'cond_selection');
catch
end
warning on;
if isempty(cond_selection)
cond_selection = ones(1,session_info.num_conditions);
end
cond_name = session_info.condition(find(cond_selection));
if exist('b_scores','var')
brainscores = b_scores;
end
if isempty(num_subj_lst)
num_grp = 1;
else
num_grp = length(num_subj_lst);
end
return; % load_pls_scores
%---------------------------------------------------------------------------
function delete_fig(),
link_info = getappdata(gcbf,'LinkFigureInfo');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -