📄 bfm_result_ui.m
字号:
'Callback','pet_result_ui(''crosshair'')', ...
'Tag','XhairToggleMenu');
h2 = uimenu('Parent',h_xhair, ...
'Label','Color ...', ...
'Userdata', [1 0 0], ...
'Callback','pet_result_ui(''set_xhair_color'')', ...
'Tag','XhairColorMenu');
% Zoom submenu
%
h2 = uimenu('Parent',h0, ...
'Label','&Zoom on', ...
'Userdata', 1, ...
'Callback','bfm_result_ui(''Zooming'')', ...
'Tag','ZoomToggleMenu');
% Rotate submenu
%
h_rot = uimenu('Parent',h0, ...
'Label','&Image Rotation', ...
'Tag','RotationMenu');
h2 = uimenu('Parent',h_rot, ...
'Label','&none', ...
'Checked','on', ...
'Callback','bfm_result_ui(''Rotation'',1)', ...
'Tag','Rotate0Menu');
h2 = uimenu('Parent',h_rot, ...
'Label','&90 degree', ...
'Checked','off', ...
'Callback','bfm_result_ui(''Rotation'',2)', ...
'Tag','Rotate90Menu');
h2 = uimenu('Parent',h_rot, ...
'Label','&180 degree', ...
'Checked','off', ...
'Callback','bfm_result_ui(''Rotation'',3)', ...
'Tag','Rotate180Menu');
h2 = uimenu('Parent',h_rot, ...
'Label','&270 degree', ...
'Checked','off', ...
'Callback','bfm_result_ui(''Rotation'',0)', ...
'Tag','Rotate270Menu');
h2 = uimenu('Parent',h_rot, ...
'Label','Convert Orientation', ...
'separator', 'on', ...
'Callback','bfm_result_ui(''orient'',0)', ...
'visible', 'off', ...
'Tag','orient');
% View submenu
%
h_view = uimenu('Parent',h0, ...
'Label','&View', ...
'Tag','ViewMenu', ...
'Visible','on');
h2 = uimenu('Parent',h_view, ...
'Label','&View Brain LV', ...
'Userdata', 1, ...
'Callback','bfm_result_ui(''Toggle_View'')', ...
'Tag','ViewToggleMenu');
% Window submenu
%
h_pls = uimenu('Parent',h0, ...
'Label','&Windows', ...
'Tag','WindowsMenu', ...
'Visible','on');
h2 = uimenu(h_pls, ...
'Label','&Singular Values Plot', ...
'Tag','OpenEigenPlot', ...
'Callback','bfm_result_ui(''OpenEigenPlot'')');
h2 = uimenu(h_pls, ...
'Label','&Behavior LV and Behavior Scores Plot', ...
'Tag','OpenBehavPlot', ...
'Visible', 'off', ...
'Callback','bfm_result_ui(''OpenScoresPlot'',0)');
h2 = uimenu(h_pls, ...
'Label','&Design Scores and LVs Plot', ...
'Tag','OpenDesignPlot', ...
'Visible', 'off', ...
'Callback','bfm_result_ui(''OpenDesignPlot'')');
h2 = uimenu(h_pls, ...
'Label','B&rain Scores vs. Behavior Data Plot', ...
'Tag','OpenBrainPlot', ...
'Visible', 'off', ...
'Callback','bfm_result_ui(''OpenBrainPlot'')');
h2 = uimenu(h_pls, ...
'Label','&Brain Scores Plot', ...
'Tag','OpenBrainScoresPlot', ...
'visible','off', ...
'Callback','bfm_result_ui(''OpenBrainScoresPlot'')');
h2 = uimenu(h_pls, ...
'Label','&Voxel Intensity Response', ...
'Tag','OpenRFPlot', ...
'Callback','bfm_result_ui(''OpenResponseFnPlot'')');
h2 = uimenu(h_pls, ...
'Label','&Datamat Correlations Response', ...
'Tag','OpenRF1Plot', ...
'Callback','bfm_result_ui(''OpenCorrelationPlot'')');
% 'Callback','bfm_result_ui(''OpenResponseFnPlot'')');
h2 = uimenu(h_pls, ...
'Label','&Datamat Correlations Plot', ...
'Tag','OpenDatamatcorrsPlot', ...
'Callback','bfm_result_ui(''OpenDatamatcorrsPlot'')');
h2 = uimenu(h_pls, ...
'Label','&Multiple Voxels Extraction', ...
'Tag','MultipleVoxel', ...
'Callback','bfm_result_ui(''MultipleVoxel'')');
h2 = uimenu(h_pls, ...
'Label','&Contrasts Information', ...
'Tag','OpenContrastWindow', ...
'Callback','bfm_result_ui(''OpenContrastWindow'')');
h2 = uimenu(h_pls, ...
'Label','Create Brain LV &Figure', ...
'separator', 'on', ...
'Tag','PlotNewFigure', ...
'Callback','bfm_result_ui(''PlotOnNewFigure'')');
h2 = uimenu('Parent',h_pls, ...
'Label','Sagittal View Plot', ...
'separator', 'on', ...
'Tag','PlotSagittalView', ...
'Callback','bfm_result_ui(''PlotSagittalView'')');
h2 = uimenu('Parent',h_pls, ...
'Label','Coronal View Plot', ...
'Tag','PlotCoronalView', ...
'Callback','bfm_result_ui(''PlotCoronalView'')');
h2 = uimenu('Parent',h_pls, ...
'Label','3 Cardinal Plane View', ...
'Tag','Plot3View', ...
'Callback','bfm_result_ui(''Plot3View'')');
% Report submenu
%
h_pls = uimenu('Parent',h0, ...
'Label','&Report', ...
'Tag','WindowsMenu', ...
'Visible','on');
h2 = uimenu(h_pls, ...
'Label','&Set Cluster Report Options', ...
'Tag','SetClusterReportOptions', ...
'Callback','bfm_result_ui(''SetClusterReportOptions'')');
h2 = uimenu(h_pls, ...
'Label','&Load Cluster Report', ...
'Tag','LoadClsuterReport', ...
'Callback','bfm_result_ui(''LoadClusterReport'')');
h2 = uimenu(h_pls, ...
'Label','&Create Cluster Report', ...
'Tag','OpenClusterReport', ...
'Callback','bfm_result_ui(''OpenClusterReport'')');
h2 = uimenu(h_pls, ...
'Label','Cluster Mask', ...
'separator', 'on', ...
'check', 'off', ...
'Userdata', 1, ...
'Tag','ClusterMask', ...
'Callback','bfm_result_ui(''ClusterMask'')');
% Help submenu
%
Hm_topHelp = uimenu('Parent',h0, ...
'Label', '&Help', ...
'Tag', 'Help');
% 'Callback','rri_helpfile_ui(''bfm_result_hlp.txt'',''How to use PLS RESULT'');', ...
Hm_how = uimenu('Parent',Hm_topHelp, ...
'Label', '&How to use this window?', ...
'Callback','web([''file:///'', which(''UserGuide.htm''), ''#_Toc128820735'']);', ...
'visible', 'on', ...
'Tag', 'How');
Hm_new = uimenu('Parent',Hm_topHelp, ...
'Label', '&What''s new', ...
'Callback','rri_helpfile_ui(''whatsnew.txt'',''What''''s new'');', ...
'Tag', 'New');
Hm_about = uimenu('Parent',Hm_topHelp, ...
'Label', '&About this program', ...
'Tag', 'About', ...
'CallBack', 'plsgui_version');
set(gcf,'Name',sprintf('Blocked fMRI BLV Plot: %s',PLSResultFile));
set(colorbar_h,'units','normal');
setappdata(gcf,'Colorbar',colorbar_h);
setappdata(gcf,'BlvAxes',axes_h);
setappdata(gcf,'ClusterMaskSize',4);
setappdata(gcf,'ClusterMinSize',5);
setappdata(gcf,'ClusterMinDist',10);
setappdata(gcf,'img_xhair',[]);
if isempty(setting) | ~isfield(setting,'rescale')
set(findobj(gcf,'Tag','RESCALECheckbox'),'value',0);
else
set(findobj(gcf,'Tag','RESCALECheckbox'),'value',setting.rescale);
end;
setappdata(gcf,'setting',setting);
setappdata(gcf,'old_setting',setting);
setappdata(gcf,'actualHRF',1);
return; % init
%---------------------------------------------------------------------------
%
function DeleteLinkedFigure()
rf_plot = getappdata(gcbf,'RFPlotHdl');
if ~isempty(rf_plot) & ishandle(rf_plot)
delete(rf_plot);
end;
rf1_plot = getappdata(gcbf,'RF1PlotHdl');
if ~isempty(rf1_plot) & ishandle(rf1_plot)
delete(rf1_plot);
end;
scores_fig = getappdata(gcbf,'ScorePlotHdl');
if ~isempty(scores_fig)
delete(scores_fig);
end;
bscores_fig = getappdata(gcbf,'BSPlotHdl');
if ~isempty(bscores_fig) & ishandle(bscores_fig)
delete(bscores_fig);
end;
eigen_fig = getappdata(gcbf,'EigenPlotHdl');
if ~isempty(eigen_fig) & ishandle(eigen_fig)
delete(eigen_fig);
end;
datamatcorrs_fig = getappdata(gcbf,'DatamatcorrsPlotHdl');
if ~isempty(datamatcorrs_fig) & ishandle(datamatcorrs_fig)
delete(datamatcorrs_fig);
end;
brain_fig = getappdata(gcbf,'brain_plot');
if ~isempty(brain_fig) & ishandle(brain_fig)
delete(brain_fig);
end;
contrast_fig = getappdata(gcbf,'ContrastFigHdl');
if ~isempty(contrast_fig) & ishandle(contrast_fig)
delete(contrast_fig);
end;
cluster_hdl = getappdata(gcbf,'cluster_hdl');
if ~isempty(cluster_hdl) & ishandle(cluster_hdl)
delete(cluster_hdl);
end;
return; % DeleteLinkedFigure
%---------------------------------------------------------------------------
%
function rot_amount = load_pls_result()
cond_selection = [];
% wait message
old_pointer = get(gcf,'Pointer');
set(gcf,'Pointer','watch');
msg = 'Loading PLS result ... please wait';
set(findobj(gcf,'Tag','MessageLine'),'String',msg);
h = findobj(gcf,'Tag','ResultFile');
PLSresultFile = get(h,'UserData');
load(PLSresultFile);
rri_changepath('bfmriresult');
if isfield(boot_result,'compare')
boot_result.compare_brain = boot_result.compare;
end
setting = getappdata(gcf,'setting');
bsr = [];
if exist('boot_result','var') & ~isempty(boot_result)
bsr = boot_result.compare_brain;
end
if ~isempty(setting) & isfield(setting,'orient')
dims = setting.orient.dims;
origin_pattern = setting.orient.pattern;
old_coord = st_coords;
new_coord = setting.orient.coords;
if exist('datamatcorrs_lst','var') & ~isempty(datamatcorrs_lst)
for i=1:length(datamatcorrs_lst)
blv = [datamatcorrs_lst{i}]';
blv = rri_xy_orient_data(blv,old_coord,new_coord,dims,origin_pattern);
datamatcorrs_lst{i} = blv';
end
end
brainlv =rri_xy_orient_data(brainlv,old_coord,new_coord,dims,origin_pattern);
if ~isempty(bsr)
bsr =rri_xy_orient_data(bsr,old_coord,new_coord,dims,origin_pattern);
end
set(findobj(gcf,'Tag','PlotSagittalView'),'enable','off');
set(findobj(gcf,'Tag','PlotCoronalView'),'enable','off');
set(findobj(gcf,'Tag','Plot3View'),'enable','off');
end
if exist('datamatcorrs_lst','var')
setappdata(gcf,'isbehav',1);
set(findobj(gcf,'tag','OpenRF1Plot'), 'visible', 'on');
set(findobj(gcf,'tag','OpenRFPlot'), 'visible', 'on');
set(findobj(gcf,'tag','OpenDatamatcorrsPlot'), 'visible', 'on');
else
setappdata(gcf,'isbehav',0);
set(findobj(gcf,'tag','OpenRF1Plot'), 'visible', 'off');
set(findobj(gcf,'tag','OpenRFPlot'), 'visible', 'on');
set(findobj(gcf,'tag','OpenDatamatcorrsPlot'), 'visible', 'off');
end
if isempty(setting)
lv_idx = 1;
rot_amount = 1;
else
lv_idx = setting.lv_idx;
rot_amount = setting.rot_amount;
end;
num_lv = size(brainlv,2);
if exist('behavlv','var') & exist('ismultiblock','var')
set(findobj(gcf,'Tag','OpenBehavPlot'), 'Visible', 'Off');
set(findobj(gcf,'Tag','OpenDesignPlot'), 'Visible', 'On');
set(findobj(gcf,'Tag','OpenBrainPlot'), 'Visible', 'On');
elseif exist('behavlv','var')
set(findobj(gcf,'Tag','OpenBehavPlot'), 'Visible', 'Off');
set(findobj(gcf,'Tag','OpenDesignPlot'), 'Visible', 'Off');
set(findobj(gcf,'Tag','OpenBrainPlot'), 'Visible', 'On');
elseif exist('designlv','var')
set(findobj(gcf,'Tag','OpenBehavPlot'), 'Visible', 'Off');
set(findobj(gcf,'Tag','OpenDesignPlot'), 'Visible', 'On');
set(findobj(gcf,'Tag','OpenBrainPlot'), 'Visible', 'Off');
end
h = findobj(gcf,'Tag','LVIndexEdit');
set(h,'String',num2str(lv_idx),'Userdata',lv_idx);
h = findobj(gcf,'Tag','LVNumberEdit');
set(h,'String',num2str(num_lv),'Userdata',num_lv);
setappdata(gcf,'brainlv',brainlv);
setappdata(gcf, 's', s);
set_blv_fields(lv_idx);
if ~exist('boot_result','var') | isempty(boot_result)
ToggleView(0);
set(findobj(gcf,'Tag','ViewMenu'),'Visible','off');
else % show bootstrap ratio if exist
ToggleView(1);
set(findobj(gcf,'Tag','ViewMenu'),'Visible','on');
% set the bootstrap ratio field values
%
setappdata(gcf,'BSRatio',bsr);
set_bs_fields(lv_idx);
UpdatePValue;
end;
h = findobj(gcf,'Tag','OpenContrastWindow');
if isequal(ContrastFile,'NONE') | isequal(ContrastFile,'BEHAV') | isequal(ContrastFile,'MULTIBLOCK')
set(h,'Visible','off');
else
set(h,'Visible','on');
end;
set(gcf,'Pointer',old_pointer);
set(findobj(gcf,'Tag','MessageLine'),'String','');
setappdata(gcf,'SessionFileList', SessionProfiles);
setappdata(gcf,'RotateAmount',rot_amount);
setappdata(gcf,'CurrLVIdx',lv_idx);
% setappdata(gcf,'STDims',st_dims);
setappdata(gcf,'cond_selection',cond_selection);
return; % load_pls_result
%-------------------------------------------------------------------------
%
function OpenResponseFnPlot()
h = findobj(gcbf,'Tag','ResultFile');
PLSresultFile = get(h,'UserData');
setappdata(gcbf,'actualHRF',1);
% load(PLSresultFile);
rf_plot = getappdata(gcbf,'RFPlotHdl');
if ~isempty(rf_plot)
msg = 'ERROR: Response function plot is already been opened';
set(findobj(gcbf,'Tag','MessageLine'),'String',msg);
return;
end;
rf_plot = bfm_plot_rf_task('LINK',PLSresultFile);
link_info.hdl = gcbf;
link_info.name = 'RFPlotHdl';
setappdata(rf_plot,'LinkFigureInfo',link_info);
setappdata(gcbf,'RFPlotHdl',rf_plot);
% make sure the Coord of the Response Function Plot contains
% the current point in the Response
%
cur_coord = getappdata(gcbf,'Coord');
setappdata(rf_plot,'Coord',cur_coord);
return; %%%%%%
sessionFileList = getappdata(gcbf,'SessionFileList');
rf_plot = getappdata(gcf,'RFPlotHdl');
if ~isempty(rf_plot)
msg = 'ERROR: Response function plot is already been opened';
set(findobj(gcf,'Tag','MessageLine'),'String',msg);
return;
end;
rf_plot = fmri_plot_rf('LINK',sessionFileList);
link_info.hdl = gcbf;
link_info.name = 'RFPlotHdl';
setappdata(rf_plot,'LinkFigureInfo',link_info);
setappdata(gcbf,'RFPlotHdl',rf_plot);
% make sure the Coord of the Response Function Plot contains
% the current point in the Response
%
cur_coord = getappdata(gcf,'Coord');
setappdata(rf_plot,'Coord',cur_coord);
return; % OpenResponseFnPlot
%-------------------------------------------------------------------------
%
function OpenCorrelationPlot
h = findobj(gcbf,'Tag','ResultFile');
PLSresultFile = get(h,'UserData');
setappdata(gcbf,'actualHRF',0);
% load(PLSresultFile);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -