📄 plsgui.m
字号:
return;
%------------------------------------------------------------------------------------
function ChooseERP()
Hc_textPET=findobj(gcf,'Tag','PETLabel');
Hc_textBfMRI=findobj(gcf,'Tag','BfMRILabel');
Hc_textfMRI=findobj(gcf,'Tag','fMRILabel');
Hc_textERP=findobj(gcf,'Tag','ERPLabel');
Hc_textSTRUCT=findobj(gcf,'Tag','STRUCTLabel');
Hc_pushPETsession=findobj(gcf,'Tag','PETSessionProfileButton');
Hc_pushBfMRIsession=findobj(gcf,'Tag','BfMRISessionProfileButton');
Hc_pushfMRIsession=findobj(gcf,'Tag','SessionProfileButton');
Hc_pushERPsession=findobj(gcf,'Tag','ERPSessionProfileButton');
Hc_pushSTRUCTsession=findobj(gcf,'Tag','STRUCTSessionProfileButton');
Hc_pushPETanalysis=findobj(gcf,'Tag','PETAnalysisButton');
Hc_pushBfMRIanalysis=findobj(gcf,'Tag','BfMRIAnalysisButton');
Hc_pushfMRIanalysis=findobj(gcf,'Tag','PLSAnalysisButton');
Hc_pushERPanalysis=findobj(gcf,'Tag','ERPAnalysisButton');
Hc_pushSTRUCTanalysis=findobj(gcf,'Tag','STRUCTAnalysisButton');
Hc_pushPETresult=findobj(gcf,'Tag','PETResultButton');
Hc_pushBfMRIresult=findobj(gcf,'Tag','BfMRIResultButton');
Hc_pushfMRIresult=findobj(gcf,'Tag','PLSResultButton');
Hc_pushERPresult=findobj(gcf,'Tag','ERPResultButton');
Hc_pushSTRUCTresult=findobj(gcf,'Tag','STRUCTResultButton');
h_pet = findobj(gcf,'tag','PETButton');
h_bfmri = findobj(gcf,'tag','BfMRIButton');
h_fmri = findobj(gcf,'tag','fMRIButton');
h_erp = findobj(gcf,'tag','ERPButton');
h_struct = findobj(gcf,'tag','STRUCTButton');
set(gcf,'Name','PLS for ERP data');
set(Hc_textPET,'Visible','off');
set(Hc_textBfMRI,'Visible','off');
set(Hc_textfMRI,'Visible','off');
set(Hc_textERP,'Visible','on');
set(Hc_textSTRUCT,'Visible','off');
set(Hc_pushPETsession,'Visible','off');
set(Hc_pushBfMRIsession,'Visible','off');
set(Hc_pushfMRIsession,'Visible','off');
set(Hc_pushERPsession,'Visible','on');
set(Hc_pushSTRUCTsession,'Visible','off');
set(Hc_pushPETanalysis,'Visible','off');
set(Hc_pushBfMRIanalysis,'Visible','off');
set(Hc_pushfMRIanalysis,'Visible','off');
set(Hc_pushERPanalysis,'Visible','on');
set(Hc_pushSTRUCTanalysis,'Visible','off');
set(Hc_pushPETresult,'Visible','off');
set(Hc_pushBfMRIresult,'Visible','off');
set(Hc_pushfMRIresult,'Visible','off');
set(Hc_pushERPresult,'Visible','on');
set(Hc_pushSTRUCTresult,'Visible','off');
set(h_pet,'back',[0.7 0.7 0.7],'fore',[0 0 0]);
set(h_bfmri,'back',[0.7 0.7 0.7],'fore',[0 0 0]);
set(h_fmri,'back',[0.7 0.7 0.7],'fore',[0 0 0]);
set(h_erp,'back',[0 0 0],'fore',[1 1 1]);
set(h_struct,'back',[0.7 0.7 0.7],'fore',[0 0 0]);
return;
%------------------------------------------------------------------------------------
function ChooseSTRUCT()
Hc_textPET=findobj(gcf,'Tag','PETLabel');
Hc_textBfMRI=findobj(gcf,'Tag','BfMRILabel');
Hc_textfMRI=findobj(gcf,'Tag','fMRILabel');
Hc_textERP=findobj(gcf,'Tag','ERPLabel');
Hc_textSTRUCT=findobj(gcf,'Tag','STRUCTLabel');
Hc_pushPETsession=findobj(gcf,'Tag','PETSessionProfileButton');
Hc_pushBfMRIsession=findobj(gcf,'Tag','BfMRISessionProfileButton');
Hc_pushfMRIsession=findobj(gcf,'Tag','SessionProfileButton');
Hc_pushERPsession=findobj(gcf,'Tag','ERPSessionProfileButton');
Hc_pushSTRUCTsession=findobj(gcf,'Tag','STRUCTSessionProfileButton');
Hc_pushPETanalysis=findobj(gcf,'Tag','PETAnalysisButton');
Hc_pushBfMRIanalysis=findobj(gcf,'Tag','BfMRIAnalysisButton');
Hc_pushfMRIanalysis=findobj(gcf,'Tag','PLSAnalysisButton');
Hc_pushERPanalysis=findobj(gcf,'Tag','ERPAnalysisButton');
Hc_pushSTRUCTanalysis=findobj(gcf,'Tag','STRUCTAnalysisButton');
Hc_pushPETresult=findobj(gcf,'Tag','PETResultButton');
Hc_pushBfMRIresult=findobj(gcf,'Tag','BfMRIResultButton');
Hc_pushfMRIresult=findobj(gcf,'Tag','PLSResultButton');
Hc_pushERPresult=findobj(gcf,'Tag','ERPResultButton');
Hc_pushSTRUCTresult=findobj(gcf,'Tag','STRUCTResultButton');
h_pet = findobj(gcf,'tag','PETButton');
h_bfmri = findobj(gcf,'tag','BfMRIButton');
h_fmri = findobj(gcf,'tag','fMRIButton');
h_erp = findobj(gcf,'tag','ERPButton');
h_struct = findobj(gcf,'tag','STRUCTButton');
set(gcf,'Name','PLS for STRUCT data');
set(Hc_textPET,'Visible','off');
set(Hc_textBfMRI,'Visible','off');
set(Hc_textfMRI,'Visible','off');
set(Hc_textERP,'Visible','off');
set(Hc_textSTRUCT,'Visible','on');
set(Hc_pushPETsession,'Visible','off');
set(Hc_pushBfMRIsession,'Visible','off');
set(Hc_pushfMRIsession,'Visible','off');
set(Hc_pushERPsession,'Visible','off');
set(Hc_pushSTRUCTsession,'Visible','on');
set(Hc_pushPETanalysis,'Visible','off');
set(Hc_pushBfMRIanalysis,'Visible','off');
set(Hc_pushfMRIanalysis,'Visible','off');
set(Hc_pushERPanalysis,'Visible','off');
set(Hc_pushSTRUCTanalysis,'Visible','on');
set(Hc_pushPETresult,'Visible','off');
set(Hc_pushBfMRIresult,'Visible','off');
set(Hc_pushfMRIresult,'Visible','off');
set(Hc_pushERPresult,'Visible','off');
set(Hc_pushSTRUCTresult,'Visible','on');
set(h_pet,'back',[0.7 0.7 0.7],'fore',[0 0 0]);
set(h_bfmri,'back',[0.7 0.7 0.7],'fore',[0 0 0]);
set(h_fmri,'back',[0.7 0.7 0.7],'fore',[0 0 0]);
set(h_erp,'back',[0.7 0.7 0.7],'fore',[0 0 0]);
set(h_struct,'back',[0 0 0],'fore',[1 1 1]);
return;
%-----------------------------------------------------------------------------
function toggle_save_setting
h_save_setting = getappdata(gcf, 'h_save_setting');
save_setting_status = 'off';
curr_dir = pwd;
if isempty(curr_dir)
curr_dir = filesep;
end
try
load('pls_profile');
if strcmp(get(h_save_setting, 'check'), 'on')
save_setting_status = 'off';
set(h_save_setting, 'check', 'off');
else
save_setting_status = 'on';
set(h_save_setting, 'check', 'on');
end
setappdata(gcf, 'save_setting_status', save_setting_status);
pls_profile = which('pls_profile.mat');
save(pls_profile,'-append','save_setting_status');
catch
msg = {'PLS position profile does not exist, do you want to:'};
tit = 'PLS position profile';
response = questdlg(msg,tit,'Create','Open','Cancel','Create');
switch response
case 'Create'
msg = ['Do you want to put it under directory "',curr_dir,'"?'];
tit = 'Confirm directory';
response = questdlg(msg,tit,'Yes','No','Yes');
switch response
case 'Yes'
pls_profile = fullfile(curr_dir,'pls_profile.mat');
try
save_setting_status = 'on';
save(pls_profile, 'save_setting_status');
addpath(curr_dir);
set(h_save_setting, 'check', 'on');
setappdata(gcf, 'save_setting_status', save_setting_status);
catch
msg = ['Can not save "pls_profile.mat" under "',curr_dir,'"'];
msg = [msg, ', Do you want to try another directory?'];
tit = 'Save Error';
pls_profile = [];
response = questdlg(msg,tit,'Yes','No','Yes');
switch response
case 'Yes'
pls_profile = try_new_dir(curr_dir);
if ~isempty(pls_profile)
set(h_save_setting, 'check', 'on');
save_setting_status = 'on';
else
set(h_save_setting, 'check', 'off');
save_setting_status = 'off';
end
case 'No'
pls_profile = [];
save_setting_status = 'off';
end
end
case 'No'
pls_profile = try_new_dir(curr_dir);
if ~isempty(pls_profile)
set(h_save_setting, 'check', 'on');
save_setting_status = 'on';
else
set(h_save_setting, 'check', 'off');
save_setting_status = 'off';
end
end
case 'Open'
[fn, new_dir] = uigetfile('pls_profile.mat', ...
'Open "pls_profile.mat"');
if new_dir == 0
pls_profile = [];
save_setting_status = 'off';
else
try
addpath(new_dir);
load('pls_profile');
pls_profile=which('pls_profile.mat');
save(pls_profile, '-append', 'save_setting_status');
set(h_save_setting, 'check', 'on');
save_setting_status = 'on';
catch
msg = ['Can not save "pls_profile.mat" under ',new_dir];
msg = [msg, ', Do you want to try another directory?'];
tit = 'Save Error';
pls_profile = [];
response = questdlg(msg,tit,'Yes','No','Yes');
switch response
case 'Yes'
pls_profile = try_new_dir(new_dir);
if ~isempty(pls_profile)
set(h_save_setting, 'check', 'on');
save_setting_status = 'on';
end
case 'No'
pls_profile = [];
save_setting_status = 'off';
end
end
end
case 'Cancel'
pls_profile = [];
save_setting_status = 'off';
end
end
setappdata(gcf, 'save_setting_status', save_setting_status);
save(pls_profile, '-append', 'save_setting_status');
return; % toggle_save_setting
%-----------------------------------------------------------------------------
function toggle_save_display
h_save_display = getappdata(gcf, 'h_save_display');
save_display_status = 'off';
curr_dir = pwd;
if isempty(curr_dir)
curr_dir = filesep;
end
try
load('pls_profile');
if strcmp(get(h_save_display, 'check'), 'on')
save_display_status = 'off';
set(h_save_display, 'check', 'off');
else
save_display_status = 'on';
set(h_save_display, 'check', 'on');
end
setappdata(gcf, 'save_display_status', save_display_status);
pls_profile = which('pls_profile.mat');
save(pls_profile,'-append','save_display_status');
catch
msg = {'PLS position profile does not exist, do you want to:'};
tit = 'PLS position profile';
response = questdlg(msg,tit,'Create','Open','Cancel','Create');
switch response
case 'Create'
msg = ['Do you want to put it under directory "',curr_dir,'"?'];
tit = 'Confirm directory';
response = questdlg(msg,tit,'Yes','No','Yes');
switch response
case 'Yes'
pls_profile = fullfile(curr_dir,'pls_profile.mat');
try
save_display_status = 'on';
save(pls_profile, 'save_display_status');
addpath(curr_dir);
set(h_save_display, 'check', 'on');
setappdata(gcf, 'save_display_status', save_display_status);
catch
msg = ['Can not save "pls_profile.mat" under "',curr_dir,'"'];
msg = [msg, ', Do you want to try another directory?'];
tit = 'Save Error';
pls_profile = [];
response = questdlg(msg,tit,'Yes','No','Yes');
switch response
case 'Yes'
pls_profile = try_new_dir(curr_dir);
if ~isempty(pls_profile)
set(h_save_display, 'check', 'on');
save_display_status = 'on';
else
set(h_save_display, 'check', 'off');
save_display_status = 'off';
end
case 'No'
pls_profile = [];
save_display_status = 'off';
end
end
case 'No'
pls_profile = try_new_dir(curr_dir);
if ~isempty(pls_profile)
set(h_save_display, 'check', 'on');
save_display_status = 'on';
else
set(h_save_display, 'check', 'off');
save_display_status = 'off';
end
end
case 'Open'
[fn, new_dir] = uigetfile('pls_profile.mat', ...
'Open "pls_profile.mat"');
if new_dir == 0
pls_profile = [];
save_display_status = 'off';
else
try
addpath(new_dir);
load('pls_profile');
pls_profile=which('pls_profile.mat');
save(pls_profile, '-append', 'save_display_status');
set(h_save_display, 'check', 'on');
save_display_status = 'on';
catch
msg = ['Can not save "pls_profile.mat" under ',new_dir];
msg = [msg, ', Do you want to try another directory?'];
tit = 'Save Error';
pls_profile = [];
response = questdlg(msg,tit,'Yes','No','Yes');
switch response
case 'Yes'
pls_profile = try_new_dir(new_dir);
if ~isempty(pls_profile)
set(h_save_display, 'check', 'on');
save_display_status = 'on';
end
case 'No'
pls_profile = [];
save_display_status = 'off';
end
end
end
case 'Cancel'
pls_profile = [];
save_display_status = 'off';
end
end
setappdata(gcf, 'save_display_status', save_display_status);
save(pls_profile, '-append', 'save_display_status');
return; % toggle_save_display
%-----------------------------------------------------------------------------
function delete_fig
try
load('pls_profile');
pls_profile = which('pls_profile.mat');
save_setting_status = getappdata(gcbf,'save_setting_status');
plsgui_pos = get(gcbf,'position');
if ~isempty(save_setting_status) & ~isempty(plsgui_pos)
save(pls_profile,'-append','save_setting_status','plsgui_pos');
end
catch
end
return; % delete_fig
%-----------------------------------------------------------------------------
function pls_profile = try_new_dir(old_dir)
new_dir = rri_getdirectory({old_dir});
if isempty(new_dir)
pls_profile = [];
return;
end
pls_profile = fullfile(new_dir,'pls_profile.mat');
try
save_setting_status = 'off';
save_display_status = 'off';
save(pls_profile, 'save_setting_status', 'save_display_status');
addpath(new_dir);
catch
msg = ['Can not save "pls_profile.mat" under "',new_dir,'"'];
msg = [msg, ', Do you want to try another directory?'];
tit = 'Save Error';
pls_profile = [];
response = questdlg(msg,tit,'Yes','No','Yes');
switch response
case 'Yes'
pls_profile = try_new_dir(new_dir);
case 'No'
end
end
return; % try_new_dir
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -