📄 fmri_result_3v_ui.m
字号:
'String','', ...
'Tag','MessageLine');
% File submenu
%
h_file = uimenu('Parent',h0, ...
'Label','&File', ...
'Tag','FileMenu', ...
'Visible','on');
h2 = uimenu(h_file, ...
'Label','&Load Background Image', ...
'Tag','LoadBGImage', ...
'Callback','fmri_result_3v_ui(''LoadBackgroundImage'')');
h2 = uimenu(h_file, ...
'Label','Save brain region to IMG file', ...
'Tag','SaveBGImage', ...
'Callback','fmri_result_3v_ui(''SaveBackgroundImage'')');
h2 = uimenu(h_file, ...
'Label','&Load PLS Result', ...
'Tag','LoadPLSResult', ...
'visible', 'off', ...
'Callback','fmri_result_3v_ui(''LoadResultFile'')');
h2 = uimenu(h_file, ...
'Label','&Save Current Display to the IMG files', ...
'Tag','SaveDisplayToIMG', ...
'Callback','fmri_result_3v_ui(''SaveDisplayToIMG'')');
h2 = uimenu(h_file, ...
'Label','&Save BLV to the IMG files', ...
'Tag','SaveResultToIMG', ...
'Callback','fmri_result_3v_ui(''SaveResultToIMG'')');
rri_file_menu(h0, 0);
h2 = uimenu(h_file, ...
'Label','&Close', ...
'separator', 'on', ...
'Tag','CloseFigure', ...
'Callback','fmri_result_3v_ui(''CloseFigure'');');
% Xhair submenu
%
h_xhair = uimenu('Parent',h0, 'Label','Crosshair');
h2 = uimenu('Parent',h_xhair, ...
'Label','Crosshair off', ...
'Userdata', 0, ...
'Callback','pet_result_3v_ui(''crosshair'')', ...
'Tag','XhairToggleMenu');
h2 = uimenu('Parent',h_xhair, ...
'Label','Color ...', ...
'Userdata', [1 0 0], ...
'Callback','pet_result_3v_ui(''set_xhair_color'')', ...
'Tag','XhairColorMenu');
% Zoom submenu
%
h2 = uimenu('Parent',h0, ...
'Label','&Zoom on', ...
'Userdata', 1, ...
'Callback','fmri_result_3v_ui(''Zooming'')', ...
'Tag','ZoomToggleMenu');
% Rotate submenu
%
h_rot = uimenu('Parent',h0, ...
'Label','&Image Rotation', ...
'visible', 'off', ...
'Tag','RotationMenu');
h2 = uimenu('Parent',h_rot, ...
'Label','&none', ...
'Checked','on', ...
'Callback','fmri_result_3v_ui(''Rotation'',1)', ...
'Tag','Rotate0Menu');
h2 = uimenu('Parent',h_rot, ...
'Label','&90 degree', ...
'Checked','off', ...
'Callback','fmri_result_3v_ui(''Rotation'',2)', ...
'Tag','Rotate90Menu');
h2 = uimenu('Parent',h_rot, ...
'Label','&180 degree', ...
'Checked','off', ...
'Callback','fmri_result_3v_ui(''Rotation'',3)', ...
'Tag','Rotate180Menu');
h2 = uimenu('Parent',h_rot, ...
'Label','&270 degree', ...
'Checked','off', ...
'Callback','fmri_result_3v_ui(''Rotation'',0)', ...
'Tag','Rotate270Menu');
% 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','fmri_result_3v_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','fmri_result_3v_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','fmri_result_3v_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','Temporal Brain Scores Plot', ...
'Tag','OpenBrainScoresPlot', ...
'Callback','fmri_result_3v_ui(''OpenBrainScoresPlot'')');
h2 = uimenu(h_pls, ...
'Label','Temporal Brain Correlation Plot', ...
'Tag','OpenBrainCorrelationPlot', ...
'visible','on', ...
'Callback','fmri_result_3v_ui(''OpenBrainCorrelationPlot'')');
h2 = uimenu(h_pls, ...
'Label','&Response Function Plot', ...
'Tag','OpenRFPlot', ...
'Callback','fmri_result_3v_ui(''OpenResponseFnPlot'')');
h2 = uimenu(h_pls, ...
'Label','&Datamat Correlations Response', ...
'Tag','OpenRF1Plot', ...
'Callback','fmri_result_3v_ui(''OpenCorrelationPlot'')');
h2 = uimenu(h_pls, ...
'Label','&Datamat Correlations Plot', ...
'Tag','OpenDatamatcorrsPlot', ...
'Callback','fmri_result_3v_ui(''OpenDatamatcorrsPlot'')');
h2 = uimenu(h_pls, ...
'Label','&Multiple Voxels Extraction', ...
'Tag','MultipleVoxel', ...
'Callback','fmri_result_ui(''MultipleVoxel'')');
h2 = uimenu(h_pls, ...
'Label','&Contrasts Information', ...
'Tag','OpenContrastWindow', ...
'Callback','fmri_result_3v_ui(''OpenContrastWindow'')');
h2 = uimenu(h_pls, ...
'Label','Create Brain LV &Figure', ...
'separator', 'on', ...
'Tag','PlotNewFigure', ...
'visible', 'off', ...
'Callback','fmri_result_3v_ui(''PlotOnNewFigure'')');
h2 = uimenu(h_pls, ...
'Label','Create Figure', ...
'separator', 'on', ...
'Callback','rri_create_fig_3v');
h2 = uimenu(h_pls, ...
'Label','Axial View Plot', ...
'separator', 'on', ...
'Tag','PlotAxialView', ...
'Callback','close(gcf);');
% 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','fmri_result_3v_ui(''SetClusterReportOptions'')');
h2 = uimenu(h_pls, ...
'Label','&Load Cluster Report', ...
'Tag','LoadClsuterReport', ...
'Callback','fmri_result_3v_ui(''LoadClusterReport'')');
h2 = uimenu(h_pls, ...
'Label','&Create Cluster Report', ...
'Tag','OpenClusterReport', ...
'Callback','fmri_result_3v_ui(''OpenClusterReport'')');
h2 = uimenu(h_pls, ...
'Label','Cluster Mask', ...
'separator', 'on', ...
'check', 'off', ...
'Userdata', 1, ...
'Tag','ClusterMask', ...
'Callback','fmri_result_3v_ui(''ClusterMask'')');
% Help submenu
%
Hm_topHelp = uimenu('Parent',h0, ...
'Label', '&Help', ...
'Tag', 'Help');
Hm_how = uimenu('Parent',Hm_topHelp, ...
'Label', '&How to use this window?', ...
'Callback','rri_helpfile_ui(''fmri_result_hlp.txt'',''How to use PLS RESULT'');', ...
'visible', 'off', ...
'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('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;
rf_corr = getappdata(gcbf,'RFCorrPlotHdl');
if ~isempty(rf_corr) & ishandle(rf_corr)
delete(rf_corr);
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;
bcor_fig = getappdata(gcbf,'BcorPlotHdl');
if ~isempty(bcor_fig) & ishandle(bcor_fig)
delete(bcor_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('fmriresult');
if exist('datamatcorrs_lst','var')
setappdata(gcf,'isbehav',1);
set(findobj(gcf,'tag','OpenRFPlot'), 'visible', 'on');
set(findobj(gcf,'tag','OpenRF1Plot'), 'visible', 'on');
set(findobj(gcf,'tag','OpenDatamatcorrsPlot'), 'visible', 'on');
set(findobj(gcf,'tag','OpenBrainScoresPlot'), 'visible', 'off');
set(findobj(gcf,'tag','OpenBrainCorrelationPlot'), 'visible', 'on');
if exist('ismultiblock','var')
set(findobj(gcf,'tag','OpenBrainScoresPlot'), 'visible', 'on');
end
else
setappdata(gcf,'isbehav',0);
set(findobj(gcf,'tag','OpenRFPlot'), 'visible', 'on');
set(findobj(gcf,'tag','OpenRF1Plot'), 'visible', 'off');
set(findobj(gcf,'tag','OpenDatamatcorrsPlot'), 'visible', 'off');
set(findobj(gcf,'tag','OpenBrainScoresPlot'), 'visible', 'on');
set(findobj(gcf,'tag','OpenBrainCorrelationPlot'), 'visible', 'off');
end
if isfield(boot_result,'compare')
boot_result.compare_brain = boot_result.compare;
end
num_slices = st_dims(4);
if (num_slices > 10)
slice_step = ceil(num_slices / 10);
else
slice_step = 1;
end;
setting = getappdata(gcf,'setting');
if isempty(setting) | ~isfield(setting,'lag_idx')
lag_idx = 0;
else
lag_idx = setting.lag_idx;
end;
if isempty(setting)
lv_idx = 1;
rot_amount = 1;
first_slice = 1;
last_slice = num_slices;
else
lv_idx = setting.lv_idx;
rot_amount = setting.rot_amount;
first_slice = setting.first_slice;
slice_step = setting.slice_step;
last_slice = setting.last_slice;
end;
num_lv = size(brainlv,2);
num_lag = st_win_size - 1;
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);
h = findobj(gcf,'Tag','LagIndexEdit');
set(h,'String',num2str(lag_idx),'Userdata',lag_idx);
h = findobj(gcf,'Tag','LagNumberEdit');
set(h,'String',num2str(num_lag),'Userdata',num_lag);
h = findobj(gcf,'Tag','FirstSlice');
set(h,'String',num2str(first_slice),'Userdata',num_slices);
h = findobj(gcf,'Tag','SliceStep');
set(h,'String',num2str(slice_step),'Userdata',num_slices);
h = findobj(gcf,'Tag','LastSlice');
set(h,'String',num2str(last_slice),'Userdata',num_slices);
setappdata(gcf,'BLVData',brainlv);
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',boot_result.compare_brain);
set_bs_fields(lv_idx,0.05);
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,'CurrLagIdx',lag_idx);
setappdata(gcf,'STDims',st_dims);
setappdata(gcf,'cond_selection',cond_selection);
return; % load_pls_result
%-------------------------------------------------------------------------
%
function OpenResponseFnPlot()
sessionFileList = getappdata(gcbf,'SessionFileList');
setappdata(gcbf,'actualHRF',1);
rf_plot = getappdata(gcbf,'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(gcbf,'Coord');
setappdata(rf_plot,'Coord',cur_coord);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -